我有一列显示“订单”的老化小时数("AgingHours")。如果"AgingHours“值大于切片器中选定的值,则我希望创建另一个名为”老化“的列,否则为0。用户可以从切割机中选择"1 Hr“、"2小时”或"3小时“。
例如:
创建了一个名为AgingDateHourDay的切片器。用户从切片器中选择“2Hrs”(这意味着"AgingHours“列中的任何内容,即>= 2将在”老化“列中输出1。下面这一栏的产出将是:
Order AgingHours Aged
A 1 0
B 2 1我尝试使用基于所选内容的IF语句创建计算列,但每个值都显示为0。
Aged =
SWITCH (
SELECTEDVALUE( AgingDate[HourDay] ),
"1 Hr", IF ( [AgingHours] >= 1, 1, 0 ),
"2 Hrs", IF ( [AgingHours] >= 2, 1, 0 ),
"3 Hrs", IF ( [AgingHours] >= 3, 1, 0 ),
0
)发布于 2018-11-12 20:21:01
计算的列只在加载数据时计算一次。因此,它们无法响应报表页上的任何切片器或筛选。
特别是,SELECTEDVALUE( AgingDate[HourDay] )返回一个空白值(因为它不知道您选择了哪个值),这意味着您的SWITCH采用了0的其他值。
如果您使用相同的代码作为度量,那么只要您在引用[AgingHours]时也使用表名,它就会正常工作。
https://stackoverflow.com/questions/53268765
复制相似问题