可以通过LOD计算

时间:2015-06-26 16:07:58

标签: if-statement tableau

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

我想展示:

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

前:亚利桑那家具$ 13,525

但是,如果家具不是顶级销售$类别,我想显示0或NULL或“红旗”。任何可行的,“红旗”将是最好的,但我不确定我们可以将'ag'与字符串结合。

前:阿拉巴马州家具“红旗”

感谢您提出的任何建议!

State                     Category                 Sales
Alabama                   Furniture                $6,332
                          Office Supplies          $4,209
                          Technology               $8,969

Arizona                   Furniture                $13,525
                          Office Supplies          $10,006
                          Technology               $11,751

Arkansas                  Furniture                $3,188
                          Office Supplies          $4,565
                          Technology               $3,925

California                Furniture                $156,065
                          Office Supplies          $142,352
                          Technology               $159,271

Colorado                  Furniture                $13,243
                          Office Supplies          $7,899
                          Technology               $10,966

1 个答案:

答案 0 :(得分:1)

让我们分一部分。首先让我们创建一个[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])而不仅仅是sales(和MAX([max_sales]),如果Tableau表示您不能将聚合与非聚合字段混合)< / p>