计算字段中的IF语句(SSAS表格)

时间:2016-02-29 13:32:03

标签: ssas calculated-columns

我正在SSAS中创建表格模型多维数据集的过程中,我对计算列的一些测量结果感到有些困惑

我已将此案例陈述转换为SSAS中的IF

case when PROPERTY_CHARGE.PCH_CURRENT_IND='Y' then PROPERTY_CHARGE.PCH_AMT  else 0 end

现在是

=If ([PCH_CURRENT_IND]="Y", [PCH_AMT],0)

我现在正在努力改变这个:

  sum(case when PROPERTY_CHARGE.PCH_CURRENT_IND='N' and PROPERTY_CHARGE.PCH_END_DATE is null then PROPERTY_CHARGE.PCH_AMT else 0 end

我已经尝试了各种安排,但无论我得到什么错误,无论是相关的是null还是AND在此上下文中不可用或其他错误建议我有太多的参数。

有人可以帮忙吗?

3 个答案:

答案 0 :(得分:0)

IN表格中的逻辑非常不同,你可以创建一个这样的度量:

MeasureName:=CALCULATE(sum([PCH_AMT]),FILTER(PROPERTY_CHARGE,[PCH_CURRENT_IND]="N"&&[PCH_END_DATE]=BLANK()))

ANd给出了与案例相同的结果

答案 1 :(得分:0)

使用:

=If ([PCH_CURRENT_IND]="Y", [PCH_AMT],BLANK())

然后:

MeasureName:

=CALCULATE(sum([PCH_AMT]),FILTER(PROPERTY_CHARGE,[PCH_CURRENT_IND]="N"&&[PCH_END_DATE]=BLANK()))

与情况相同

答案 2 :(得分:0)

此解决方案的性能将比以前的帖子高一些,并且更易于阅读,可将其用于度量:

Strruggling To Convert measure:=
CALCULATE (
    SUM ( 'PROPERTY_CHARGE'[PCH_AMT] ),
    FILTER (
        ALL ( 'PROPERTY_CHARGE'[PCH_CURRENT_IND], 'PROPERTY_CHARGE'[PCH_END_DATE] ),
        AND (
            'PROPERTY_CHARGE'[PCH_CURRENT_IND] = "N",
            ISBLANK ( 'PROPERTY_CHARGE'[PCH_END_DATE] )
        )
    )
)

Struggling To Convert Calculate column :=
SWITCH (
    TRUE (),
    AND (
        'PROPERTY_CHARGE'[PCH_CURRENT_IND] = "N",
        ISBLANK ( 'PROPERTY_CHARGE'[PCH_END_DATE] )
    ), SUM ( 'PROPERTY_CHARGE'[PCH_AMT] )
)