Skip to content

クエリビルダー

クエリービルダーは、SnowflakeでBrazeデータを使用してレポートsを生成します。クエリビルダーには、事前組み込みの SQL クエリテンプレートが付属しているので、すぐに始めることができます。また、独自のカスタム SQL クエリを作成して、より多くのインサイトを得ることもできます。

クエリビルダーは一部の顧客データに直接アクセスできるため、”View PII” permission がある場合にのみクエリビルダーにアクセスできます。

クエリービルダーでのレポートの実行

クエリービルダーレポートを実行するには:

  1. [分析] > [クエリビルダー] に移動します。

2.Create SQL Queryを選択します。クエリの作成にヒントやヘルプが必要な場合は、[クエリテンプレート] を選択し、リストからテンプレートを選択します。それ以外の場合は、[SQL エディター] を選択してエディターに直接移動します。

  1. レポートには、現在の日時からなる名前が自動的に付けられます。名前の上にマウスポインタを置き、 を選択して、SQL クエリに意味のある名前を付けます。 4.エディターで SQL クエリを記述するか、[AI クエリビルダー] タブから AI の支援を受けます。独自のSQL を記述する場合は、カスタムSQL クエリの記述を参照してください。
  2. Run Queryを選択します。
  3. クエリを保存します。
  4. レポートのCSV を読み込むするには、エクスポート を選択します。

クエリビルダは、テンプレートd クエリ&クォートの結果を表示します。過去30 日間のチャネルエンゲージメントと収益。

各レポートの結果は、1 日に 1 回生成できます。同じレポートを 1 日に複数回実行すると、それらのレポートに同じ結果が表示されます。

クエリテンプレート

すべてのクエリーは、過去60 日間のサーフェスデータをテンプレートします。最初にレポートを作成するときに、Create SQL Query > Query テンプレート を選択して、テンプレートにアクセスします。

使用可能なテンプレートの一覧については、クエリーテンプレートsを参照してください。

AI Query Builderを使用したSQLの生成

AI クエリビルダーは OpenAI を搭載した GPT を活用して、クエリの SQL を提案します。

AI Query Builder を使用してSQL を生成するには

  1. クエリビルダーでレポートを作成したら、[AI クエリビルダー] タブを選択します。
  2. プロンプトを入力するか、サンプルプロンプトを選択し、Generate を選択してプロンプトをSQL に変換します。
  3. 生成されたSQL が正しいかどうかを確認し、Editor に挿入を選択します。

ヒント

  • 利用可能な Snowflake データテーブルをよく理解してください。これらのテーブルに存在しないデータを要求すると、ChatGPT が正しくないテーブルを作成する可能性があります。
  • この機能の SQL 記述ルールをよく理解してください。このルールに従わないと、エラーが発生します。
  • AI クエリビルダーでは、1 分あたり最大 20 個のプロンプトを送信できます。

データはどのように使用されて、OpenAI に送信されるのですか?

SQL を生成するために、Braze はプロンプトを OpenAI の API プラットフォームに送信します。Braze から OpenAI に送信されるすべてのクエリは匿名化されます。つまり、提供するコンテンツに一意に識別できる情報を含めない限り、OpenAI はクエリの送信元を特定できません。OpenAI の API プラットフォームコミットメントに詳述されているように、Braze 経由で OpenAI の API に送信されたデータは、モデルのトレーニングや改善には使用されず、30日後に削除されます。使用ポリシーなど、お客様に関連する OpenAI のポリシーを必ず順守してください。Braze は AI が生成したコンテンツに関していかなる種類の保証も行いません。

カスタムSQL クエリーの作成

Snowflake構文 を使用してSQL クエリーを記述します。クエリ可能なテーブルとカラムの全リストについては、テーブルのリファレンスを参照してください。

クエリービルダー内でテーブルの詳細を表示するには次の手順に従います。

  1. [クエリービルダー] ページから [参照] パネルを開き、[利用可能なデータテーブル] を選択すると、利用できるデータテーブルとその名前が表示されます。
  2. 詳細を選択して、テーブルの説明とデータ型などのテーブル列に関する情報を表示します。
  3. SQL にテーブル名を挿入するには、にコピーします。

Braze によって提供される事前記述されたクエリを使用するには、クエリビルダーでレポートを最初に作成するときにクエリテンプレート を選択します。

クエリを特定期間に限定すると、結果を迅速に生成できます。以下に、過去 1 時間の購入数と収益を取得するクエリの例を示します。

1
2
3
SELECT COUNT(*) as Purchases, SUM(price) as Revenue
FROM USERS_BEHAVIORS_PURCHASE_SHARED
WHERE to_date(to_timestamp_ntz(time)) >= DATEADD('hour', -1, date_trunc('day',CURRENT_DATE()));

次のクエリは、先月のメール送信数を取得します。

1
2
3
SELECT COUNT(*) as Sends
FROM USERS_MESSAGES_EMAIL_SEND_SHARED
WHERE to_date(to_timestamp_ntz(time)) >= DATEADD('month', -1, date_trunc('day',CURRENT_DATE()));

トラブルシューティング

クエリは次のいずれかの理由で失敗する可能性があります。

  • SQL クエリの構文エラー
  • 処理タイムアウト (6 分後)
    • レポートの実行が 6 分を超えると、タイムアウトします。
    • レポートがタイムアウトした場合は、クエリするデータの時間範囲を限定するか、より具体的なデータセットをクエリしてみてください。

変数の使用

変数を使用すると、SQL で事前定義された変数タイプを使用して、値を手動でコピーすることなく値を参照できます。例えば、キャンペーン ID を SQL エディターに手動でコピーする代わりに、{{campaign.${My campaign}}} を使用して [変数] タブのドロップダウンからキャンペーンを直接選択できます。

変数を作成すると、その変数がクエリビルダーレポートの [変数] タブに表示されます。SQL 変数を使用する利点を以下に示します。

  • レポート作成時にキャンペーン ID を貼り付ける代わりに、キャンペーン変数を作成してリストから選択することで、時間を節約できます。
  • レポートを再利用できる変数を追加しておくと、将来、少し異なるユースケース (別のカスタムイベントなど) で値を入れ替えることができます。
  • 各レポートに必要な編集作業を減らすことで、SQL 編集時のユーザーエラーを低減できます。SQL に慣れているチームメンバーがレポートを作成すると、技術系以外のメンバーも使用できます。

ガイドライン

変数は Liquid 構文: {{ type.${name}}} に従う必要があります。ここで、type は受け入れられる型の 1 つでなければならず、name は自由に指定できます。これらの変数のラベルは、デフォルトで変数名になります。

デフォルトでは、日付範囲を除くすべての変数が必須です (変数値を選択しない限りレポートは実行されません)。日付範囲は、値を指定しないとデフォルトで過去 30 日間になります。

変数タイプ

次の変数タイプを使用できます。

数値

  • 置換する値:指定された値 (5.5 など)
  • 使用例: some_number_column < {{number.${some name}}}

期間

start_dateend_date の両方を使用する場合は、日付範囲として使用できるように、同じ名前を使用する必要があります。

値の例

期間タイプには、相対日付、開始日、終了日、または日付範囲を指定できます。

start_dateend_date の両方を同じ名前で使用した場合、4 つのタイプすべてが表示されます。1 つのみを使用した場合、関連するタイプのみが表示されます。

日付範囲タイプ 説明 必要な値
相対 過去X日間を指定します 必須 start_date
開始日 開始日を指定します 必須 start_date
終了日 終了日を指定します 必須 end_date
期間 開始日と終了日の両方を指定します start_dateend_date
  • 置換する値:start_dateend_date を、指定された日付の UTC での Unix タイムスタンプ (秒単位) に置き換えます (1696517353 など)。
  • 使用例:相対、開始日、終了日、および期間の変数すべてについて:
    • time > {{start_date.${some name}}} AND time < {{end_date.${some name}}}
      • 期間が不要の場合は、start_date または end_date のいずれかを使用できます。

メッセージング

1 つのグループでステートを結合する場合は、すべてのメッセージング変数が同じ識別子を共有する必要があります。

canvas

キャンバスを 1 つ選択する場合に使用します。同じ名前をキャンペーンで共有すると、変数タブ内に、キャンバスまたはキャンペーンを選択するためのラジオボタンが表示されます。

  • 置換する値:キャンバスの BSON ID
  • 使用例: canvas_id = ‘{{canvas.${some name}}}’
Canvases

キャンバスを複数選択する場合に使用します。同じ名前をキャンペーンで共有すると、Variablesタブ内にラジオボタンが表示され、キャンバスまたはキャンペーンを選択できます。

  • 置換する値:各キャンバスの BSON ID
  • 使用例: canvas_id IN ({{canvases.${some name}}})
campaign

キャンペーンを 1 つ選択する場合に使用します。キャンバスと同じ名前を共有すると、Variablesタブ内に、キャンバスまたはキャンペーンを選択するためのラジオボタンが表示されます。

  • 置換する値:キャンペーンの BSON ID
  • 使用例: campaign_id = ‘{{campaign.${some name}}}’
campaigns

キャンペーンを複数選択する場合に使用します。キャンバスと同じ名前を共有すると、Variablesタブ内にラジオボタンが表示され、キャンバスまたはキャンペーンを選択できます。

  • 置換する値:各キャンペーンの BSON ID
  • 使用例: campaign_id IN ({{campaigns.${some name}}})
campaign_variants

選択したキャンペーンに属するキャンペーンバリアントを選択する場合に使用します。campaign 変数または campaigns 変数と組み合わせて使用する必要があります。

  • 置換する値:キャンペーンバリアントの API ID。コンマで区切られた文字列 (api-id1, api-id2 など)。
  • 使用例: message_variation_api_id IN ({{campaign_variants.${some name}}})
canvas_variants

選択したキャンバスに属するキャンバスバリアントを選択する場合に使用します。これは、キャンバスまたはキャンバス変数で使用する必要があります。

  • 置換する値:キャンバスバリアントの API ID。コンマで区切られた文字列 (api-id1, api-id2 など)。
  • 使用例: canvas_variation_api_id IN ({{canvas_variants.${some name}}})
canvas_step

選択したキャンバスに属するキャンバスステップを 1 つ選択する場合に使用します。canvas 変数とともに使用する必要があります。

  • 置換する値:キャンバスステップの API ID
  • 使用例: canvas_step_api_id = ‘{{canvas_step.${some name}}}’
canvas_steps

選択した複数のキャンバスに属するキャンバスステップを複数選択する場合に使用します。これは、キャンバスまたはキャンバス変数で使用する必要があります。

  • 置換する値:各キャンバスステップの API ID
  • 使用例: canvas_step_api_id IN ({{canvas_steps.${some name}}})

products

製品名のリストを選択する場合に使用します。

  • 置換する値:製品名は、一重引用符で囲み、コンマで区切ります (product1, product2 など)。
  • 使用例: product_id IN ({{products.${product name (optional)}}})

custom_events

カスタムイベントのリストを選択する場合に使用します。

  • 置換する値:カスタムイベントのプロパティ名はコンマで区切ります(event1, event2 など)。
  • 使用例: name = ‘{{custom_events.${event names)}}}’

custom_event_properties

カスタムイベントプロパティ名のリストを選択する場合に使用します。custom_events 変数とともに使用する必要があります。

  • 置換する値:カスタムイベントのプロパティ名はコンマで区切ります(property1, property2 など)。
  • 使用例: name = ‘{{custom_event_properties.${property names)}}}’

workspace

ワークスペースを選択する場合に使用します。

  • 置換する値:ワークスペースの BSON ID
  • 使用例: workspace_id = ‘{{workspace.${app_group_id}}}’

catalogs

カタログを選択する場合に使用します。

  • 置換する値:カタログの BSON ID
  • 使用例: catalog_id = ‘{{catalogs.${catalog}}}’

catalog_fields

カタログのフィールドを選択する場合に使用します。これはカタログ s 変数と一緒に使用する必要があります。

  • 置換する値:カタログフィールド名
  • 使用例: field_name = '{{catalog_fields.${some name}}}’

options

オプションのリストから選択する場合に使用します。

  • 置換する値:選択したオプションの値
  • 使用例:
    • 選択肢を持つドロップダウンの場合: {{options.${metrics} | is_multi_select: 'true' | options: '[{"label": "test", "value": "test_value"}, {"label": "test2", "value": "test_value2"}]'}}
      • is_multi_select を使用すると、エンドユーザーが複数のオプションを選択できるかどうかを指定できます
    • ラジオボタンの場合: {{options.${metrics} | is_radio_button: 'true' | options: '[{"label": "test", "value": "test_value"}, {"label": "test2", "value": "test_value2"}]'}}

セグメント

Analytics Trackingが有効になっているSegmentを選択します。

  • 置換する値:この列が使用可能なテーブルのuser_segment_membership_ids 列に格納されているID に対応するSegment 分析 ID。
  • 使用例: {{segments.${analytics_segments}}}

string

繰り返される文字列値をレポート実行の合間に変更する場合に使用します。この変数を使用すると、SQL 内の値を複数回ハードコーディングする必要がなくなります。

  • 置換する値:引用符で囲まないそのままの文字列
  • 使用例: {{string.${some name}}}

tags

キャンペーンやキャンバスのタグを選択する場合に使用します。

  • 置換する値:選択したタグに関連付けられているキャンペーンとキャンバスの BSON ID。一重引用符で囲み、コンマで区切ります。
  • 使用例: {{tags.${some tags}}}

変数のメタデータ

メタデータは、変数名の後にパイプ( )文字を付けてメタデータをアプリ終了することで、その動作を変更するために変数にアタッチできます。メタデータの順序は関係なく、いくつでも追加できます。さらに、特定の変数に固有の特殊なメタデータを除き、すべてのタイプのメタデータを任意の変数に使用できます。特殊なメタデータについてはそのセクションで説明します。メタデータの使用はすべて任意であり、デフォルトの変数の動作を変更するために使用されます。

使用例: {{string.${my var}| is_required: ‘false’ | description: ‘My optional string var’}}

visible

変数が表示されるかどうかを指定します。すべての変数はデフォルトで [変数] タブに表示され、値を入力できます。

他の変数に値があるかどうかなど、値が他の変数に依存する特殊変数がいくつかあります。これらの特殊変数は、Variablesタブに表示されないように、非表示としてマークされます。

使用例: visible: ‘false’

required

変数がデフォルトで必須かどうかを指定します。変数の値が空の場合、通常は正しくないクエリになります。

使用例: required: ‘false’

order

[変数] タブでの変数の位置を選択する場合に使用します。

使用例: order: ‘1’

include_quotes

変数の値を一重引用符で囲む場合に使用します。

使用例: include_quotes: ‘true’

include_double_quotes

変数の値を二重引用符で囲む場合に使用します。

使用例: include_double_quotes: ‘true’

is_multi_select

選択肢を持つドロップダウンで単一選択または複数選択のいずれを許可するかを指定します。現在、options 変数を使用する場合にのみ、このメタデータを含めることができます。

使用例: is_multi_select: ‘true’

is_radio_button

[変数] タブの選択肢を持つドロップダウンの代わりに、ラジオボタンとしてオプションを表示します。options 変数を使用する場合にのみ、このメタデータを含めることができます。

使用例: is_radio_button: ‘true’

options

選択可能なオプションのリストをラベルと値の形式で提供する場合に使用します。ラベルが表示され、オプションが選択されたときに変数が値に置き換えられます。options 変数を使用する場合にのみ、このメタデータを含めることができます。

使用例: options: '[{"label": "test", "value": "test_value"}, {"label": "test2", "value": "test_value2"}]'

placeholder

変数の入力フィールドに表示されるプレースホルダーのテキストを指定します。

使用例: placeholder: ‘enter some value’

description

変数の入力フィールドの下に表示される説明テキストを指定します。

使用例: description: ‘some description’

default_value

値が指定されていない場合の変数のデフォルト値を指定します。

使用例: default_value: ‘5’

hide_label

変数名のラベルを非表示にします。変数名はデフォルトのラベルとして使用されます。

使用例: hide_label: ‘true’

特殊変数

次の変数は他の変数とともに使用できます。

他の変数の値の有無

変数の値が入力されているかどうかを知る場合に使用します。これは、オプションの変数に値が入力されていない場合に条件を短絡評価する場合に便利です。

  • 置換する値: 他の変数の値に応じて true または false
  • 使用例: {{string.${type_name_has_no_value} | visible: 'false'}} or {{string.${type_name_has_value} | visible: 'false'}}

typename は参照先の変数のものです。例えば、オプション変数 {{campaigns.${messaging}} を短絡評価するには、次の文を使用できます。 {{string.${campaigns_messaging_has_no_value} | visible: 'false'}} OR campaign_id IN ({{campaigns.${messaging} | is_required: ‘false’}})

レポートのタイムアウト

実行に6 分以上かかるレポートはタイムアウトになります。これが、ある時点で実行する最初のクエリである場合、処理に時間がかかるため、タイムアウトする可能性が高くなります。タイムアウトした場合は、レポートをもう一度実行してみてください。

リトライ後もレポートタイムアウトやエラーが発生した場合は、サポートまでお問い合わせください。

データと結果

結果および結果のエクスポートは、最大 1,000 行のテーブルです。大量のデータを必要とするレポートには、Currents や Braze のエクスポート API など、他のツールを使用してください。

クエリービルダーの使用量の監視

Braze の各ワークスペースには、1 か月あたり 5 の Snowflake クレジットがあります。Snowflake クレジットのごく一部が、クエリを実行したりテーブルをプレビューしたりするたびに使用されます。

クレジット使用量は SQL クエリの実行時間と関係しています。実行時間が長いほど、クエリで消費される Snowflake クレジットの量が多くなります。実行時間は、時間の経過に伴うクエリの複雑さとサイズによって異なります。実行するクエリが複雑で頻繁になるほど、リソースの割り当てが大きくなり、実行時間が短縮されます。

Braze の SQL エディターでレポートの作成、編集、保存を行う場合、クレジットは使用されません。クレジットは、毎月 1 日午前 12 時 (UTC) に 5 にリセットされます。[クエリビルダー] ページの上部で、月次クレジット使用量を監視できます。

当月に使用されたクレジットの量を示すクエリビルダー。

クレジット上限に達すると、クエリの実行はできませんが、SQL レポートの作成、編集、および保存はできます。クエリビルダーのクレジットをさらに購入する場合は、アカウントマネージャーにお問い合わせください。

「このページはどの程度役に立ちましたか?」
New Stuff!