【Metabaseチュートリアル】Questionにフィルターを設定してみよう


< 前(Questionを作ってみよう)
> 次(ビジュアライゼーションを理解しよう)

このチュートリアルで理解できること

  • NativeQueryで作成したQuestionに対するフィルターの設定方法について

フィルターの追加

  • NativeQueryでは、下記の記述方式を用いることでSQL内で変数を宣言することができます。
    • 任意の変数名を宣言することができますが、半角英数字以外は受け付けないためご注意ください。
  • {{変数名}}と書くことで、変数として扱われます。
  • 変数を含む条件を[[]]で囲むことで、変数の入力を任意にすることができます。
SELECT 
  * 
FROM
  products 
WHERE 
  category = {{categoryName}} 
  [[AND vendor = {{vendorName}}]] 
  • 変数を宣言すると右側に変数の設定パネルが表示されます。
  • フィルターラベル
    • 任意の名称をフィルターにつけることができます。
  • 値タイプ
    • テキスト:フィルターに入力された値を、文字列型のデータとして受け取ります。
    • 数値:フィルターに入力された値を、数値型のデータとして受け取ります。
    • 日付:フィルターに入力された値を、日付型のデータとして受け取ります。また、フィルター選択時にカレンダーが表示されます。
    • フィールドフィルター:選択したカラムの中身をフィルターの選択肢にすることができます。

実践

  1. categoryName変数のフィルターラベルをcategory_name、値タイプをテキストに設定してみましょう。
  2. vendorName変数のフィルターラベルをvendor_name、値タイプをテキストに設定してみましょう。
  3. category_nameフィルターにGizmoと入力し実行して、抽出結果が絞られることを確認してみましょう。
  4. category_nameの中身を消去し、vendor_nameフィルターにConnelly-Ritchieと入力して実行するとエラーが表示されることを確認しましょう。
  5. category_nameフィルターにGizmovendor_nameフィルターにConnelly-Ritchieと入力し実行して、抽出結果が絞られることを確認してみましょう。

確認

  • 実践を全て完了した時点で、下記画像と同じ状態であれば正解です。
  • 上書き形式でQuestionを保存しましょう。