首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于切割器选择的开关和输出SELECTEDVALUE的DAX

基于切割器选择的开关和输出SELECTEDVALUE的DAX
EN

Stack Overflow用户
提问于 2018-11-12 19:22:42
回答 1查看 9.2K关注 0票数 1

我有一列显示“订单”的老化小时数("AgingHours")。如果"AgingHours“值大于切片器中选定的值,则我希望创建另一个名为”老化“的列,否则为0。用户可以从切割机中选择"1 Hr“、"2小时”或"3小时“。

例如:

创建了一个名为AgingDateHourDay的切片器。用户从切片器中选择“2Hrs”(这意味着"AgingHours“列中的任何内容,即>= 2将在”老化“列中输出1。下面这一栏的产出将是:

代码语言:javascript
复制
Order AgingHours Aged
A          1       0
B          2       1

我尝试使用基于所选内容的IF语句创建计算列,但每个值都显示为0。

代码语言:javascript
复制
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
    )
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-12 20:21:01

计算的列只在加载数据时计算一次。因此,它们无法响应报表页上的任何切片器或筛选。

特别是,SELECTEDVALUE( AgingDate[HourDay] )返回一个空白值(因为它不知道您选择了哪个值),这意味着您的SWITCH采用了0的其他值。

如果您使用相同的代码作为度量,那么只要您在引用[AgingHours]时也使用表名,它就会正常工作。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53268765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档