知識庫

手動選擇特定資料集的資料桶數


發佈時間 : 22 Dec 2016
上次修改日期 : 20 Jul 2023

問題

如何定義資料桶數以及每個資料桶中相等(具有餘數)的項數。

環境

Tableau Desktop

答案

按一下以展開步驟
步驟 1: 為索引建立導出欄位,以從 1 開始顯示順序
  1. 選擇「分析」>「創建導出欄位」
  2. 在「名稱」文字框中,鍵入「Index」(索引)。
  3. 在「公式」文字框中,鍵入:
    INDEX()
    
  4. 完成後,按一下「確定」
按一下以展開步驟
步驟 2: 建立一個用於分割所選維度的資料桶數參數
  1. 在「資料」視窗中,按一下維度右上角的下拉箭頭,然後選擇「創建」>「參數」
  2. 在「名稱」文字框中,鍵入「Number of Bins」(資料桶數)。
  3. 對於「資料類型」,選擇「整數」
  4. 「當前值」文字框中,鍵入一個數字(例如 50)。
  5. 選擇「範圍」
    • 選擇最小值和最大值(例如從 1 到 100)
  6. 完成後,按一下「確定」
附註:因為資料桶的數量將是一個整數,所以請選擇「整數」。您可能想要選取一個清單(如果您有特定的 bin 數)或範圍(如果您希望更靈活地決定要建立多少 bin)。
 
按一下以展開步驟
步驟 3:建立一個用於定義資料桶大小的導出欄位
  1. 選擇「分析」>「創建導出欄位」
  2. 在「名稱」文字框中,鍵入「Size of Each Bin」(每個資料桶的大小)。
  3. 在「公式」文字框中,鍵入下面的公式,然後按一下「確定」
    IF ([Number of Bins]/SIZE()>.5) AND (([Number of Bins]-1)/SIZE()<.5)
    THEN 2
    ELSEIF [Number of Bins]/SIZE()>.5
    THEN 1
    ELSEIF ROUND((SIZE()/[Number of Bins])-10^(-10), 0) !=INT(SIZE()/[Number of Bins]) THEN
    INT((SIZE()/([Number of Bins])))+ 1
    ELSE
    INT((SIZE()/([Number of Bins])))
    END
    
按一下以展開步驟
步驟 4:為索引建立導出欄位,以確定要用於每個所選項數的正確資料桶數
  1. 選擇「分析」>「創建導出欄位」
  2. 在「名稱」文字框中,鍵入「Dynamic Bins」(動態資料桶)。
  3. 在「公式」文字框中,鍵入下面的公式,然後按一下「確定」
    IF INT(([Index]-.1)/[Size of Each Bin]) = [Number of Bins] THEN
    INT(([Index]-.1)/[Size of Each Bin])
    ELSEIF INT(([Index]-.1)/[Size of Each Bin]) < [Number of Bins] THEN
    INT(([Index]-.1)/[Size of Each Bin])+1
    ELSE
    [Number of Bins]
    END
    
按一下以展開步驟
步驟 5:組建檢視
  1. 使用 Superstore 樣本資料來源,將度量拖到「文字」
  2. 將維度拖到「列」
  3. 將「Index」(索引)和「Size of Each Bin」(每個資料桶的大小)導出欄位拖到「詳細資訊」
  4. 「資料」視窗中右鍵按一下參數,然後選擇「顯示參數控件」。參數控件現在已添加到工作表中,可以進行自訂。
  5. 右鍵按一下「Dynamic Bins」(動態資料桶)欄位,選擇「離散」,然後將其放在「列」架上現有欄位的前面。
這也適用於圖形。若要使用上面創建的視圖創建條形圖,只需將「Sales」(銷售額)欄位從「文字」拖到「欄」架。可以在本文附加的「選擇資料桶數」工作簿中找到樣本。

其他資訊

若要檢視這些步驟的實際運行效果,請觀看下面的視訊:

附註:影片沒有聲音。


這篇文章是否解決了問題?