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

计算字段中的IF语句(SSAS表格),ssas,calculated-columns,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_I

我正在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
我尝试过各种安排,但无论我得到什么错误,要么是与空相关的,要么是在这个上下文中不可用的,要么是其他错误,都表明我有太多的参数


有人能帮忙吗?

表格中的逻辑非常不同,您可以创建如下度量:

MeasureName:=CALCULATE(sum([PCH_AMT]),FILTER(PROPERTY_CHARGE,[PCH_CURRENT_IND]="N"&&[PCH_END_DATE]=BLANK()))
并给出与案例相同的结果使用:

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

被测量名称:

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

这与案例相同

此解决方案将比以前的文章性能更好,更易于阅读,请使用此方法进行衡量:

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] )
)

谢谢你的回复。实际上,我用=IF([PCH\u CURRENT\u IND]=“N”,IF(LEN([PCH\u END\u DATE])=0[PCH\u AMT],0)复制了它