Tableau 计算字段 - 跨多个度量
Tableau Calculated Field - across multiple measures
我正在尝试取一组字段中的最小值,不包括 0。我对在 Tableau 中使用计算字段还很陌生。
我已经能够像这样链接 min 函数:
MIN(MIN(MIN([a],[b]), [c]), [d]) etc...
但是,我想不出一种方法来为我的每一个度量值过滤掉 0。我用 REGEXP_REPLACE 尝试了一些东西。我还尝试为值设置更大的 IF THEN,例如:
IF [a] > 0 THEN [a]
IF [b] > 0 THEN [b]
这样新值就会被清空。但是,这也不起作用,因为我需要将所有这些都链接到这个计算字段中。计算这样的东西的功能方法是什么?假设我不能在 Tableau 之外修改数据,那么处理像这样修改多个字段的方法是什么?
期望的结果:
(伪代码)
given that a,b,c,d,e = 15,0,10,0,25
Min_No0([a],[b],[c],[d],[e],...) = 10
好的,我能够成功完成以下操作:
MIN(MIN(IF [a] = 0 THEN 9999999 ELSE [a] END,
IF [b] = 0 THEN 9999999 ELSE [b] END),
IF [c] = 0 THEN 9999999 ELSE [c] END)
通过链接 min 并在 min 函数中使用 if 语句。这不是我确定的最佳方式,但它确实有效。
这是一个在 [a] [b] 和 [c] 列之间查找 MIN() 的解决方案,不包括零值。
MIN(MIN(IF [a] !=0 THEN [a]
ELSEIF [b] !=0 THEN [b]
ELSEIF [c] !=0 THEN [c]
END,
IF [b] !=0 THEN [b]
ELSEIF [c] !=0 THEN [c]
ELSEIF [a] !=0 THEN [a]
END),
IF [c] !=0 THEN [c]
ELSEIF [a] !=0 THEN [a]
ELSEIF [b] !=0 THEN [b]
END)
内部 MIN() 是比较 [a] 和 [b]。如果这些数字中的任何一个为零,它将替换另一个数字,前提是该数字也不等于零。外部 MIN() 将 [c] 与内部 MIN() 中较小的数字进行比较。
如果[a]、[b]、[c]都为零,那么结果当然是'Null'。
我正在尝试取一组字段中的最小值,不包括 0。我对在 Tableau 中使用计算字段还很陌生。
我已经能够像这样链接 min 函数:
MIN(MIN(MIN([a],[b]), [c]), [d]) etc...
但是,我想不出一种方法来为我的每一个度量值过滤掉 0。我用 REGEXP_REPLACE 尝试了一些东西。我还尝试为值设置更大的 IF THEN,例如:
IF [a] > 0 THEN [a]
IF [b] > 0 THEN [b]
这样新值就会被清空。但是,这也不起作用,因为我需要将所有这些都链接到这个计算字段中。计算这样的东西的功能方法是什么?假设我不能在 Tableau 之外修改数据,那么处理像这样修改多个字段的方法是什么?
期望的结果:
(伪代码)
given that a,b,c,d,e = 15,0,10,0,25
Min_No0([a],[b],[c],[d],[e],...) = 10
好的,我能够成功完成以下操作:
MIN(MIN(IF [a] = 0 THEN 9999999 ELSE [a] END,
IF [b] = 0 THEN 9999999 ELSE [b] END),
IF [c] = 0 THEN 9999999 ELSE [c] END)
通过链接 min 并在 min 函数中使用 if 语句。这不是我确定的最佳方式,但它确实有效。
这是一个在 [a] [b] 和 [c] 列之间查找 MIN() 的解决方案,不包括零值。
MIN(MIN(IF [a] !=0 THEN [a]
ELSEIF [b] !=0 THEN [b]
ELSEIF [c] !=0 THEN [c]
END,
IF [b] !=0 THEN [b]
ELSEIF [c] !=0 THEN [c]
ELSEIF [a] !=0 THEN [a]
END),
IF [c] !=0 THEN [c]
ELSEIF [a] !=0 THEN [a]
ELSEIF [b] !=0 THEN [b]
END)
内部 MIN() 是比较 [a] 和 [b]。如果这些数字中的任何一个为零,它将替换另一个数字,前提是该数字也不等于零。外部 MIN() 将 [c] 与内部 MIN() 中较小的数字进行比较。
如果[a]、[b]、[c]都为零,那么结果当然是'Null'。