Tableau api 在表格中将2个计算字段合并为1个计算字段

Tableau api 在表格中将2个计算字段合并为1个计算字段,tableau-api,calculated-field,Tableau Api,Calculated Field,我正在尝试将表中的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

我正在尝试将表中的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)
SUM(如果[产品]=“MA”)然后((IIF(年份([承运人生效日期])=2018年和

年([CALENDAR_DATE])在组合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
如果ATTR([Product])=“MA”
然后
总数(
如果[产品]=“MA”

然后((IIF(年([承运人生效日期])=2018年和年([日历日期])在组合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
如果ATTR([Product])=“MA”
然后
总数(
如果[产品]=“MA”

然后((IIF(年([承运人生效日期])2018年和年([日历日期])你能发布你的尝试吗?然后我们可以解决这个问题。如果[产品]=“MA”,然后求和(如果[产品]=“MA”),然后((IIF(年([承运人生效日期])2018年和年([日历日期])我试过了,但它说“无法混合聚合和非聚合比较或结果为‘如果’表达式”我也尝试过这种方法,但它不起作用(如果[产品]=“MA”然后求和(如果[产品]=“MA”然后((IIF(年份([承运人生效日期])=2018年和年份([日历日期])你能发布你的尝试组合吗?然后我们可以排除故障。如果[产品]=“MA”然后求和(如果[产品]=“MA”然后((IIF(年([承运人生效日期])=2018年和年([日历日期])我尝试了这个,但它说“不能混合汇总和非汇总比较或结果为“如果”表达式”。我也尝试了这个,但它不起作用(如果[产品]=“MA”然后求和(如果[产品]=“MA”)然后((IIF(年([承运人生效日期])=2018年和年([CALENDAR_DATE])这方面运气好吗?如果你自己发现了,请添加答案并应用绿色复选标记。这方面运气好吗?如果你自己发现了,请添加答案并应用绿色复选标记。