標準的なExcelのピボットテーブルでは、フィールドにオプションがあり、現在選択している項目の結果がない場合でも、すべての項目を強制的に表示させることができます。ここではそのオプションを紹介します
しかし、Excel 2010 の PowerPivot アドインを使用すると、このオプションはグレーアウトされます。すべての結果を強制的に表示するための回避策はありますか?
シナリオ例 – 月別に販売されたバナナの数。8月にバナナを販売しなかった場合、パワーピボットテーブルには8月の列が全く表示されず、7月から9月までスキップされます。8月のバナナの数が空欄かゼロのどちらかで表示される必要があります
何かアイデアはありますか?もしかしてDAX式が必要なのかな?
EDIT: harrymcさんの質問に答えるために、PowerPivotウィンドウのこのメニューからPivotTableを選択して、このPivotTableを作成しました
12 None 2013-09-27
実際には、これはより良い解決策です。この1つのためのアルベルト・フェラーリに感謝します
あなたは月のテーブルを構築する必要があります (月の名前のリスト、1月/2月/3月など – リンクされたテーブルはちょうどよく動作します) そして、あなたの新しい月のテーブルとあなたの事実のテーブルの間の関係を作成します
では、このような小節を書いてみましょう
NeverBlankUnits:=IF( ISBLANK( SUM(FruitSales[Units]) )
, 0
, SUM(FruitSales[Units])
)
EDIT: 新しい月の列をピボットテーブルに追加すると、デフォルトのソートがアルファベット順になっていてイライラすることがあります; Apr, Aug, Dec, Feb…ここに素晴らしいチュートリアルがあります
5 Andi Mohr 2013-11-07
回避策としては、データ解析式(DAX)を使用して空白をゼロに置き換えることが考えられます
DAXでは、ファクト・テーブルにデータが存在しないが、PivotTableに行を表示させたい場合に、空白の代わりにゼロを強制的に指定することができます
Depts、Divisions、およびNumbersと呼ばれるファクト・テーブルを持つ単純なワークシートで、1つの列 “D “に合計する数値が含まれている場合は、このようにDAXコードを記述します
=IF (
COUNTROWS (Divisions) > 0;
IF (ISBLANK (SUM (Numbers[D])), 0, SUM (Numbers[D]))
)
詳細については、以下を参照してください: Excel の PowerPivot アドインで DAX を使用する方法 PowerPivot でのデータ分析式 (DAX)
このアプローチはもともとスレッド Show Items With No Data on Rows で提案されていました
0 harrymc 2013-10-03
ブルートフォースの方法は、各月のメジャーを作成することです。月の列の1つにデータがある限り、すべての月の列が表示されます。これらの個別のメジャーをすべて作成するのは非常に面倒ですが、理想的ではありません
=CALCULATE(
SUM([Units])
,Filter('FruitSales',[Month Name]="August")
)
0 Andi Mohr 2013-10-07
これは私のために機能します
=if(sum(calender[Date])>0;if(isblank(sum(Sales_SalesOrderDetail[LineTotal]));0;sum(Sales_SalesOrderDetail[LineTotal])))
0 Jens 2014-11-24