在标准 Excel 数据透视表中,有一个字段选项,即使当前选择没有结果,您也可以强制显示所有项目。以下是该选项:
但是,使用 Excel 2010 的 PowerPivot 插件时,此选项会变灰。有没有解决方法可以强制显示所有结果?
示例场景 - 按月销售的香蕉数量。如果我在 8 月没有销售任何香蕉,则 powerpivot 表根本不会显示 8 月的列,它只会从 7 月跳到 9 月。我需要显示 8 月,并且香蕉数量为空白或为零。
有什么想法吗?也许需要 DAX 表达式?
编辑:回答 harrymc 的问题,我通过从 PowerPivot 窗口的此菜单中选择“数据透视表”创建了此数据透视表。
答案1
答案2
一个解决方法可能是使用数据分析表达式(DAX)将空白替换为零。
当事实表中不存在数据但您希望该行出现在数据透视表中时,DAX 可以强制为零而不是空白。
对于包含部门、分部和名为“数字”的事实表的简单工作表,其中有一列“D”包含要求和的数字,请按如下方式编写 DAX 代码:
=IF (
COUNTROWS (Divisions) > 0;
IF (ISBLANK (SUM (Numbers[D])), 0, SUM (Numbers[D]))
)
更多信息请参阅:
如何在 Excel 的 PowerPivot 插件中使用 DAX
PowerPivot 中的数据分析表达式 (DAX)
此方法最初是在主题中提出的显示没有数据的项目。
答案3
一种强力方法是为每个月创建一个度量。只要其中一个月份列有一些数据,所有月份列都会出现。不过,创建所有这些单独的度量非常繁琐 - 并不理想。
=CALCULATE(
SUM([Units])
,Filter('FruitSales',[Month Name]="August")
)
答案4
这对我有用:
=if(sum(日历[日期])>0;if(isblank(sum(Sales_SalesOrderDetail[LineTotal]));0;sum(Sales_SalesOrderDetail[LineTotal])))