2016-08-25 86 views
0

我有一個非常基本的問題,我無法弄清楚。我需要創建一個具有多個計算字段的表格,但我只需要爲特定維度值過濾一個計算字段。例如,我有以下數據集(虛擬數據),我想要創建一個包含兩家公司的總點擊量的表格,但是僅來自一家公司B的公司B的成本。Tableau表格過濾器僅用於表格中的一列

數據集

Company| Clicks| $ Cost 
------------------------ 
Comp A | 100 | $20 
Comp B | 200 | $40 

我正在尋找

 CLICKS | COST/CLICK 
TOTAL 300 | $0.13 

$ 0.13來自三百分之四十零;從B公司獲得40美元,從A公司和B公司獲得300次點擊。

如何創建一個具有多個計算但其中一個計算僅對一個維度值進行過濾的表?

+0

是否每家公司的記錄有自己的行(行),或者是所有的公司數據,在同一行上? – Aron

+0

每家公司都有自己的行,例如,公司A的點擊次數,成本等都在一行中,然後點擊次數,成本等等都在公司B的第二行。這是您的意思嗎?我寫的文章中的虛擬數據圖格式正確,但看起來在發佈時沒有正確格式化。 – Tar

回答

0

一個簡單的計算領域:

sum(if [Company] = 'B' then [Cost] end)/sum([Click]) 
+0

如果以任何方式對數據進行分區,那麼這將不起作用(如果您在報表上有公司字段,則SUM功能將只爲該組添加點擊次數,http://imgur.com/1kPHVML,而且您仍然不能過濾出公司A,因爲如果你過濾出公司A,那麼畫面將不會添加這些點擊。 – Aron

+0

True,但OP沒有提及他的表格結構。 – Bernardo

+0

這個工作!非常感謝!我不需要顯示公司的突破,只是總數,所以我認爲這就是它的原因。 – Tar

0

這應該讓你朝正確的方向發展。 根據您的問題和您的評論,您希望將成本除以數據集中的總點擊次數。

  1. 創建一個名爲「TOTALCLICKS」計算字段和輸入公式 window_sum(sum([Clicks])) //這個公式將總結的點擊字段中的所有行
  2. 創建一個名爲費用/點擊次數計算字段和輸入公式 sum([Cost])/[TotalClicks] 成本/點擊字段添加到表,它應該是這樣的

注意:如果需要分區/組報告,你可能有玩弄這一些。我不經常在畫面中使用窗口函數,因爲我通常在數據源級別處理聚合。

enter image description here

注意:既然你提到的過濾,我會添加這種說法 - 如果您篩選出您的任何數據,該數據不會(也不能)被包含在任何計算字段(盡無論如何,我的知識和經驗)。如果您需要包含這些數據(總點擊次數),我想認爲唯一的選擇是將聚合的總數添加到您的數據集 - 否則,如果您正在過濾它,那麼tableau無法計算它。

EDIT2:如果你不能改變的基礎數據集,你可以通過創建另一個數據源並將其連接到您的inital數據源做到這一點 -

  1. 數據>添加數據源,再添加數據源,並改變名稱,以便您可以識別它
  2. 單擊數據>編輯關係。單擊自定義,並移除任何鏈接字段 - 這將使用相同的本質產生笛卡兒連接(在你的第一個數據源中的每個記錄將有每reocrd從你的第二個數據源)
  3. 選擇第二個數據源,並創建一個計算字段(ClicksTotal_DS2) window_sum功能
  4. 選擇第一個數據源,並使用這個公式 sum([Cost])/ [Sheet1 (test) (2)].[ClicksTotal_DS2]

現在,您可以將過濾器應用到你的第一個數據源創建一個計算字段(命名爲成本/ Clicks_DS2),和你的第二個數據源仍然會計算總數。 enter image description here

+0

謝謝阿隆!上述公式奏效。但謝謝你的解釋。這對我正在開發的另一個項目很有用。 – Tar