簡體   English   中英

如何計算tableau public中值的出現次數和子集的百分比?

[英]How to count occurrence of value and percentage of a subset in tableau public?

我有以下格式的一組數據:

Resp | Q1 | Q2
P1   | 4  | 5
P2   | 1  | 2
P3   | 4  | 3
P4   | 6  | 4

我想顯示給出大於3的答案的人數和百分比。所以在這種情況下,輸出將是:

Question | Count  | Percent
Q1       |  3     | 75%
Q2       |  2     | 50%

有什么建議?

雖然這聽起來很容易,但它有點復雜。 首先,您的數據不是基於行的,因此您必須轉動它。

  1. 將數據加載到Tableau中
  2. 在DataSource屏幕中選擇Q1和Q1列,右鍵單擊它們並選擇“Pivot”
  3. 使用答案“Answers”命名列(僅為了清楚起見。您應該得到一個如下所示的表:

在此輸入圖像描述

現在你需要創建一個計算字段(我稱之為Overthreshold來檢查你的情況:

if [Answer] > 3 then
[Answer]
End

此時,您可以使用參數替換3 ,以防您想要輕松更改該條件。 您可以按照以下方式丟棄葯丸以獲得計數: 在此輸入圖像描述

現在,如果你想要百分比,它會變得有點復雜,因為你必須確定問題的數量和答案的數量> 3,這是存儲在兩個不同列中的信息。

  1. 使用此計算創建另一個計算字段COUNT([Overthreshold]) / AVG({fixed [Question]:count([Answer])})
  2. 將創建的葯丸放到“文本”字段或列抽屜中,然后查看百分比值
  3. 右鍵單擊該字段並選擇Default Propertiess / Number Format將其設置為百分比而不是浮點數

在此輸入圖像描述

解釋公式的作用:它將超過閾值的答案計數,並將其與每個問題的答案計數分開。 這是通過公式的fixed部分完成的,它對“ Question列中具有相同值的行進行計數。 AVG僅在那里,因為Tableau需要在那里進行聚合。 由於問題的每個記錄的值都相同,因此您也可以使用MINMAX

感覺應該有一個更好的解決方案,但現在我想不出一個。

以下是@Alex的正確答案的變體。 有些人可能會發現它稍微簡單一點,它至少顯示了一些用於計算百分比的Tableau功能。

  1. 從Alexander的答案開始,將Overtheshold修改為布爾值字段,定義為Answer > 3
  2. 不是為百分比創建第二個計算字段,而是將問題,超過閾值和SUM(記錄數)拖到viz上,如下所示。 在此輸入圖像描述
  3. 右鍵單擊SUM(記錄數),然后選擇快速表計算 - >總計百分比
  4. 雙擊左側數據窗格中的“記錄數”,將其添加到工作表中,這是顯示“測量名稱”和“測量值”元字段的快捷方式。 將度量名稱從行移動到列以獲取下面的視圖,該視圖還使用度量名稱上的別名來縮短列標題。 在此輸入圖像描述
  5. 如果您不想顯示以下閾值數據,只需右鍵單擊列標題False並選擇隱藏。 (如果需要,可以通過右鍵單擊Overthreshold字段取消隱藏)
  6. 最后,為了讓它更加美觀,你可以將Overthreshold移動到細節架子(你不能從視圖中移除它),並調整顯示的字段的數字格式以獲得結果。 在此輸入圖像描述

從技術上講,Alexander的解決方案使用LOD計算來計算服務器端的百分比,而此解決方案使用Table計算來計算客戶端的百分比。 兩者都很有用,並且可能會產生不同的性能影響。 這幾乎沒有說明你可以用每種方法做的事情; 每個都有你需要開始理解的功能和復雜性,以便在更復雜的情況下使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM