Importante: In Excel per Microsoft 365 e in Excel 2021, la Power View viene rimossa il 12 ottobre 2021. In alternativa, è possibile usare l'esperienza visiva interattiva fornita da Power BI Desktop,che è possibile scaricare gratuitamente. È anche possibile importare facilmente le cartelle di lavoro Excel in Power BI Desktop.
Sintomi
Si supponga di usare Power View in Microsoft SharePoint 2013 e che la versione di SQL Server sia SQL Server 2012 Service Pack 2 (SP2) o SQL Server 2014. Quando si prova ad aggiungere più filtri a un report Power View, viene visualizzato il messaggio di errore seguente:
System.ArgumentException: il nome '<Nome filtro>' è stato specificato due volte, in corrispondenza dell'indice 0 e dell'indice 1. I nomi duplicati non sono consentiti.
Nome parametro: keys[1]
in Microsoft.Data.Common.CommandTrees.ExpressionBuilder.Internal.EnumerableValidator'3.Validate(IEnumerable'1 argument, String argumentName, Int32 expectedElementCount, Boolean allowEmpty, Func'3 map, Func'2 collect, Func'3 deriveName)
in Microsoft.Data.Common.CommandTrees.ExpressionBuilder.Internal.EnumerableValidator'3.Validate()
in Microsoft.Data.Common.CommandTrees.ExpressionBuilder.Internal.ArgumentValidation.ValidateGroupBy(Input DbGroupExpressionBinding, chiavi IEnumerable'1, aggregazioni IEnumerable'1, DbExpressionList& validKeys, ReadOnlyCollection'1& validAggregates)
in Microsoft.Reporting.QueryDesign.ExpressionTrees.ExpressionBuilder.Internal.QueryExpressionBuilder.GroupBy(Input QueryGroupExpressionBinding, IEnumerable'1 groupItems, IEnumerable'1 aggregates)
in Microsoft.Reporting.QueryDesign.QueryDefinitionModel.Internal.QdmExpressionBuilder.QdmGroupBy(espressioni IEnumerable'1)
in Microsoft.Reporting.QueryDesign.QueryDefinitionModel.Internal.QdmExpressionBuilder.QdmFilter(IGrouping'2 predicati)
in System.Linq.Enumerable.WhereSelectEnumerableIterator'2.MoveNext()
in System.Linq.Buffer'1..ctor(origine IEnumerable'1)
in System.Linq.Enumerable.ToArray[TSource](origine IEnumerable'1)
in Microsoft.Reporting.QueryDesign.QueryDefinitionModel.Internal.QdmExpressionBuilder.QdmFilters(IEnumerable'1 filterConditions)
in Microsoft.Reporting.QueryDesign.QueryDefinitionModel.Internal.FilterQueryFactory.AddRowCount(QueryBuilder queryBuilder, gruppo di gruppi, entità EntitySet, IEnumerable'1 rowCountFilterContext)
in Microsoft.Reporting.QueryDesign.QueryDefinitionModel.Internal.FilterQueryFactory.CreateValueWithCountQuery(QueryBuilder queryBuilder, List'1 columns, IEdmFieldInstance fieldInstance, FilterCondition availableValueFilter, FilterCondition activeValueRetentionFilter, GroupReference& groupRef)
in Microsoft.Reporting.QueryDesign.QueryDefinitionModel.Internal.FilterQueryFactory.CreateValueListQuery(modello EntityDataModel, IEdmFieldInstance fieldInstance, Int32 topCount, FilterCondition availableValueFilter, FilterCondition activeValueRetentionFilter, IEnumerable'1 exclusionPathSegments, ValueListQuerySchema& schema)
in Microsoft.Reporting.AdHoc.DataStructureManagement.Filtering.Internal.FilterValueQueryFactory.CreateFilterValuesQuery[TFilterMode](TFilterMode filterMode, Int32 maxRowCount, FormulaFilterCondition availableValueFilter, FormulaFilterCondition activeValueRetentionFilter, ValueListQuerySchema& schema)
in Microsoft.Reporting.AdHoc.DataStructureManagement.Filtering.Internal.ListFilterMode.ListDataLoader.<LoadDataImpl>d__15.MoveNext()
in Microsoft.Reporting.AsyncEnumerator.AsyncEnumeratorBase.MoveNextChecked()
in Microsoft.Reporting.AsyncEnumerator.AsyncEnumeratorBase.ResumeIterator(booleano sincrono)
in Microsoft.Reporting.AsyncEnumerator.AsyncEnumeratorBase.BeginExecuteCore(IEnumerator'1 asyncMethod)
in Microsoft.Reporting.AsyncEnumerator.AsyncEnumeratorImpl.BeginExecute(Func'2 asyncMethod)
in Microsoft.Reporting.AsyncEnumerator.BeginExecute(Func'2 asyncMethod, AsyncCallback userCallback, Object userState, AsyncEnumeratorSettings settings)
in Microsoft.Reporting.AdHoc.DataStructureManagement.Filtering.Internal.FilterMode.DataLoader'1.BeginLoadData(AsyncCallback userCallback, Object userState)
in Microsoft.Reporting.AdHoc.DataStructureManagement.Filtering.Internal.FilterMode.DataLoader'1.LoadDataAsync()
in Microsoft.Reporting.AdHoc.DataStructureManagement.Filtering.Internal.FieldFilter.LoadDataAsyncCore()
in Microsoft.Reporting.AdHoc.DataStructureManagement.Filtering.Internal.FilterManager.OnEditCompleted()
in Microsoft.Reporting.AdHoc.DataStructureManagement.Filtering.Internal.PageFilterManager.OnEditCompleted()
in Microsoft.Reporting.AdHoc.DataStructureManagement.Filtering.Internal.FilterManager.OnEditCompleted(EventArgs args)
in Microsoft.Practices.Prism.Events.EventSubscription'1.InvokeAction(Azione'1 azione, argomento TPayload)
in Microsoft.Practices.Prism.Events.EventSubscription'1.<>c__DisplayClass2.<GetExecutionStrategy>b__0(Object[] arguments)
in Microsoft.Practices.Prism.Events.EventBase.InternalPublish(Object[] argomenti)
in Microsoft.Practices.Prism.Events.CompositePresentationEvent'1.Publish(payload TPayload)
in Microsoft.Reporting.AdHoc.DataStructureManagement.Internal.TransactionManager.EditEventAggregator.Exit()
in Microsoft.Reporting.AdHoc.DataStructureManagement.Internal.TransactionManager.EditEventAggregator.SelectionManager_SelectionResumed(Mittente oggetto, EventArgs e)
in Microsoft.Reporting.Util.RaiseEvent(EventHandler eventHandler, Object sender, EventArgs eventArgs)
in Microsoft.Reporting.AdHoc.Shell.Regions.Canvas.Internal.SelectionManager.ResumeSelectionChanges()
in Microsoft.Reporting.AdHoc.Shell.Regions.Canvas.Internal.SelectionManager.<.ctor>b__3(Object s, EventArgs e)
in Microsoft.Reporting.Util.RaiseEvent(EventHandler eventHandler, Object sender, EventArgs eventArgs)
in Microsoft.Reporting.AdHoc.DataManagement.Internal.DataManager.set_HandleRdmChanges(valore booleano)
in Microsoft.Reporting.AdHoc.DataManagement.Internal.DataManager.UndoManager_SuspendRdmHandlingChanged(mittente dell'oggetto, StateChangedEventArgs'1 args)
in Microsoft.Reporting.Util.RaiseEvent[TEventArgs](EventHandler'1 eventHandler, Object sender, TEventArgs eventArgs)
in Microsoft.Reporting.AdHoc.Shell.Services.UndoManagement.Internal.UndoManager.<.ctor>b__0(Object sender, StateChangedEventArgs'1 args)
in Microsoft.Reporting.Util.RaiseEvent[TEventArgs](EventHandler'1 eventHandler, Object sender, TEventArgs eventArgs)
in Microsoft.Reporting.AdHoc.Shell.Services.UndoManagement.Internal.UndoManagerApiProperties.set_SuspendDataManagerRdmHandling(valore booleano)
in Microsoft.Reporting.AdHoc.Shell.Services.UndoManagement.Internal.UndoManagerHasOpenUndoGroupStateImpl.OnUndoGroupCommitting(UndoGroup undoGroup)
in Microsoft.Reporting.AdHoc.Shell.Services.UndoManagement.Internal.UndoManagerHasOpenUndoGroupStateImpl.HandleUndoGroupStateChanged(Object sender, EventArgs args)
in Microsoft.Reporting.Util.RaiseEvent(EventHandler eventHandler, Object sender, EventArgs eventArgs)
in Microsoft.Reporting.AdHoc.Shell.Services.UndoManagement.Internal.UndoGroup.HandleStateEnteredEvent(Object sender, EventArgs args)
in Microsoft.Reporting.Util.RaiseEvent(EventHandler eventHandler, Object sender, EventArgs eventArgs)
in Microsoft.Reporting.AdHoc.Shell.Services.UndoManagement.Internal.UndoGroupCommittingStateImpl.EnterState()
in Microsoft.Reporting.AdHoc.Shell.Services.UndoManagement.Internal.UndoGroup.SetState(UndoGroupStateImpl nextState)
in Microsoft.Reporting.AdHoc.Shell.Services.UndoManagement.Internal.UndoGroupOpenStateImpl.Commit()
in Microsoft.Reporting.AdHoc.Shell.Services.UndoManagement.Internal.UndoGroup.Commit()
in Microsoft.Reporting.AdHoc.DataStructureManagement.Internal.TransactionManager.CompleteTransaction(Transaction transaction, Boolean completedSuccessfully)
in Microsoft.Reporting.AdHoc.DataStructureManagement.Internal.TransactionManager.Transaction.Dispose()
in Microsoft.Reporting.AdHoc.DataStructureManagement.Filtering.Internal.ListFilterMode.SelectOnly(ListFilterRow row)
in Microsoft.Reporting.AdHoc.Shell.Regions.Canvas.Internal.FilterCheckBoxList.FieldValueSelectorButton_Click(Mittente oggetto, RoutedEventArgs e)
in Sistema. Windows. Controls.Primitives.ButtonBase.OnClick()
in Sistema. Windows. Controls.Button.OnClick()
in Sistema. Windows. Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
in Sistema. Windows. Controls.Control.OnMouseLeftButtonUp(Control ctrl, EventArgs e)
presso MS. Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, Int32 actualArgsTypeIndex, String eventName, UInt32 flags)
Risoluzione
Questo problema è stato risolto per la prima volta nell'aggiornamento cumulativo SQL Server.
Aggiornamento cumulativo 1 per SQL Server 2014 SP1 /it-IT/help/3067839
Aggiornamento cumulativo 6 per SQL Server 2014 /it-IT/help/3031047
Aggiornamento cumulativo 4 per SQL Server 2012 SP2 /it-IT/help/3007556
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli aggiornamenti rapidi e tutte le correzioni di sicurezza incluse nell'aggiornamento cumulativo precedente. Vedere gli aggiornamenti cumulativi più recenti per SQL Server:
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".