首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >计算字段中的IF语句(SSAS表格)

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

Stack Overflow用户
提问于 2016-02-29 21:32:03
回答 3查看 2.2K关注 0票数 0

我在SSAS中创建表格模型多维数据集的过程中,我在计算列的一些度量上遇到了一些困难

我已经在SSAS中将此case语句转换为IF

代码语言:javascript
复制
case when PROPERTY_CHARGE.PCH_CURRENT_IND='Y' then PROPERTY_CHARGE.PCH_AMT  else 0 end

是现在

代码语言:javascript
复制
=If ([PCH_CURRENT_IND]="Y", [PCH_AMT],0)

我现在正在努力将这个转换为:

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

我已经尝试了各种方法,但是不管我得到的是什么错误,或者是与is null相关的错误,或者在这个上下文中不可用的错误,或者是其他错误,都表明我有太多的参数。

有谁能帮忙吗?

EN

回答 3

Stack Overflow用户

发布于 2016-02-29 23:16:24

在表格的逻辑上有很大的不同,你可以像这样创建一个度量:

代码语言:javascript
复制
MeasureName:=CALCULATE(sum([PCH_AMT]),FILTER(PROPERTY_CHARGE,[PCH_CURRENT_IND]="N"&&[PCH_END_DATE]=BLANK()))

ANd给出了与case相同的结果

票数 0
EN

Stack Overflow用户

发布于 2019-05-20 12:42:51

使用:

代码语言:javascript
复制
=If ([PCH_CURRENT_IND]="Y", [PCH_AMT],BLANK())

然后:

MeasureName:

代码语言:javascript
复制
=CALCULATE(sum([PCH_AMT]),FILTER(PROPERTY_CHARGE,[PCH_CURRENT_IND]="N"&&[PCH_END_DATE]=BLANK()))

情况与此相同。

票数 0
EN

Stack Overflow用户

发布于 2019-05-22 08:33:30

这个解决方案将比之前的帖子性能更好一些,并且更容易阅读,可以用这个作为衡量标准:

代码语言:javascript
复制
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] )
)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35700876

复制
相关文章

相似问题

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