KB3019110 - CORRECTIF : erreur « Les noms en double ne sont pas autorisés » lorsque vous ajoutez plusieurs filtres au rapport Power View dans SharePoint 2013

S’applique à
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Important

Dans Excel pour Microsoft 365 et Excel 2021, Power View est supprimé le 12 octobre 2021. Vous pouvez également utiliser l’expérience visuelle interactive fournie par Power BI Desktop, que vous pouvez télécharger gratuitement. Vous pouvez également importer facilement des classeurs Excel dans Power BI Desktop.

Symptômes

Supposons que vous utilisez Power View dans Microsoft SharePoint 2013 et que la version de SQL Server est SQL Server 2012 Service Pack 2 (SP2) ou SQL Server 2014. Lorsque vous essayez d’ajouter plusieurs filtres à un rapport Power View, vous recevez le message d’erreur suivant :

Remarque

System.ArgumentException : le nom « Nom du<filtre> » a été spécifié à deux reprises, à l’index 0 et à l’index 1. Les noms en double ne sont pas autorisés.
Nom du paramètre : keys[1]
dans 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)
dans Microsoft.Data.Common.CommandTrees.ExpressionBuilder.Internal.EnumerableValidator'3.Validate()
dans Microsoft.Data.Common.CommandTrees.ExpressionBuilder.Internal.ArgumentValidation.ValidateGroupBy(entrée DbGroupExpressionBinding, clés IEnumerable'1, agrégats IEnumerable'1, DbExpressionList& validKeys, ReadOnlyCollection'1& validAggregates)
sur Microsoft.Reporting.QueryDesign.ExpressionTrees.ExpressionBuilder.Internal.QueryExpressionBuilder.GroupBy(entrée QueryGroupExpressionBinding, IEnumerable'1 groupItems, IEnumerable'1 agrégats)
dans Microsoft.Reporting.QueryDesign.QueryDefinitionModel.Internal.QdmExpressionBuilder.QdmGroupBy(IEnumerable'1 expressions)
dans Microsoft.Reporting.QueryDesign.QueryDefinitionModel.Internal.QdmExpressionBuilder.QdmFilter(IGrouping'2 predicates)
dans System.Linq.Enumerable.WhereSelectEnumerableIterator'2.MoveNext()
dans System.Linq.Buffer'1..ctor(IEnumerable'1 source)
dans System.Linq.Enumerable.ToArray[TSource](IEnumerable'1 source)
sur Microsoft.Reporting.QueryDesign.QueryDefinitionModel.Internal.QdmExpressionBuilder.QdmFilters(IEnumerable'1 filterConditions)
sur Microsoft.Reporting.QueryDesign.QueryDefinitionModel.Internal.FilterQueryFactory.AddRowCount(QueryBuilder queryBuilder, Group group, EntitySet entity, IEnumerable'1 rowCountFilterContext)
sur Microsoft.Reporting.QueryDesign.QueryDefinitionModel.Internal.FilterQueryFactory.CreateValueWithCountQuery(QueryBuilder, queryBuilder, List'1 columns, IEdmFieldInstance, fieldInstance, FilterCondition, availableValueFilter, FilterCondition, activeValueRetentionFilter, GroupReference& groupRef)
sur Microsoft.Reporting.QueryDesign.QueryDefinitionModel.Internal.FilterQueryFactory.CreateValueListQuery(EntityDataModel model, IEdmFieldInstance fieldInstance, Int32 topCount, FilterCondition availableValueFilter, FilterCondition activeValueRetentionFilter, IEnumerable'1 exclusionPathSegments, ValueListQuerySchema& schema)
sur Microsoft.Reporting.AdHoc.DataStructureManagement.Filtering.Internal.FilterValueQueryFactory.CreateFilterValuesQuery[TFilterMode](TFilterMode filterMode, Int32 maxRowCount, FormulaFilterCondition availableValueFilter, FormulaFilterCondition activeValueRetentionFilter, ValueListQuerySchema& schema)
sur Microsoft.Reporting.AdHoc.DataStructureManagement.Filtering.Internal.ListFilterMode.ListDataLoader.<LoadDataImpl>d__15.MoveNext()
sur Microsoft.Reporting.AsyncEnumerator.AsyncEnumeratorBase.MoveNextChecked()
dans Microsoft.Reporting.AsyncEnumerator.AsyncEnumeratorBase.ResumeIterator(Boolean synchronous)
dans Microsoft.Reporting.AsyncEnumerator.AsyncEnumeratorBase.BeginExecuteCore(IEnumerator'1 asyncMethod)
dans Microsoft.Reporting.AsyncEnumerator.AsyncEnumeratorImpl.BeginExecute(Func'2 asyncMethod)
dans Microsoft.Reporting.AsyncEnumerator.BeginExecute(Func'2 asyncMethod, AsyncCallback userCallback, Object userState, AsyncEnumeratorSettings settings)
dans Microsoft.Reporting.AdHoc.DataStructureManagement.Filtering.Internal.FilterMode.DataLoader'1.BeginLoadData(AsyncCallback userCallback, Object userState)
sur Microsoft.Reporting.AdHoc.DataStructureManagement.Filtering.Internal.FilterMode.DataLoader'1.LoadDataAsync()
dans Microsoft.Reporting.AdHoc.DataStructureManagement.Filtering.Internal.FieldFilter.LoadDataAsyncCore()
dans Microsoft.Reporting.AdHoc.DataStructureManagement.Filtering.Internal.FilterManager.OnEditCompleted()
dans Microsoft.Reporting.AdHoc.DataStructureManagement.Filtering.Internal.PageFilterManager.OnEditCompleted()
dans Microsoft.Reporting.AdHoc.DataStructureManagement.Filtering.Internal.FilterManager.OnEditCompleted(EventArgs args)
dans Microsoft.Practices.Prism.Events.EventSubscription'1.InvokeAction(Action'1 action, TPayload argument)
sur Microsoft.Practices.Prism.Events.EventSubscription'1.<>c__DisplayClass2.<GetExecutionStrategy>b__0(Object[] arguments)
dans les arguments Microsoft.Practices.Prism.Events.EventBase.InternalPublish(Object[] arguments)
dans Microsoft.Practices.Prism.Events.CompositePresentationEvent'1.Publish(TPayload payload)
dans Microsoft.Reporting.AdHoc.DataStructureManagement.Internal.TransactionManager.EditEventAggregator.Exit()
à Microsoft.Reporting.AdHoc.DataStructureManagement.Internal.TransactionManager.EditEventAggregator.SelectionManager_SelectionResumed(Expéditeur d’objet, EventArgs e)
dans Microsoft.Reporting.Util.RaiseEvent(EventHandler eventHandler, Object sender, EventArgs eventArgs)
sur Microsoft.Reporting.AdHoc.Shell.Regions.Canvas.Internal.SelectionManager.ResumeSelectionChanges()
sur Microsoft.Reporting.AdHoc.Shell.Regions.Canvas.Internal.SelectionManager.<. ctor>b__3(Object s, EventArgs e)
dans Microsoft.Reporting.Util.RaiseEvent(EventHandler eventHandler, Object sender, EventArgs eventArgs)
à Microsoft.Reporting.AdHoc.DataManagement.Internal.DataManager.set_HandleRdmChanges (valeur booléenne)
à Microsoft.Reporting.AdHoc.DataManagement.Internal.DataManager.UndoManager_SuspendRdmHandlingChanged(Object sender, StateChangedEventArgs'1 args)
dans Microsoft.Reporting.Util.RaiseEvent[TEventArgs](EventHandler'1 eventHandler, Object sender, TEventArgs eventArgs)
sur Microsoft.Reporting.AdHoc.Shell.Services.UndoManagement.Internal.UndoManager.<. ctor>b__0(Object sender, StateChangedEventArgs'1 args)
dans Microsoft.Reporting.Util.RaiseEvent[TEventArgs](EventHandler'1 eventHandler, Object sender, TEventArgs eventArgs)
à Microsoft.Reporting.AdHoc.Shell.Services.UndoManagement.Internal.UndoManagerApiProperties.set_SuspendDataManagerRdmHandling (valeur booléenne)
sur Microsoft.Reporting.AdHoc.Shell.Services.UndoManagement.Internal.UndoManagerHasOpenUndoGroupStateImpl.OnUndoGroupCommitting(UndoGroup, undoGroup)
sur Microsoft.Reporting.AdHoc.Shell.Services.UndoManagement.Internal.UndoManagerHasOpenUndoGroupStateImpl.HandleUndoGroupStateChanged(Object sender, EventArgs args)
dans Microsoft.Reporting.Util.RaiseEvent(EventHandler eventHandler, Object sender, EventArgs eventArgs)
sur Microsoft.Reporting.AdHoc.Shell.Services.UndoManagement.Internal.UndoGroup.HandleStateEnteredEvent(Object sender, EventArgs args)
dans Microsoft.Reporting.Util.RaiseEvent(EventHandler eventHandler, Object sender, EventArgs eventArgs)
sur Microsoft.Reporting.AdHoc.Shell.Services.UndoManagement.Internal.UndoGroupCommittingStateImpl.EnterState()
sur Microsoft.Reporting.AdHoc.Shell.Services.UndoManagement.Internal.UndoGroup.SetState(UndoGroupStateImpl nextState)
dans Microsoft.Reporting.AdHoc.Shell.Services.UndoManagement.Internal.UndoGroupOpenStateImpl.Commit()
sur Microsoft.Reporting.AdHoc.Shell.Services.UndoManagement.Internal.UndoGroup.Commit()
dans Microsoft.Reporting.AdHoc.DataStructureManagement.Internal.TransactionManager.CompleteTransaction(Transaction transaction, Boolean completedSuccessfully)
sur Microsoft.Reporting.AdHoc.DataStructureManagement.Internal.TransactionManager.Transaction.Dispose()
dans Microsoft.Reporting.AdHoc.DataStructureManagement.Filtering.Internal.ListFilterMode.SelectOnly(ListFilterRow row)
à Microsoft.Reporting.AdHoc.Shell.Regions.Canvas.Internal.FilterCheckBoxList.FieldValueSelectorButton_Click(Expéditeur d’objet, RoutedEventArgs e)
dans System.Windows.Controls.Primitives.ButtonBase.OnClick()
dans System.Windows.Controls.Button.OnClick()
dans System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
dans 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)

Résolution

Ce problème a été résolu pour la première fois dans la mise à jour cumulative suivante de SQL Server.
 

Mise à jour cumulative 1 pour SQL Server 2014 SP1 /en-us/help/3067839

Mise à jour cumulative 6 pour SQL Server 2014 /en-us/help/3031047

Mise à jour cumulative 4 pour SQL Server 2012 SP2 /en-us/help/3007556

À propos des mises à jour cumulatives pour SQL Server

Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la mise à jour cumulative précédente. Consultez les dernières mises à jour cumulatives pour SQL Server :

État

Microsoft a confirmé qu’il s’agissait d’un problème dans les produits Microsoft répertoriés dans la section « S’applique à ».