总结 2 个语句表

Summing 2 Statements Tableau

在 Tableau 中,如果您不能将所有内容都放在 1 个中,那么在添加 2 个语句时有什么规则?在下面声明的第一部分,我试图从分销商处提取除 1 个以外的所有产品,然后在这部分我试图从 2 个分销商处提取所有产品。但是,正如您所猜到的,当我将药丸拖过去时,单元格是空白的。

最好的做法是只创建 2 个计算字段并将它们加在一起吗?

(IF [Distributor] = "NDC"
AND [Product] <> "PE Single Use"
THEN ['15] END)
+
(IF [Distributor] <> "NDC" 
AND [Distributor] <> "M&D"
THEN ['15] END)

这里有一些关于 Tableau 中计算的简单规则(通常在 SQL 中也是如此)

  1. 如果您在某些情况下没有指定值,例如在 if 语句中省略 else 子句,那么在这种情况下表达式的计算结果为 null。这可能很好,也可能是个问题,具体取决于您想要什么。根据您的情况考虑 null 表示 no-value、not-applicable 或 missing-value。
  2. 空值通过其他表达式传播。一个空值 + 任何东西都会产生一个空值。如有必要,您可以显式测试 null,但通常最好保留在任何部分为 null 时计算结果为 null 的简单表达式。
  3. SUM()、MIN()、AVG() 等聚合函数会自动忽略空值。所以 AVG(Salary) 实际上是 Salary 字段中具有 non-null 值的所有行的平均值。据了解,您不会收到任何关于此的警告。如果您想知道有多少行的字段具有 non-null 值,可以使用 COUNT() 函数来检查。

在您上面的表达式中,对于同一条记录,两个 IF 条件永远不会同时为真。因此,在每种情况下,表达式的两半中至少有一个为空,因此生成的整个表达式始终为空。

使用 table 计算和 LOD 计算时还有其他规则需要学习,但这些规则始终适用。