ナレッジベース

集計時、フィールドの値の最上位と最下位のパーセンテージ (外れ値) を削除する


発行: 17 Apr 2017
最終修正日: 20 Jul 2023

ご質問

集計時にフィールドの値の上位および下位 X% (外れ値) を削除する方法。

環境

Tableau Desktop

回答

ステップ 1: ビューの作成

  1. Tableau Desktop を開き、Superstore サンプル データ ソースに接続します。
  2. [市区町村][行] にドラッグします。
  3. [レコード数] をマーク カードの [テキスト] にドラッグします。
  4. [市区町村][レコード数] の合計に従って降順に並べ替えます。

ステップ 2: 必要な 2 つのパラメーターの作成

  1. [データ] ペインで、右上隅のドロップダウン矢印をクリックして、[パラメーターの作成] を選択します。
  2. [パラメーターの作成] ダイアログ ボックスで、次の操作を行い、[OK] をクリックします。
  • フィールドに名前を付けます。例: Bottom Pct。
  • [データ型] として [浮動] を選択します。
  • [表示形式] として、[パーセンテージ] を選択します。
  • [許容値] として、[範囲] を選択します。
  • [最小] を 0.05 に、[最大] を 0.25 に、[ステップ サイズ] を 0.05 に設定します。
  • [データ] ウィンドウの [パラメーター] ペインで "Bottom Pct." を右クリックして、[パラメーター コントロールの表示] を選択します。
  1. 上記のステップを繰り返して、別のパラメーター "Top Pct." を作成し、[Minimum] を 0.75 に、[最大] を 1.0 に、[ステップ サイズ] を 0.05 に設定します。

ステップ 3: 値の中央 Y% だけを含む計算フィールドの作成

  1. [分析] > [計算フィールドの作成] を選択します。
  2. [計算フィールド] ダイアログボックスで、次の操作を行い、[OK] をクリックします。
  • 計算フィールドに、たとえば "Filtered Sales (フィルター済み売上高)" という名前を付けます。
  • 以下のステートメントをコピーして、[式] フィールドに貼り付けます。
IF [Sales] > { FIXED [City]: PERCENTILE([Sales], [Bottom Pct.])} AND [Sales] < { FIXED [City]: PERCENTILE([Sales], [Top Pct.])}
THEN [Sales]
END

ステップ 4: データの値の下位/上位 X% を除外できるフィルターの作成

  1. 上記で作成した計算フィールド "Filtered Sales"[フィルター] シェルフにドラッグします。
  2. [フィールドのフィルター] ダイアログ ボックスで、[すべての値] を選択し、[次へ] をクリックします。
  3. [特別] > [NULL でない値] を選択し、[OK] をクリックします。 

詳細情報

PERCENTILE() の引数 2 は浮動小数点リテラルでなければならないため、2 つのパラメーターが必要です。つまり、式 "1 – [Bottom Pct.]" は演算子を持ち、浮動小数点リテラルではないため、計算フィールドで PERCENTILE() 関数の 2 番目の引数として単純にこの式を使用することはできません。
この記事で問題は解決しましたか?