2017-01-25 80 views
0

在Tableau中,如果不能将所有内容都设置为1,那么在添加2个语句时有哪些规则?在下面的声明的第一部分中,我试图从一个分销商那里除了其中一个产品以外的所有产品,然后是我试图拉除除了两个分销商之外的所有产品。但是,正如你所猜测的,当我将药丸拖过来时,这些细胞就是空白的。总结2个语句Tableau

创建2个计算字段并将它们加在一起是最佳实践吗?

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

回答

2

以下是有关的Tableau计算一些简单的规则(一般在SQL也)

  1. 如果不指定在某些情况下的值,通过不使用else子句中说在if语句中,表达式在那种情况下评估为null。这可以很好或取决于你想要的问题。根据您的情况,将null表示为无值,或者不适用或缺失值。
  2. 空传播通过其他表达式。一个空值+任何东西都会产生一个空值。如有必要,您可以显式测试null,但通常最好保留简单表达式,当任何部分为空时,该表达式的值为null。
  3. 像SUM(),MIN(),AVG()等聚合函数静静地忽略空值。所以AVG(薪酬)实际上是薪水字段中具有非空值的所有行的平均值。据了解,你对此没有任何警告。如果您想知道有多少行有一个非空值的字段,可以使用COUNT()函数进行检查。

在上面的表达式中,两个IF条件从来都不是同一条记录都是真的。因此,每种情况下,表达式的两半中至少有一个是空的,因此生成的整个表达式始终为空。

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