Visual SQL でクエリ外の変数コントロールを接続する
ほとんどの場合、クエリでコントロールを参照することで、コントロールをチャートに接続します。これが最も簡単な方法ですが、実際には Visual SQL の他のステップでもコントロールを接続できます。
クエリ外でコントロールを接続する利点の 1 つは、データ ソースのパフォーマンスが向上することです。コントロールがクエリ自体で接続されている場合、ダッシュボード ビューアーでコントロールの値が更新されるたびに、新しいクエリがデータ ソースに送信されます。クエリ外でコントロールを接続すると、クエリ以外のステップで実行された計算と変換がキャッシュされたクエリ結果に適用されるため、コントロールの値が変更されるたびに新しいクエリがデータソースに送信されることはありません。
Unlike filtering in a query, the column that you want to connect your control to must exist in your result set. If you no longer need that column in your result set after connecting your control, you can always hide it. Learn more the “Hide column” step.
「日付バケット」コントロールを接続する
クエリ以外のステップで「日付バケット」コントロールを接続する方法は次のとおりです。
Ensure that the original datetime column in your query uses the Second time bucket; otherwise, this process won’t work. Learn more about changing the time bucket using the aggregation menu.
日時列の [Apply formula (数式の適用)] ステップを選択します。
数式の種類として [カスタム] を選択します。
次の
CASE
文を使用します。case when {DATE_BUCKET_NAME}='minute' then strftime('%Y-%m-%d %H:%M', "Column_Name") when {DATE_BUCKET_NAME}='hour' then strftime('%Y-%m-%d %H:00', "Column_Name") when {DATE_BUCKET_NAME}='date' then strftime('%Y-%m-%d',"Column_Name") when {DATE_BUCKET_NAME}='week' then datepart("Column_Name", 'year')||'-W'||((strftime('%j', date("Column_Name", '-3 days', 'weekday 4')) - 1) / 7 + 1) when {DATE_BUCKET_NAME}='month' then strftime('%Y-%m',"Column_Name") when {DATE_BUCKET_NAME}='year' then strftime('%Y',"Column_Name") when {DATE_BUCKET_NAME}='quarter' then strftime('%Y', "Column_Name")||'-Q'||((datepart("Column_Name", 'month')+2)/3) else "Column_Name" end
[保存] を選択します。
[Group & aggregate (グループと集計)] ステップを選択します。
日時列に [グループ] を選択して、その他の列に適切な集計を選択します。
[保存] を選択します。
「ドロップダウン」コントロールを接続する
「ドロップダウン」コントロールに [複数選択] が選択されていない場合は、次の手順に沿ってクエリ外に接続します。
[フィルター] ステップを選択します。
列に次のフィルター条件を追加します。
"Column_Name" = {DROPDOWN_NAME}
[保存] を選択します。
「ドロップダウン」コントロールに [複数選択] が選択されている場合は、次の手順に沿ってクエリ外に接続します。
[フィルター] ステップを選択します。
列に次のフィルター条件を追加します。
"Column_Name" is one of {DROPDOWN_NAME}
[保存] を選択します。
Connecting a multi-select “Dropdown” control in a “Filter” step does not handle the Show all setting. To reflect this setting, you’ll need to use an alternate method of connecting your multi-select “Dropdown” control outside of a query. Learn more about how to connect a multi-select “Dropdown” control with the “Show all” setting enabled outside of a query.
「テキスト入力」コントロールを接続する
「テキスト入力」コントロールに [複数の値] が選択されていない場合は、次の手順に沿ってクエリ外に接続します。
[フィルター] ステップを選択します。
列に次のフィルター条件を追加します。
"Column_Name" = {TEXT_INPUT_NAME}
[保存] を選択します。
「テキスト入力」コントロールに [複数の値] が選択されている場合は、次の手順に沿ってクエリ外に接続します。
[フィルター] ステップを選択します。
列に次のフィルター条件を追加します。
"Column_Name" is one of {TEXT_INPUT_NAME}
[保存] を選択します。
Just like multi-select “Dropdown” controls, connecting a multi-value “Text input” control in a “Filter” step does not handle the Show all setting. Learn more about how to connect a multi-value “Text input” control with the “Show all” setting enabled outside of a query.
「テキスト入力」コントロールでワイルドカードを使用している場合、それらをクエリ外に接続するにはもう少し作業が必要です。ワイルドカードを使用する「テキスト入力」コントロールの接続方法をご確認ください。
「カレンダー」コントロールを接続する
「カレンダー」コントロールの [データ タイプ] が [日付] の場合は、次の手順に沿ってクエリ外に接続します。
[フィルター] ステップを選択します。
列に次のフィルター条件を追加します。
"Column_Name" = {CALENDAR_NAME}
[保存] を選択します。
「カレンダー」コントロールの [データ タイプ] が [日付範囲] の場合は、次の手順に沿ってクエリ外に接続します。
[フィルター] ステップを選択します。
2 つのフィルター条件を追加します。1 つは開始日、もう 1 つは終了日に対する条件です。
開始日:
"Column_Name" >= {CALENDAR_NAME.START}
終了日:
"Column_Name" <= {CALENDAR_NAME.END}
[保存] を選択します。
この内容はお役に立ちましたか?