我的措施如下
CALCULATE(SUM(Sales[Value]); FILTER(ALL(Sales); Sales[Month] IN {"01"; "02"}))
在切片机上过滤时,例如Department
Sales值没有变化,它总是停留在3500.即使Sales [Month]列只能是01 02
下面是两个表的一对多关系。
员工
Employee(Unique) Department
Cosmo A1
Kramer A1
Kessler B1
销售
Employee Month Value
Kramer 01 2500
Kramer 03 5000
Kessler 01 500
Cosmo 02 500
使用该度量给出了行1,3和4并返回值3500.如果我选择部门B1,我希望它返回第3行(500)和A1行1和4(3000)。
有没有办法让这种情况发生?我不能在格式中使用“编辑交互”,因为此度量将用于使用其他度量的视觉中。我希望这项措施能够单独负责这种互动。
修改:如果我只检查切片器中的月03
,则该度量仍应显示月01
和02
的值,并继续调整为部门切片器。
Edit2:我在下面有一些问题的照片:
关系
下面的图片显示Value和1& 2_Target都是500.而只有Value应该显示500而1& 2_Target应该是3000.我希望图表只是通过dax公式忽略日期切片器。
答案 0 :(得分:2)
我相信正在发生的事情是你的ALL(Sales)
部分正从切片器中删除部门过滤器上下文。
有多种方法可以解决这个问题。您可以在ALLSELECTED
内使用ALLEXCEPT
或FILTER()
来获得您想要的内容,但您也可以这样做:
= CALCULATE(SUM(Sales[Value]); Sales[Month] IN {"01"; "02"})
在这种情况下,您只需将[Month]
过滤器上下文替换为您想要的内容,而不是触及[Department]
的过滤器上下文。
修改:如果以上操作无效,请尝试重置Sales[Month]
过滤器上下文,然后按如下方式应用特定过滤器:
= CALCULATE(SUM(Sales[Value]); ALL(Sales[Month]); Sales[Month] IN {"01"; "02"})
如果切片器中有月份,则会将这些月传递给过滤器上下文。 ALL()
函数会清除[Month]
的过滤器上下文,然后应用您想要的特定过滤器上下文。
编辑2:我看到你有一个Date
表。请尝试替换
1&2_Target = CALCULATE(SUM(Sales[Value]), ALL(Sales[Date]), Sales[Date] IN {"1", "2"})
用这个
1&2_Target = CALCULATE(SUM(Sales[Value]), ALL('Date'[Date]), Sales[Date] IN {"1", "2"})