我有一个带有2个切片器的数据透视表来管理人口(上午/下午;访问类型),3个子组,其中ID和名称为行,3个计算度量为列:
1.基本计数公式:=COUNTROWS(Visit)
2.长中位数公式:
=(MINX (FILTER (VALUES (Visit[Colum1]),
CALCULATE (COUNT (Visit[Colum1]), Visit[Colum1]
<= EARLIER (Visit[Colum1])) > COUNT ( Visit[Colum1]) / 2), Visit[Colum1]...
3.查找/ SUM公式:=IF(CALCULATE(SUM(PE_new[DenominatorNBR2]), RELATEDTABLE(Visit)) < 30, BLANK(), CALCULATE(SUM(PE_new[NumeratorNBR2]), RELATEDTABLE(Visit)) / CALCULATE(SUM(PE_new[DenominatorNBR2]), RELATEDTABLE(Visit)))
我试图找到解决方案的问题是在C列中仅显示值等于或大于10的行(Measure 1(Sum)) . 我可以使用ID值或名称列的“值过滤器”,但在这种情况下,小计也将更改(减少记录数)但我需要显示每个组的小计作为一个整体,而不仅仅是这些行的计算超过10个值 .
有没有办法为小计写入/更改DAX公式,它会计算整个组的值,而不考虑“值过滤器”?或者可能还有其他选项只显示值等于或大于10的行但是在小计中计算整个组的值?
将不胜感激任何帮助!
这是原始表:
这就是我现在得到的(小计基于当前/过滤的枢轴记录:C列(测量1(总和))中等于或大于10的值):
寻找这个结果(每个小组作为一个整体显示小计):
带有“值过滤器”过滤器的屏幕截图:
1 回答
您可以使用
HASONEVALUE
的ISFILTERED
等函数将度量设置为根据是否为小计而进行不同的计算 . 因此,如果您使用"values filters"来限制您看到的行,您仍然可以通过使用适当的过滤器上下文来获取包含所有行的小计 .例如,对于基本计数,你可以写这样的东西
ALLEXCEPT
函数删除除指定列之外的所有过滤器上下文 . 同样的模式也适用于其他措施:Edit: 为了回应您的评论,从值过滤中获取单独的切片器选择有点棘手,因为DAX测量对待它们的方式类似 . 但是,如果它们在不同的列上进行切片/过滤,那么它应该是可能的 .
例如,如果你在
ID
上有一个切片器,那么你可以将该列作为另一个参数传递给ALLEXCEPT
函数:ALLEXCEPT(Visit, Visit[Group], Visit[ID])
. 这样可以防止它删除ID
上的切片器过滤 .在保留切片器选择的同时删除过滤器上下文的标准方法是使用
ALLSELECTED
. 但是,这也会保留值过滤 .您可以使用这些类型的组合来获取所需的特定过滤器上下文 . 例如,
将以
AND
方式组合所有这些参数 .ALLSELECTED(Visit)
将保留所有切片器和值过滤(但不包括数据透视表上下文),ALL(Visit[Name])
将删除Name
列上的值过滤(以及该列上的任何切片器选择),Visit[Group]
将设置过滤器上下文Group
列只是当前表中由上述变量定义的当前行的Group
值 .我无法保证这个特定的组合适用于您的特定设置,因为我不知道您拥有的所有列和切片器等等,但它应该让您了解您可以尝试的类型 .