2015-10-14 49 views
0

我創建了一個計算字段(行號),其中計算爲Index()。然後嘗試將它與具有文本數據的字段(Name)連接起來。然後我創建了另一個計算字段(Concat),其中的計算是attr([Name])+'_'+ str([Row No.])。 Concat字段顯示在「度量」下。我怎樣才能把它作爲一個維度?如何通過將索引()與文本字段連接來創建維度計算字段

如何創建一個計算字段,通過向「名稱」字段中的每個條目添加「下劃線」和一個數字來對其進行設置?

回答

1

有兩種可能的方式將它作爲一個維度。首先,'ATTR'創建一個聚合,這就是爲什麼它是一個度量。你應該能夠刪除它,並且仍然與[Name] +'_'+ str([Row No.])連接)。

秒,您應該可以右鍵單擊測量並選擇轉換爲離散,然後單擊並將其拖動到尺寸部分。

+0

如果我刪除'ATTR',那麼計算的字段會向我發送一個錯誤「不能將聚合和非聚合參數與此函數混合使用」。 – Madhumita

+1

好的,我的第二個建議呢? – Bernardo

+0

這工作..謝謝.. – Madhumita

0

根據對錶計算函數(如index())的調用或聚合函數(如sum()),您不能擁有維度。

然而,您可以將度量轉換爲離散度量,這將允許您使用它來在視圖中創建標題。

這個限制有一個很好的理由。維度在操作順序中儘早用於將數據行分成塊。它們實際上是SQL語句中的group by子句。然後將聚合函數(如sum())應用於每個分區,然後將表計算應用到聚合查詢結果中。因此,您不能使用這些結果及時回溯並生成數據行的不同分區 - 這就是Tableau不允許您將這些字段轉換爲維度的原因。

幸運的是,一旦你瞭解了操作的順序,你通常可以找到其他方法來達到你需要的效果。

作爲一個腳註,您可以基於FIXED LOD計算字段創建維度,該字段包含對集合函數的調用 - 例如{FIXED [Region]:CountD([Customer])}。

相關問題