ナレッジベース

複数値選択パラメーターを作成する


発行: 26 Jan 2017
最終修正日: 01 Mar 2024

ご質問

ユーザーが入力した値のリストでビューをフィルターする方法。このリストを使用して、パラメーターで複数の値を選択できます。たとえば、ビューを "Illinois, Maine, New York (イリノイ、メーン、ニューヨーク)" という複数の州でフィルターします。
 

環境

Tableau Desktop

回答

右側のペインからダウンロードできるワークブックでは、"Superstore (スーパーストア)" サンプル データ セットを使用して、これらのオプションを示しています。

オプション 1: セット コントロールの使用
Tableau Desktop 2020.2 以降でセット コントロールを使用すると、エンド ユーザーがセットの値を変更できます。この例では、ユーザーが状態の 2 つのセットを選択して 1 つのマップで表示できますが、セットは柔軟であり、多くのシナリオで使用できます。
  1. 左側のデータ ペインで [状態] を右クリックし、[作成] > [セット…] を選択します。
  2. [セットの作成] ダイアログで、セットに名前を付けて [OK] をクリックします。この例では、セットは "State Set A (状態セット A)" と呼ばれます。
  3. データ ペインで [State Set A (状態セット A)] を右クリックし、[セットの表示] をオンにします。
  4. "State Set B (状態セット B)" に対して、ステップ 1 ~ 3 を繰り返します。
  5. [分析] > [計算フィールドの作成] を選択します。
  6. 開いた [計算フィールド] ダイアログ ボックスで、次の操作を行い、[OK] をクリックします。
    1. 計算フィールドに名前を付けます。この例では、計算フィールドに "Selected states filter (選択した状態のフィルター)" という名前を付けます。
    2. 式フィールドで、次のような計算を作成します。
      [State Set A] OR [State Set B]
  7. "Selected States Color (選択した状態の色)" などの名前を付けて、次のような計算フィールドを作成します。
    IF [State Set A] AND [State Set B]
    THEN 'Both'
    
    ELSEIF [State Set A]
    THEN 'A'
    
    ELSEIF [State Set B]
    THEN 'B'
    
    ELSE 'not selected'
    
    END
  8. データ ペインで [状態] をダブルクリックし、マップを作成します。
  9. [Selected States Color (選択した状態の色)] を [マーク] カードの [色] にドラッグします
  10. [Selected states filter (選択した状態のフィルター)] を [フィルター] シェルフにドラッグします。
  11. [フィルター] ダイアログで [True] をチェックし、[OK] をクリックします。
オプション 2: 文字列関数の使用
  1. [データ] ペインで [ディメンション] の隣にある下矢印をクリックし、[パラメーターの作成...] を選択します。
  2. [パラメーターの作成] ダイアログで、次の操作を行い、[OK] をクリックします。
    1. パラメーターに名前を付けます。この例では、"Multi-Search (複数検索)" とします。
    2. [データ型] では [文字列] を選択します。
  3. [データ] ペインの [Multi-Search (複数検索)] を右クリックし、[パラメーター コントロールの表示] を選択します。
  4. [分析] > [計算フィールドの作成] を選択します。
  5. 開いた [計算フィールド] ダイアログ ボックスで次の操作を行い、[OK] をクリックします。
    1. 計算フィールドに名前を付けます。この例では、計算フィールドに "String Match (contains) (文字列の一致 (含む))" という名前が付いています。
    2. 式フィールドで、次のような計算を作成します。
      [Multi-Search] = ""
      OR
      CONTAINS([Multi-Search],[State])
  6. [String Match (contains) (文字列の一致 (含む))] を [フィルター] シェルフにドラッグします。
  7. [フィルター] ダイアログで [True] をチェックし、[OK] をクリックします。

詳細情報

オプション 1 の制限:

  • データ ソース間でセットを共有することはできません。
  • セットには、データにある値以外の追加の値を含めることはできませんが、値をエイリアス化できます。

オプション 2 の制限:

  • 文字列関数によってパフォーマンスが低下する可能性があります。
  • 値は、データに表示されるとおりに手動で入力する必要があります (チェックボックスは機能しません)。
  • パラメーターのその他の制限事項も引き続き適用されます。
  • さらに高度な文字列の解析 (メタ文字の削除、区切り文字としてカンマと後続のスペース (", ") を使用、完全一致など) では、追加のコードが必要になる場合があります。
この記事で問題は解決しましたか?