Tableau api Tableau:数据整形后的计算字段

Tableau api Tableau:数据整形后的计算字段,tableau-api,Tableau Api,我正试图了解如何在Tableau中创建一个计算字段,该字段是在源数据旋转后计算的。我的源数据是“长”的,即标准化的,如下所示: +---------+---------+-------+ | Company | Measure | Value | +---------+---------+-------+ | A | Sales | 100 | +---------+---------+-------+ | A | Exp | -10 | +-----

我正试图了解如何在Tableau中创建一个计算字段,该字段是在源数据旋转后计算的。我的源数据是“长”的,即标准化的,如下所示:

+---------+---------+-------+
| Company | Measure | Value |
+---------+---------+-------+
| A       | Sales   | 100   |
+---------+---------+-------+
| A       | Exp     | -10   |
+---------+---------+-------+
| B       | Sales   | 200   |
+---------+---------+-------+
| B       | Exp     | -30   |
+---------+---------+-------+
(实际上,每家公司都会有两个以上的记录,但这是简化的)

我想说的是以下内容,
Net
计算为
Sales+(2*Exp)

我只需将
公司
作为我的行,将
度量
作为我的列,然后将
求和(值)
,就可以得到以下结果:


但是,如何根据旋转
度量值的结果计算额外的列呢

这能满足你的需要吗

关键是为
Exp
Sales
创建计算字段,如下所示:

+---------+---------+-------+
| Company | Measure | Value |
+---------+---------+-------+
| A       | Sales   | 100   |
+---------+---------+-------+
| A       | Exp     | -10   |
+---------+---------+-------+
| B       | Sales   | 200   |
+---------+---------+-------+
| B       | Exp     | -30   |
+---------+---------+-------+
Exp=
如果[Measure]=“Exp”,则[Value]结束

Sales=
如果[Measure]=“Sales”,则[Value]结束

这些将成为可以用作列的度量值。

我喜欢。。。但我还缺少一些东西。当我尝试这样做时,我得到一个错误:“引用未定义的字段[Sales]”,因为
Sales
不是源数据中的字段。您使用了什么魔法帮助Tableau“查看”了
销售
列,该列实际上是
度量
字段的一个轴心。对不起,我想我误解了您的问题,您正在连接到已重塑的数据。如果您正在连接到它,那么这应该可以做到。我的数据是“长”的,我在表格内部进行重塑。所以我不认为你误解了。感谢您提供示例工作簿。它是用什么版本创建的?我在8.2上遇到一个错误,我不够新。它是用9.0创建的。您可以在此处下载版本以打开该文件。否则,使用以下内容重新创建销售和Exp公式:
如果[Measure]=“Exp”,则[Value]end
如果[Measure]=“Sales”,则[Value]end
。然后得到的净额是
Sum([\u Sales])+Sum([\u Exp]*2)
ohhh。是的,这是有道理的。我能够在8.x中重新创建。使用
IF
语句是有意义的。我没有想过那样做。
+---------+---------+-------+
| Company | Sales   | Exp   | 
+---------+---------+-------+
| A       | 100     | -10   |
+---------+---------+-------+
| B       | 200     | -30   | 
+---------+---------+-------+