Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
If statement 如果进行LOD计算,则可能出现表格_If Statement_Tableau Api - Fatal编程技术网

If statement 如果进行LOD计算,则可能出现表格

If statement 如果进行LOD计算,则可能出现表格,if-statement,tableau-api,If Statement,Tableau Api,这个看起来很简单,但我被难倒了。希望有人以前见过这个 我想展示: 如果家具是该州销售额最高的类别,则说明类别销售额$ Ex:亚利桑那家具13525美元 但是,如果家具不是最畅销的$Category,我想显示0或NULL或“红旗”。任何一个都可以,“红旗”是最好的,但我不确定我们能不能把一个“ag”和一个字符串结合起来 Ex:阿拉巴马州家具“红旗” 谢谢你的建议,让这一切正确 State Category Sales Alab

这个看起来很简单,但我被难倒了。希望有人以前见过这个

我想展示:

如果家具是该州销售额最高的类别,则说明类别
销售额$

Ex:亚利桑那家具13525美元

但是,如果家具不是最畅销的$Category,我想显示0或NULL或“红旗”。任何一个都可以,“红旗”是最好的,但我不确定我们能不能把一个“ag”和一个字符串结合起来

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

谢谢你的建议,让这一切正确

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

让我们一部分一部分地去。首先,我们创建一个[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
如果[类别]=“家具”
如果[销售]<[最大销售]
然后是“红旗”
ELSE STR([销售])
结束
否则,我不知道你想要什么
结束

同样,如果类别不是最低级别的详细信息,请使用SUM([Sales]),而不是Sales(如果Tableau说不能将聚合字段与非聚合字段混合使用,则使用MAX([MAX_Sales])。

Hi lnox!我在上面应用了你的LOD,它在某些方面有效,但不是全部。AZ:“红旗”用于家具,但对于所有类别都应为“ok”,因为“家具”是最高销量。与CO相同。另一个附加细节包括:并非所有州都有“家具”类别。这会如何改变LOD计算?如果没有“家具”类别,则仍应为“ok”。您必须处理ELSE语句。ELSE STR([Sales])应该可以正常工作,但我不确定您的数据是什么样的。请尝试了解计算是如何进行的,以便您可以调整它。IF语句应该是IF[Sales]>=[max_Sales]然后是“红旗”。当我这样做时,它起作用了,但现在它列出了所有的“家具”销售金额,而不是仅仅说“好”,因为我将“=”添加到了。我如何解决这个问题?嗯,STR([销售])打印销售金额。如果您只需要一个“确定”,请将其替换为“确定”。我刚刚将上述计算应用到实际工作簿中,但忘记了一些内容。在应用{FIXED[State]:MAX([sales])时,我忘了[sales]来自合并到最终报告中的另一个工作簿。度量值命名为:SUM([WKLY_sales_Details].[sales]当我用我的版本替换MAX([Sales])时,我得到的错误是:“MAX的参数(聚合函数)已经是聚合,无法进一步聚合”帮助。。。。