卓尔高考网

将2个计算字段合并到Tableau中的1个计算字段中

篇首语:本文由小编为大家整理,主要介绍了将2个计算字段合并到Tableau中的1个计算字段中相关的知识,希望对你有一定的参考价值。

我正在尝试将2个计算字段组合到画面中的1个计算字段中。

第一个计算字段具有以下公式:

    SUM(IF [PRODUCT]="MA" THEN((IIF(YEAR([CARRIER_EFFECTIVE_DATE])=2018 AND YEAR([CALENDAR_DATE])<=2018, [TOTAL_COMMISSION],0))) END)/SUM(IF [PRODUCT]="MA" THEN((IIF(YEAR([CARRIER_EFFECTIVE_DATE])=2018 AND YEAR([CALENDAR_DATE])<=2018, [PAID_MEMBERS],0))) END)

第二个计算字段具有以下公式:

SUM(IF [PRODUCT]="MS"THEN ((IIF(DATE([CARRIER_EFFECTIVE_DATE])=#2014-01-01# AND DATE([CALENDAR_DATE])<=#2014-12-31#,[DATE_DEBIT_COMMISSION],0))) END)/ SUM(IF [PRODUCT]="MS"THEN ((IIF (DATE([CARRIER_EFFECTIVE_DATE])>=#2014-01-01# AND DATE([CARRIER_EFFECTIVE_DATE])<=#2014-01-31#,[PAID_MEMBERS],0))) END)

我分别创建了这两个计算但是当我试图将它们组合在一起时,我得到一个错误,说“不能混合聚合和非聚合比较或结果"IF"表达式”有人可以帮助将这两个组合在一起吗?

答案

在组合IF语句中,[Product]字段需要包装在ATTR()中以使其成为聚合。像这样...

     IF ATTR([PRODUCT])="MA" ... 

我的测试显示计算编译为有效。

这是从原始编辑的完整计算字段。

IF ATTR([Product])="MA" THEN SUM(    IF [Product]="MA"     THEN((IIF(YEAR([Carrier Effective Date])=2018 AND YEAR([Calendar Date])<=2018, [Total Commission],0)))     END)/SUM(    IF [Product]="MA"     THEN((IIF(YEAR([Carrier Effective Date])=2018 AND YEAR([Calendar Date])<=2018, [Paid Members],0)))     END) ELSE SUM(    IF [Product]="MS"     THEN ((IIF(DATE([Carrier Effective Date])=#2014-01-01# AND DATE([Calendar Date])<=#2014-12-31#,        [Date Debit Commission],0)))     END)/ SUM(    IF [Product]="MS"     THEN ((IIF (DATE([Carrier Effective Date])>=#2014-01-01# AND DATE([Carrier Effective Date])<=#2014-01-31#,        [Paid Members],0))) END) END

以上是关于将2个计算字段合并到Tableau中的1个计算字段中的主要内容,如果未能解决你的问题,请参考以下文章

您可能还会对下面的文章感兴趣: