首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tableau Public:创建计算字段的正确方法是什么?

Tableau Public:创建计算字段的正确方法是什么?
EN

Stack Overflow用户
提问于 2020-10-28 21:58:59
回答 3查看 352关注 0票数 0

我在学习Tableau公共课程。使用版本2020.02.02 MAC版本MWE;尝试创建一个新的计算字段。

  • 使用Samplestore数据集。
  • 在数据源中,将Orders表拖到画布上。
  • 在“工作区”中,将“利润”维度拖到“栏架”中,将“类别”度量值拖到行架上。
  • 在数据窗格中,右击> Create > Calculated。
  • 在文本字段中输入‘正态分布’。
  • 在文本区域中输入表达式: 如果利润>0,则其他0结束

我预计当利润大于0时,这个新的计算字段的值应该是1,对吗?我还有别的东西要买。例如,利润为18,451,PositiveProfit为1,374。

这背后的秘密是什么?有解释的教程吗?

EN

回答 3

Stack Overflow用户

发布于 2020-10-28 22:25:19

这很可能是因为您的计算字段正在聚合。有几种方法可以解决这个问题。

方法1

最简单的方法是单击货架上的PositiveProfit,并使用下拉菜单将其从度量值更改为属性。

方法2

另一种方法是将PositiveProfit修复到您的维度。固定计算也称为详细程度,或LoD计算。

因此,在您的情况下,听起来您希望每个类别的0或1。这意味着你应该把你的PositiveProfit修正为分类。因此,创建一个名为PositiveProfitFixed的新的计算字段:

代码语言:javascript
复制
{FIXED [Category] : MIN([PositiveProfit])}

然后将这个新的计算字段放在列架上,而不是PositiveProfit。注意:我正在使用MIN,但您也可以使用MAX。两种方法都将返回相同的结果,因为公式将返回0或1,最小值为1,最大值为1(对于0也是一样)。

结论

我前面提到的第一种方法比第二种方法要清楚得多。还有许多其他方法可以实现这一点。

票数 0
EN

Stack Overflow用户

发布于 2020-10-29 04:51:20

您的公式中没有错误。

实际上,你已经计算出利润是正数的多少倍。看这张截图

显然,利润$18,451是所有有类别Furniture的行的所有利润值之和。有2,121这样的行(记录)。在这2,121个记录中,1,374是利润记录为正,其余为负数,因此属于亏损。

如果您只想计算一个只记录您所显示的利润为正或负的字段,请使用以下公式-

代码语言:javascript
复制
IF sum([Profit]) > 0 THEN 1 ELSE 0 END

这会给你这样的输出

或者,如果要按行更改层次结构,则

因此,总而言之,这并不是LOD在tabbleau中的一个恰当的用例。但是,您应该知道何时聚合,何时不聚合。

在图表中,您可以自动对利润值进行排序,并创建如下图表

票数 0
EN

Stack Overflow用户

发布于 2020-10-29 09:25:56

将公式更改为:

代码语言:javascript
复制
SUM([Profit])>0

这是一个布尔公式,因此将返回真假。如果您需要它来返回1(例如,您可能想要对此进行另一次计算),则将该公式包装在INT中,其中它将把True转换为1,将False转换为0。

代码语言:javascript
复制
INT(SUM([Profit])>0)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64581915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档