Tableau api 求和2个语句表

Tableau api 求和2个语句表,tableau-api,calculated-field,Tableau Api,Calculated Field,在Tableau中,如果不能将所有内容都放在1中,那么在添加2个语句时有什么规则?在下面陈述的第一部分中,我试图从分销商那里获取除1个产品之外的所有产品,然后在这一部分中,我试图获取除2个分销商之外的所有产品。然而,你可以猜到,当我把药丸拖过来时,单元格是空白的 创建两个计算字段并将它们相加是最佳做法吗 (IF [Distributor] = "NDC" AND [Product] <> "PE Single Use" THEN ['15] END) + (IF [Distribut

在Tableau中,如果不能将所有内容都放在1中,那么在添加2个语句时有什么规则?在下面陈述的第一部分中,我试图从分销商那里获取除1个产品之外的所有产品,然后在这一部分中,我试图获取除2个分销商之外的所有产品。然而,你可以猜到,当我把药丸拖过来时,单元格是空白的

创建两个计算字段并将它们相加是最佳做法吗

(IF [Distributor] = "NDC"
AND [Product] <> "PE Single Use"
THEN ['15] END)
+
(IF [Distributor] <> "NDC" 
AND [Distributor] <> "M&D"
THEN ['15] END)
(如果[分销商]=“NDC”
和[产品]“PE一次性使用”
然后['15]结束)
+
(如果[经销商]“NDC”
和[经销商]“M&D”
然后['15]结束)

以下是一些关于Tableau(通常也包括SQL)中计算的简单规则

  • 如果在某些情况下没有指定值,比如在If语句中省略else子句,则表达式在这种情况下的计算结果为null。这可能是好的,也可能是个问题,这取决于你想要什么。根据您的情况考虑NULL为无值,或不适用或缺失值。
  • 空值通过其他表达式传播。空值+任何值都会产生空值。如有必要,您可以显式地测试null,但当任何部分为null时,最好保持计算结果为null的简单表达式
  • 聚合函数如SUM()、MIN()、AVG()等会自动忽略空值。所以AVG(Salary)实际上是Salary字段中具有非null值的所有行的平均值。你没有得到任何关于这方面的警告,这是可以理解的。如果您想知道一个字段有多少行具有非空值,可以使用COUNT()函数进行检查
  • 在上面的表达式中,对于同一条记录,两个IF条件永远不会同时为真。因此,在每种情况下,表达式的两半中至少有一个为null,因此得到的整个表达式始终为null


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

    以下是一些关于表中计算的简单规则(通常在SQL中也是如此)

  • 如果在某些情况下没有指定值,比如在If语句中省略else子句,则表达式在这种情况下的计算结果为null。这可能是好的,也可能是个问题,这取决于你想要什么。根据您的情况考虑NULL为无值,或不适用或缺失值。
  • 空值通过其他表达式传播。空值+任何值都会产生空值。如有必要,您可以显式地测试null,但当任何部分为null时,最好保持计算结果为null的简单表达式
  • 聚合函数如SUM()、MIN()、AVG()等会自动忽略空值。所以AVG(Salary)实际上是Salary字段中具有非null值的所有行的平均值。你没有得到任何关于这方面的警告,这是可以理解的。如果您想知道一个字段有多少行具有非空值,可以使用COUNT()函数进行检查
  • 在上面的表达式中,对于同一条记录,两个IF条件永远不会同时为真。因此,在每种情况下,表达式的两半中至少有一个为null,因此得到的整个表达式始终为null

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