標準のExcelピボットテーブルには、現在の選択に結果がない場合でも、すべてのアイテムを強制的に表示できるフィールドのオプションがあります。オプションは次のとおりです。
ただし、Excel 2010のPowerPivotアドインを使用すると、このオプションはグレー表示されます。すべての結果を強制的に表示させるための回避策はありますか?
シナリオ例-月別の販売バナナの数。 8月にバナナを一切販売しない場合、powerpivotテーブルには8月の列がまったく表示されず、7月から9月にスキップされます。バナナの数が空白かゼロの8月が登場する必要があります。
何か案は?多分DAX式が必要ですか?
[〜#〜] edit [〜#〜]:harrymcの質問に答えるために、PowerPivotウィンドウのこのメニューからピボットテーブルを選択して、このピボットテーブルを作成しました。
実際、これはより良い解決策です。 Alberto Ferrari に感謝します。
Monthsテーブル(つまり、月の名前のリスト、Jan/Feb/Marなど- のリンクされたテーブル は問題なく動作します)を作成し、新しい月テーブルとファクトテーブル。
次に、次のようなメジャーを記述します。
NeverBlankUnits:=IF( ISBLANK( SUM(FruitSales[Units]) )
, 0
, SUM(FruitSales[Units])
)
[〜#〜] edit [〜#〜]:ピボットテーブルに新しい月列を追加すると、デフォルトのソートがイライラすることがありますアルファベット順; 4月、8月、12月、2月...これを回避する方法を示す 素晴らしいチュートリアル を次に示します。
総当たりの方法は、各月のメジャーを作成することです。月の列の1つにデータがある限り、すべての月の列が表示されます。これらすべての個別のメジャーを作成することは非常に面倒ですが、理想的ではありません。
=CALCULATE(
SUM([Units])
,Filter('FruitSales',[Month Name]="August")
)
これは私にとってはうまくいきます:
= if(sum(calender [Date])> 0; if(isblank(sum(Sales_SalesOrderDetail [LineTotal])); 0; sum(Sales_SalesOrderDetail [LineTotal]))))
回避策として、データ分析式(DAX)を使用して空白をゼロに置き換えることができます。
DAXは、ファクトテーブルにデータが存在せず、ピボットテーブルに行を表示させたい場合は常に、空白ではなくゼロを強制できます。
Depts、Divisions、およびNumbersというファクトテーブルを含み、合計する数値を含む単一の列 "D"を持つ単純なワークシートの場合、DAXコードを次のように記述します。
=IF (
COUNTROWS (Divisions) > 0;
IF (ISBLANK (SUM (Numbers[D])), 0, SUM (Numbers[D]))
)
詳細については、次を参照してください。
ExcelのPowerPivotアドインでDAXを使用する方法
PowerPivotのデータ分析式(DAX)
このアプローチは、元々スレッド 行にデータのないアイテムを表示 で提案されていました。