【问题标题】:DAX if else for measureDAX if else 用于衡量
【发布时间】:2017-01-17 06:59:32
【问题描述】:

如何在度量中将 if else 用于 DAX。如果行值 =1 则取 var a 计算值,否则取 var b 计算值

x:=var a=[DATA1] var b=[DATA2] return(if([HOUR]=1),a,b)

我使用上面的公式得到错误

【问题讨论】:

    标签: if-statement return dax tabular measure


    【解决方案1】:

    您的问题似乎是您在创建度量时没有聚合列。度量仅适用于在给定上下文中聚合数据,通常如果您想按行执行计算,您应该使用计算列而不是度量。

    计算列的 DAX 表达式应该是:

    MyColumn = IF([HOUR] = 1, [DATA1], [DATA2])
    

    否则,如果您想使用度量,则必须明确聚合给定上下文中的列值,即:

    MyMeasure =
    VAR a =
        FIRSTNONBLANK ( ExampleTable[Data1], 0 )
    VAR b =
        FIRSTNONBLANK ( ExampleTable[Data2], 0 )
    RETURN
        IF ( SUM ( ExampleTable[Hour] ) = 1, a, b )
    

    或者简单地说:

    MyMeasure =
    IF (
        SUM ( [Hour] ) = 1,
        FIRSTNONBLANK ( ExampleTable[Data1], 0 ),
        FIRSTNONBLANK ( ExampleTable[Data2], 0 )
    )
    

    如果这有帮助,请告诉我。

    【讨论】:

      猜你喜欢
      • 2022-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-14
      • 1970-01-01
      • 1970-01-01
      • 2014-05-20
      • 1970-01-01
      相关资源
      最近更新 更多