Tableau 可能的 IF LOD 计算

Tableau possible IF LOD calculation

这个看起来很简单,但我很难过。希望有人以前遇到过这个。

我要展示:

州类别Sales$如果家具是该州销售额最高的类别

示例: 亚利桑那家具 $13,525

但是,如果 Furniture 不是排名靠前的 Sales $ 类别,我想显示 0 或 NULL 或 "Red Flag"。任何一个都可以,"Red Flag" 最好,但我不确定我们是否可以将 'ag' 与字符串结合起来。

例如: 阿拉巴马家具 "Red Flag"

感谢您提出正确的建议!

State                     Category                 Sales
Alabama                   Furniture                ,332
                          Office Supplies          ,209
                          Technology               ,969

Arizona                   Furniture                ,525
                          Office Supplies          ,006
                          Technology               ,751

Arkansas                  Furniture                ,188
                          Office Supplies          ,565
                          Technology               ,925

California                Furniture                6,065
                          Office Supplies          2,352
                          Technology               9,271

Colorado                  Furniture                ,243
                          Office Supplies          ,899
                          Technology               ,966

让我们一部分一部分来。首先让我们创建一个 [max_sales] 字段:

{ FIXED [State] : MAX([Sales]) }

这将为您提供每个州在各个类别中的最大销售额。我假设这是最低级别的细节(类别)。如果不是,您可以使用另一个 LOD 计算来获得每个类别的数字:

{ FIXED [Category] : SUM([Sales]) }

并在第一次计算时使用此字段。

现在进入下一部分。您不能将整数与字符串混合使用,但您始终可以将 int 转换为 str。我会这样做:

IF [Category] = 'Furniture'
   THEN IF [Sales] < [max_sales]
             THEN 'Red Flag'
        ELSE STR([Sales])
        END
ELSE #I have no idea what you want here
END

同样,如果类别不是最低级别的详细信息,请使用 SUM([Sales]) 而不是仅销售额(如果 Tableau 表示您不能混合使用 MAX([max_sales])非聚合字段)