Важно: В Excel для Microsoft 365 Excel 2021 Power View удаляется 12 октября 2021 г. В качестве альтернативы вы можете использовать интерактивный визуальный эффект, предоставляемый Power BI Desktop,который можно скачать бесплатно. Вы также можете легко импортировать книги Excel в Power BI Desktop.
Проблемы
Предположим, что вы используете Power View в Microsoft SharePoint 2013, а версия SQL Server — SQL Server 2012 с пакетом обновления 2 (SP2) или SQL Server 2014. При попытке добавить несколько фильтров в отчет Power View вы получаете следующее сообщение об ошибке:
System.ArgumentException: имя '<имя фильтра>' было дважды указано в индексе 0 и индексе 1. Повторяющиеся имена не допускаются.
Имя параметра: клавиши[1] в Microsoft.Data.Common.CommandTrees.ExpressionBuilder.Internal.EnumerableValidator'3.Validate(IEnumerable'1, String argumentName, Int32 expectedElementCount, Boolean allowEmpty, Func'3 map, Func'2 collect, Func'3 deriveName) в Microsoft.Data.Common.CommandTrees.ExpressionBuilder.Internal.EnumerableValidator'3.Validate() на сайте Microsoft.Data.Common.CommandTrees.ExpressionBuilder.Internal.ArgumentValidation.ValidateGroupBy(DbGroupExpressionBinding input, IEnumerable'1, агрегаты IEnumerable'1, DbExpressionList& validKeys, ReadOnlyCollection'1& validAggregates) at Microsoft.Reporting.QueryDesign.ExpressionTrees.ExpressionBuilder.Internal.QueryExpressionBuilder.GroupBy(QueryGroupExpressionBinding input, IEnumerable'1 groupItems, IEnumerable'1 aggregates) на сайте Microsoft.Reporting.QueryDesign.QueryDefinitionModel.Internal.QdmExpressionBuilder.QdmGroupBy(выражения IEnumerable'1) на сайте Microsoft.Reporting.QueryDesign.QueryDefinitionModel.Internal.QdmExpressionBuilder.QdmFilter(предикаты IGrouping'2) в System.Linq.Enumerable.WhereSelectEnumerableIterator'2.MoveNext() на system.Linq.Buffer'1..ctor(источник IEnumerable'1) на system.Linq.Enumerable.ToArray[TSource](Источник IEnumerable'1) в Microsoft.Reporting.QueryDesign.QueryDefinitionModel.Internal.QdmExpressionBuilder.QdmFilters(IEnumerable'1 filterConditions) в Microsoft.Reporting.QueryDesign.QueryDefinitionModel.Internal.FilterQueryFactory.AddRowCount(QueryBuilder queryBuilder, Group, EntitySet entity, IEnumerable'1 rowCountFilterContext) в Microsoft.Reporting.QueryDesign.QueryDefinitionModel.Internal.FilterQueryFactory.CreateValueWithCountQuery(QueryBuilder queryBuilder, List'1 columns, IEdmFieldInstance fieldInstanceInstance, FilterCondition availableValueFilter, FilterCondition activeValueRetentionFilter, GroupReference& groupRef) на сайте Microsoft.Reporting.QueryDesign.QueryDefinitionModel.Internal.FilterQueryFactory.CreateValueListQuery(модель EntityDataModel, IEdmFieldInstance fieldInstanceInstance, Int32 topCount, FilterCondition availableValueFilter, FilterCondition activeValueRetentionFilter, IEnumerable'1 exclusionPathSegments, ValueListQuerySchema& schema) на сайте Microsoft.Reporting.AdHoc.DataStructureManagement.Filtering.Internal.FilterValueQueryFactory.CreateFilterValuesQuery[TFilterMode](TFilterMode filterMode, Int32 maxRowCount, FormulaFilterCondition availableValueFilter, FormulaFilterCondition activeValueRetentionFilter, ValueListQuerySchema& schema) на сайте Microsoft.Reporting.AdHoc.DataStructureManagement.Filtering.Internal.ListFilterMode.ListDataLoader.<LoadDataImpl>d__15.MoveNext() в Microsoft.Reporting.AsyncEnumerator.AsyncEnumeratorBase.MoveNextChecked() в Microsoft.Reporting.AsyncEnumerator.AsyncEnumeratorBase.ResumeIterator(Boolean synchronous) на сайте Microsoft.Reporting.AsyncEnumerator.AsyncEnumeratorBase.BeginExecuteCore(IEnumerator'1 asyncMethod) в Microsoft.Reporting.AsyncEnumerator.AsyncEnumeratorImpl.BeginExecute(Func'2 asyncMethod) в Microsoft.Reporting.AsyncEnumerator.BeginExecute(Func'2 asyncMethod, AsyncCallback userCallback, Object UserState, AsyncEnumeratorSettings settings) на сайте Microsoft.Reporting.AdHoc.DataStructureManagement.Filtering.Internal.FilterMode.DataLoader'1.BeginLoadData(AsyncCallback userCallback, Object userState) в Microsoft.Reporting.AdHoc.DataStructureManagement.Filtering.Internal.FilterMode.DataLoader'1.LoadDataAsync() на сайте Microsoft.Reporting.AdHoc.DataStructureManagement.Filtering.Internal.FieldFilter.LoadDataAsyncCore() на сайте Microsoft.Reporting.AdHoc.DataStructureManagement.Filtering.Internal.FilterManager.OnEditCompleted() на сайте Microsoft.Reporting.AdHoc.DataStructureManagement.Filtering.Internal.PageFilterManager.OnEditCompleted() на сайте Microsoft.Reporting.AdHoc.DataStructureManagement.Filtering.Internal.FilterManager.OnEditCompleted(EventArgs args) на сайте Microsoft.Practices.Prism.Events.EventSubscription'1.InvokeAction(action'1, аргумент TPayload) на сайте Microsoft.Practices.Prism.Events.EventSubscription'1.<>c__DisplayClass2.<GetExecutionStrategy>b__0(Object[] аргументы) на сайте Microsoft.Practices.Prism.Events.EventBase.InternalPublish(Object[] аргументы) на сайте Microsoft.Practices.Prism.Events.CompositePresentationEvent'1.Publish(TPayload payload) на сайте Microsoft.Reporting.AdHoc.DataStructureManagement.Internal.TransactionManager.EditEventAggregator.Exit() в Microsoft.Reporting.AdHoc.DataStructureManagement.Internal.TransactionManager.EditEventAggregator.SelectionManager_SelectionResumed(отправитель объектов, EventArgs e) на сайте Microsoft.Reporting.Util.RaiseEvent(EventHandler eventHandler, Object sender, EventArgs eventArgs) на сайте Microsoft.Reporting.AdHoc.Shell.Regions.Canvas.Internal.SelectionManager.ResumeSelectionChanges() на сайте Microsoft.Reporting.AdHoc.Shell.Regions.Canvas.Internal.SelectionManager.<.ctor>b__3(Object s, EventArgs e) на сайте Microsoft.Reporting.Util.RaiseEvent(EventHandler eventHandler, Object sender, EventArgs eventArgs) в Microsoft.Reporting.AdHoc.DataManagement.Internal.DataManager.set_HandleRdmChanges(boolean value) на Microsoft.Reporting.AdHoc.DataManagement.Internal.DataManager.UndoManager_SuspendRdmHandlingChanged(отправитель объекта, StateChangedEventArgs'1 args) на сайте Microsoft.Reporting.Util.RaiseEvent[TEventArgs](EventHandler'1, object sender, TEventArgs eventArgs) на сайте Microsoft.Reporting.AdHoc.Shell.Services.UndoManagement.Internal.UndoManager.<.ctor>b__0(object sender, StateChangedEventArgs'1 args) на сайте Microsoft.Reporting.Util.RaiseEvent[TEventArgs](EventHandler'1, object sender, TEventArgs eventArgs) в Microsoft.Reporting.AdHoc.Shell.Services.UndoManagement.Internal.UndoManagerApiProperties.set_SuspendDataManagerRdmHandling(boolean value) на сайте Microsoft.Reporting.AdHoc.Shell.Services.UndoManagement.Internal.UndoManagerHasOpenUndoGroupStateImpl.OnUndoGroupCommitting(UndoGroup undoGroup) на сайте Microsoft.Reporting.AdHoc.Shell.Services.UndoManagement.Internal.UndoManagerHasOpenUndoGroupStateImpl.HandleUndoGroupStateChanged(Object Sender, EventArgs args) в Microsoft.Reporting.Util.RaiseEvent(EventHandler eventHandler, Object sender, EventArgs eventArgs) на сайте Microsoft.Reporting.AdHoc.Shell.Services.UndoManagement.Internal.UndoGroup.HandleStateEnteredEvent(object sendererer, EventArgs args) в Microsoft.Reporting.Util.RaiseEvent(EventHandler eventHandler, Object sender, EventArgs eventArgs) на сайте Microsoft.Reporting.AdHoc.Shell.Services.UndoManagement.Internal.UndoGroupCommittingStateImpl.EnterState() на сайте Microsoft.Reporting.AdHoc.Shell.Services.UndoManagement.Internal.UndoGroup.SetState(UndoGroupStateImpl nextState) на сайте Microsoft.Reporting.AdHoc.Shell.Services.UndoManagement.Internal.UndoGroupOpenStateImpl.Commit() на сайте Microsoft.Reporting.AdHoc.Shell.Services.UndoManagement.Internal.UndoGroup.Commit() на сайте Microsoft.Reporting.AdHoc.DataStructureManagement.Internal.TransactionManager.CompleteTransaction(Транзакция, Boolean completedSuccessfully) на сайте Microsoft.Reporting.AdHoc.DataStructureManagement.Internal.TransactionManager.Transaction.Dispose() на сайте Microsoft.Reporting.AdHoc.DataStructureManagement.Filtering.Internal.ListFilterMode.SelectOnly(строка ListFilterRow) на Microsoft.Reporting.AdHoc.Shell.Regions.Canvas.Internal.FilterCheckBoxList.FieldValueSelectorButton_Click(отправитель объекта, RoutedEventArgs e) в system. Windows. Controls.Примитивы.ButtonBase.OnClick() на system. Windows. Controls.Button.OnClick() в system. Windows. Controls.Примитивы.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e) на system. Windows. Controls.Control.OnMouseLeftButtonUp(Control ctrl, EventArgs e) на ms. Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, Int32 actualArgsTypeIndex, String eventName, UInt32 flags)Решение
Эта проблема была впервые устранена в следующем накопительном обновлении SQL Server.
Накопительный итог обновления 1 SQL Server 2014 с sp1 /help/3067839
Накопительный итог обновления 6 SQL Server 2014 г./help/3031047
Накопительный итог обновления 4 SQL Server 2012 с sp2 /help/3007556
Каждое новое накопительное обновление для SQL Server содержит все исправления и исправления для системы безопасности, которые были включены в предыдущее накопительное обновление. Ознакомьтесь с последними накопительными обновлениями для SQL Server:
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".