Dans les tableaux croisés dynamiques Excel standard, il existe une option pour les champs qui vous permettent de forcer l'affichage de tous les éléments même s'il n'y a aucun résultat pour votre sélection actuelle. Voici l'option:
Cependant, à l'aide du complément PowerPivot pour Excel 2010, cette option est grisée. Existe-t-il une solution pour que je puisse forcer tous les résultats à apparaître?
Exemple de scénario - nombre de bananes vendues par mois. Si je ne vends aucune banane en août, le tableau powerpivot n'affiche pas du tout de colonne pour août, il saute simplement de juillet à septembre. J'ai besoin d'août pour apparaître, avec soit un nombre vierge de bananes, soit zéro.
Des idées? Peut-être qu'une expression DAX est requise?
EDIT : pour répondre à la question de harrymc, j'ai créé ce tableau croisé dynamique en sélectionnant Tableau croisé dynamique dans ce menu dans la fenêtre PowerPivot.
Réponses:
En fait, c'est une meilleure solution. Merci à Alberto Ferrari pour celui-ci.
Vous devez créer une table Mois (c'est-à-dire une liste de noms de mois, janvier / février / mars, etc. - une table liée fonctionnera très bien) et créer une relation entre votre nouvelle table Mois et votre table de faits.
Écrivez ensuite une mesure comme celle-ci:
EDIT : lorsque vous ajoutez votre colonne de nouveaux mois dans votre tableau croisé dynamique, vous pouvez trouver que le tri par défaut est frustrant par ordre alphabétique; Avril, août, décembre, février ... Voici un excellent tutoriel vous montrant comment contourner ce problème.
la source
Une solution de contournement peut être possible pour utiliser une expression d'analyse de données (DAX) pour remplacer les blancs par des zéros.
DAX peut forcer un zéro au lieu d'un blanc lorsqu'aucune donnée n'existe dans la table de faits mais que vous souhaitez que la ligne apparaisse dans le tableau croisé dynamique.
Pour une simple feuille de calcul avec Depts, Divisions et une table de faits appelée Numbers, et avec une seule colonne "D" contenant un nombre à additionner, écrivez le code DAX de cette manière:
Pour plus d'informations, voir:
Comment utiliser DAX dans les expressions d'analyse de données du complément PowerPivot (DAX) d' Excel
dans PowerPivot
Cette approche a été initialement suggérée dans le fil Afficher les éléments sans données sur les lignes .
la source
Units_2:=IF (COUNTROWS('FruitSales') > 0,IF(ISBLANK (SUM (FruitSales[Units])), 0, SUM (FruitSales[Units])))
. Le tableau croisé dynamique montre uniquement les unités vendues en juillet et septembre.Une méthode de force brute serait de créer une mesure pour chaque mois. Tant qu'une des colonnes du mois contient des données, toutes les colonnes du mois apparaissent. La création de toutes ces mesures individuelles est cependant très fastidieuse - pas idéale.
la source
cela fonctionne pour moi:
= if (sum (calender [Date])> 0; if (isblank (sum (Sales_SalesOrderDetail [LineTotal])); 0; sum (Sales_SalesOrderDetail [LineTotal])))
la source
calendar[Date]
vient-il? Ce n'est pas dans mon exemple de scénario, alors comment avez-vous ajouté cela et comment ce tableau est-il lié dans PowerPivot?