2017-01-25 104 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計算時,還有其他規則需要學習,但這些規則始終適用。