Tableau api Tableau Public:创建计算字段的正确方法是什么?
我正在学习公共画面。使用版本2020.02.02 MAC版本 MWE;正在尝试创建新的计算字段Tableau api Tableau Public:创建计算字段的正确方法是什么?,tableau-api,Tableau Api,我正在学习公共画面。使用版本2020.02.02 MAC版本 MWE;正在尝试创建新的计算字段 使用Samplestore数据集 在数据源中,将Orders表拖动到画布 在工作区中,将“利润”维度拖动到“列”工具架,将“类别”度量值拖动到“行”工具架 在数据窗格中,右键单击>创建>计算字段 在文本字段中输入“PositiveProfit” 在文本区域中输入表达式: 如果[利润]>0,则1否则0结束 我希望当利润大于0时,这个新计算字段的值应该是1。正确的? 嗯,我还有别的事要做。
- 使用Samplestore数据集
- 在数据源中,将Orders表拖动到画布
- 在工作区中,将“利润”维度拖动到“列”工具架,将“类别”度量值拖动到“行”工具架
- 在数据窗格中,右键单击>创建>计算字段
- 在文本字段中输入“PositiveProfit”
- 在文本区域中输入表达式: 如果[利润]>0,则1否则0结束
这背后的秘密是什么?任何教程都解释了这一点,因为您的计算字段正在聚合。有几种方法可以解决这个问题 方法1 最简单的方法是单击工具架中的PositiveProfit并使用下拉菜单将其从度量值更改为属性 方法2 另一种方法是将PositiveProfit固定到维度。固定计算也称为,或LoD计算 因此,在您的情况下,听起来您希望每个类别为0或1。这意味着您应该将您的PositiveProfit固定到类别。因此,创建一个名为PositiveProfitFixed的新计算字段:
{FIXED [Category] : MIN([PositiveProfit])}
然后将这个新的计算字段放在Columns工具架上,而不是PositiveProfit。
注意:我使用的是MIN
,但您也可以使用MAX
。两者都将返回相同的结果,因为公式将返回0或1,最小值为1,最大值为1(0也是如此)
结论
我上面提到的第一种方法比第二种方法要清楚得多。还有许多其他方法可以实现这一点。您的公式中没有错误 实际上你已经计算出利润是正的多少倍。看到这个截图了吗 很明显,利润
$18451
是家具类所有行的所有利润值之和。有2121个这样的行(记录)。在这2121份记录中,1374份
是记录的利润为正,其余为负的情况,因此与损失有关
如果您只想计算一个字段,该字段只记录您显示的利润为正或负,请使用以下公式-
IF sum([Profit]) > 0 THEN 1 ELSE 0 END
这将为您提供如下输出
或者,如果要更改行中的层次结构,则
因此,总而言之,这不是tabbleau中LOD
的适当用例。但是,您应该知道何时聚合,何时不聚合
另外,在tableau中,您可以自动对利润值进行排序,并可以创建这样的图表
将公式更改为:
SUM([Profit])>0
这是一个,因此将返回True或False。如果您需要它来返回1(例如,您可能希望对其执行另一个计算),请将该公式包装为INT,在INT中它将把True转换为1,将False转换为0
INT(SUM([Profit])>0)