在 Tableau 中按第一个值规范化一个系列
Normalize a series by first value in Tableau
我想通过第一个值对 Tableau 中的数据系列进行标准化。
如果我的输入table是:
日期 |金额
1/1 100 美元
1/2 150 美元
1/3 250 美元
我想创建(并绘制)标准化值:
日期 | amount_norm
1/1 1
1/2 1.5
1/3 2.5
在 SQL 这将是
SELECT date, amount / ( SELECT amount
FROM table
WHERE date = ( SELECT MIN(date) FROM table ) ) AS amount_norm
FROM table
理想情况下,amount_norm
应该随着用户在 Tableau 仪表板过滤器中更改选定的时间间隔而更新。
看起来很简单,但我对 Tableau 语法完全不熟悉。我试过玩 FIRST() = 0
但我真的不知道我在做什么。
我找到了一个 similar question,但这并没有让我到达我想要的地方。
如有任何帮助,我们将不胜感激!
要匹配SQL代码逻辑:
SUM([Amount])
/
SUM({FIXED : SUM(IF [Date] = {FIXED : MIN([Date])} THEN ([Amount]) END)})
如果您希望它符合 workbook/dashboard 中的过滤器,您可以在冒号之前添加要过滤的维度,如下所示:
SUM([Amount])
/
SUM({FIXED [filter dimension] : SUM(IF [Date] = {FIXED : MIN([Date])} THEN ([Amount]) END)})
要为固定 LOD 表达式添加更多条件,您可以添加一个逗号,然后添加另一个维度。
使用 table 计算而不是 LOD 计算会更简单
我想通过第一个值对 Tableau 中的数据系列进行标准化。
如果我的输入table是:
日期 |金额
1/1 100 美元
1/2 150 美元
1/3 250 美元
我想创建(并绘制)标准化值:
日期 | amount_norm
1/1 1
1/2 1.5
1/3 2.5
在 SQL 这将是
SELECT date, amount / ( SELECT amount
FROM table
WHERE date = ( SELECT MIN(date) FROM table ) ) AS amount_norm
FROM table
理想情况下,amount_norm
应该随着用户在 Tableau 仪表板过滤器中更改选定的时间间隔而更新。
看起来很简单,但我对 Tableau 语法完全不熟悉。我试过玩 FIRST() = 0
但我真的不知道我在做什么。
我找到了一个 similar question,但这并没有让我到达我想要的地方。
如有任何帮助,我们将不胜感激!
要匹配SQL代码逻辑:
SUM([Amount])
/
SUM({FIXED : SUM(IF [Date] = {FIXED : MIN([Date])} THEN ([Amount]) END)})
如果您希望它符合 workbook/dashboard 中的过滤器,您可以在冒号之前添加要过滤的维度,如下所示:
SUM([Amount])
/
SUM({FIXED [filter dimension] : SUM(IF [Date] = {FIXED : MIN([Date])} THEN ([Amount]) END)})
要为固定 LOD 表达式添加更多条件,您可以添加一个逗号,然后添加另一个维度。
使用 table 计算而不是 LOD 计算会更简单