コンテンツにスキップ

クエリビルダー

クエリビルダーは、SnowflakeのBrazeデータを使用してレポートを生成します。クエリビルダーには、すぐに使い始められるビルド済みのSQLクエリテンプレートが付属しています。また、独自のカスタムSQLクエリを記述して、さらに多くのインサイトを引き出すこともできます。

前提条件

クエリビルダーを使用するには、ワークスペースレベルで以下の権限が必要です。

権限 許可される操作
「ダッシュボードレポートを表示」 ダッシュボードでクエリビルダーを開く
「PIIを表示」 顧客データを含む場合があるクエリビルダーのデータにアクセスする
「ダッシュボードレポートを編集」 クエリビルダーのレポートを作成、編集、実行する

利用可能なデータテーブル

クエリビルダーは、SQLセグメントエクステンションやSnowflakeデータ共有と同じSnowflake SQLテーブルを使用します。利用可能なテーブルとその列の完全なリストについては、SQLテーブルリファレンスを参照してください。

ユーザープロファイル属性ビュー

クエリビルダーとSQLセグメントエクステンションには、定期的なスナップショットやデフォルト属性の履歴など、ほとんどのユーザープロファイル属性ビューが含まれています。

カスタム属性の次の2つのビューは、Snowflakeデータ共有でのみ利用できます。

  • USER_CUSTOM_ATTRIBUTES_HISTORY_VIEW_SHARED
  • USER_LATEST_STATE_CUSTOM_ATTRIBUTE_VIEW_SHARED

これらのビューはワークスペース規模でのクエリに時間がかかり、タイムアウトすることが多いため、Brazeはクエリビルダーおよびセグメントエクステンションからこれらを除外しています。クエリビルダーでカスタム属性のスナップショットを取得するには、USER_CUSTOM_ATTRIBUTES_VIEW_SHAREDを使用してください。カスタム属性の履歴データやほぼリアルタイムのデータが必要な場合は、代わりにSnowflakeデータ共有を通じて除外されたビューをクエリしてください。

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

クエリビルダーのレポートを実行するには、次の手順に従います。

  1. 分析 > クエリビルダーに移動します。
  2. SQLクエリを作成を選択します。クエリ作成のアイデアやサポートが必要な場合は、クエリテンプレートを選択し、リストからテンプレートを選びます。それ以外の場合は、SQLエディターを選択してエディターに直接進みます。
  3. レポートには、現在の日付と時刻を含む名前が自動的に付けられます。名前にカーソルを合わせてを選択し、SQLクエリにわかりやすい名前を付けます。
  4. エディターでSQLクエリを記述するか、AIクエリビルダータブからAIのサポートを受けます。独自のSQLを記述する場合は、要件とリソースについてカスタムSQLクエリの記述を参照してください。
  5. クエリを実行を選択します。
  6. クエリを保存します。
  7. レポートのCSVをダウンロードするには、エクスポートを選択します。

テンプレートクエリ「過去30日間のチャネルエンゲージメントと収益」の結果を表示しているクエリビルダー。

レポートを実行するたびに、クエリビルダーはSnowflakeで現在利用可能なデータに対してクエリを実行します。新しいデータが到着すると、同じ日の中であっても実行ごとに結果が変わる場合があります。取り込みや処理の遅延により、最近のイベントが表示されるまでに時間がかかることがあります。

クエリテンプレート

クエリテンプレートにアクセスするには、レポートを初めて作成する際にSQLクエリを作成 > クエリテンプレートを選択します。

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

データの時間枠

クエリは過去60日間のデータを返します。CurrentsまたはSnowflakeデータ共有を使用している場合は、Snowflakeでデータが保持される期間である最大2年分のデータをクエリできる場合があります。データ保持期間の延長について詳しくは、カスタマーサクセスマネージャーにお問い合わせください。

クエリビルダーのタイムゾーン

Snowflakeデータベースをクエリする際のデフォルトのタイムゾーンはUTCです。そのため、メールチャネルエンゲージメントページ(会社のタイムゾーンに従います)とクエリビルダーの結果の間で、データに多少の差異が生じる場合があります。

クエリ結果のタイムゾーンを変換するには、次のSQLをクエリに追加し、会社のタイムゾーンに合わせてカスタマイズします。

SELECT
DATE_TRUNC(
'day',
CONVERT_TIMEZONE('UTC','Australia/Sydney', TO_TIMESTAMP(TIME))
) AS send_date_sydney,
COUNT(ID) AS emails_sent
USERS_MESSAGES_EMAIL_SEND_SHARED
WHERE
-- Apply the date range in Sydney time as well
CONVERT_TIMEZONE('UTC','Australia/Sydney', TO_TIMESTAMP(TIME)) >= '2025-03-25 00:00:00'
AND CONVERT_TIMEZONE('UTC','Australia/Sydney', TO_TIMESTAMP(TIME)) < '2025-03-29 00:00:00'
AND APP_GROUP_ID = 'your app group ID'
GROUP BY
send_date_sydney
ORDER BY
send_date_sydney;

クエリ履歴

クエリビルダーのクエリ履歴セクションには、以前に実行したクエリが表示され、作業の追跡や再利用に役立ちます。クエリ履歴は7日間保持され、7日を過ぎたクエリは自動的に削除されます。

より長い期間にわたってクエリの使用状況を監査する必要がある場合や、7日を超えて記録を保持する必要がある場合は、重要なクエリ結果を期限切れになる前にエクスポートまたは保存することをおすすめします。

クエリビルダーと他のレポートソースの比較

クエリビルダーの結果は、異なるデータソースと処理方法を使用しているため、他のレポートツールの結果と異なる場合があります。

たとえば、クエリビルダーのソフトバウンス数は、SendGrid Deliverabilityレポートの数よりも多くなる場合があります。クエリビルダーは、重複を排除せずにソフトバウンスのすべての発生をカウントします。ユーザーが最終的に配信されるまでに(または長期間の再試行後に)複数回ソフトバウンスした場合、各ソフトバウンスの試行がカウントされます。SendGrid Deliverabilityは独自のデータとロジックを使用しており、Brazeはその内容を把握できないため、2つのレポート間でカウントが一致しない場合があります。

さまざまなレポートソースでソフトバウンスがどのように追跡されるかについて詳しくは、メール分析用語集のソフトバウンスを参照してください。

AIクエリビルダーでSQLを生成する

AIクエリビルダーは、OpenAIが提供するGPTを活用して、クエリに適したSQLを提案します。

SQL AIクエリビルダー。

AIクエリビルダーでSQLを生成するには、次の手順に従います。

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

ヒント

  • SQLテーブルリファレンスで、利用可能なテーブルと列を確認しておきましょう。これらのテーブルに存在しないデータを要求すると、ChatGPTが架空のテーブルを作成する場合があります。
  • この機能のSQL記述ルールを確認しておきましょう。これらのルールに従わないと、エラーが発生します。
  • AIクエリビルダーでは、1分あたり最大20件のプロンプトを送信できます。

私のデータはどのように使用され、OpenAIに送られますか?

OpenAIを活用するBrazeAI機能を通じてAI出力(以下「出力」)を生成するために、Brazeは特定の情報(以下「入力」)をOpenAIに送信します。入力はお客様のプロンプトで構成され、該当する場合にはダッシュボードに表示されるコンテンツやお客様のクエリに関連するその他のワークスペースデータが含まれることがあります。OpenAIのAPIプラットフォームのコミットメントに基づき、Braze経由でOpenAIのAPIに送信されたデータは、OpenAIモデルのトレーニングや改善には使用されません。OpenAIは不正利用の監視を目的として最大30日間データを保持し、その後削除します。お客様とBrazeの間において、出力はお客様の知的財産です。Brazeは、かかる出力に対する著作権の所有権を主張しません。Brazeは、出力を含め、AIが生成したコンテンツに関していかなる種類の保証も行いません。

カスタムSQLクエリの記述

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

クエリビルダー内でテーブルの詳細を表示するには:

  1. クエリビルダーページから、Referenceパネルを開き、Available Data Tablesを選択して、利用可能なデータテーブルとその名前を表示します。
  2. See Detailsを選択して、テーブルの説明やデータタイプなどのテーブルカラムに関する情報を表示します。
  3. SQLにテーブル名を挿入するには、 Copy table name to SQL editorを選択します。

Brazeが提供するビルド済みクエリを使用するには、クエリビルダーでレポートを最初に作成するときにQuery Templateを選択します。

クエリを特定の期間に制限すると、結果をより速く生成できます。以下は、過去1時間の購入数と生成された収益を取得するクエリの例です。

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か月間のメール送信数を取得します:

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()));

CANVAS_ID、CANVAS_VARIATION_API_ID、またはCAMPAIGN_IDをクエリすると、関連する名前カラムが結果テーブルに自動的に含まれます。SELECTクエリ自体にそれらを含める必要はありません。

ID名 関連する名前カラム
CANVAS_ID キャンバス名
CANVAS_VARIATION_API_ID キャンバスバリアント名
CAMPAIGN_ID キャンペーン名

このクエリは、3つのIDすべてとそれに関連する名前カラムを最大100行で取得します:

SELECT CANVAS_ID, CANVAS_VARIATION_API_ID, CAMPAIGN_ID
FROM USERS_MESSAGES_EMAIL_SEND_SHARED
LIMIT 100

キャンペーンバリアント名を自動入力する

キャンペーンバリアント名を自動入力するには、次の例のようにクエリにカラム名MESSAGE_VARIATION_API_IDを含めます:

SELECT CANVAS_ID, CANVAS_VARIATION_API_ID, CAMPAIGN_ID, MESSAGE_VARIATION_API_ID
FROM USERS_MESSAGES_EMAIL_SEND_SHARED
LIMIT 100

トラブルシューティング

クエリは以下のいずれかの理由で失敗する場合があります:

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

変数の使用

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

変数を作成すると、クエリビルダーレポートの変数タブに表示されます。SQL変数を使用するメリットには以下があります。

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

ガイドライン

変数は次のLiquid構文に従う必要があります: {{ type.${name}}}。ここで、typeは受け入れられるタイプのいずれかである必要があり、nameには任意の名前を指定できます。これらの変数のラベルは、デフォルトで変数名になります。

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

変数タイプ

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

数値

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

日付範囲

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

値の例

日付範囲タイプには、相対、開始日、終了日、日付範囲があります。

start_dateとend_dateの両方を同じ名前で使用すると、4つのタイプすべてが表示されます。どちらか一方のみを使用した場合は、関連するタイプのみが表示されます。

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

メッセージング

メッセージング変数の状態を1つのグループにまとめたい場合は、すべての変数で同じ識別子を共有する必要があります。

キャンバス

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

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

複数のキャンバスを選択するためのものです。キャンペーンと同じ名前を共有すると、変数タブにキャンバスまたはキャンペーンのいずれかを選択するためのラジオボタンが表示されます。

  • 置換値: キャンバスのBSON ID(複数)
  • 使用例: canvas_id IN ({{canvases.${some name}}})
キャンペーン

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

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

複数のキャンペーンを選択するためのものです。キャンバスと同じ名前を共有すると、変数タブにキャンバスまたはキャンペーンのいずれかを選択するためのラジオボタンが表示されます。

  • 置換値: キャンペーンのBSON ID(複数)
  • 使用例: campaign_id IN ({{campaigns.${some name}}})
キャンペーンバリアント

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

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

選択したキャンバスに属するキャンバスバリアントを選択するためのものです。キャンバス変数または複数キャンバス変数と組み合わせて使用する必要があります。

  • 置換値: キャンバスバリアントのAPI ID。api-id1, api-id2のようにカンマで区切られた文字列です。
  • 使用例: canvas_variation_api_id IN ({{canvas_variants.${some name}}})
キャンバスステップ

選択したキャンバスに属するキャンバスステップを選択するためのものです。キャンバス変数と組み合わせて使用する必要があります。

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

選択したキャンバスに属するキャンバスステップを選択するためのものです。キャンバス変数または複数キャンバス変数と組み合わせて使用する必要があります。

  • 置換値: キャンバスステップのAPI ID(複数)
  • 使用例: canvas_step_api_id IN ({{canvas_steps.${some name}}})
New Stuff!