BigQuery measuresが一般提供を開始

BigQuery measuresが一般提供を開始、BI指標とナレッジグラフを1つのモデルで定義可能

公開:
CodeCampが提供するDX人材育成が可能なプログラミングやITが学べる公開講座

Google Cloudは、BI指標とナレッジグラフを1つのモデルで定義するBigQuery measuresの一般提供を開始しました。メジャーはBigQuery Graphのエンティティに直接定義され、1つのモデルがAIエージェントやSQL、GQL、ダッシュボードを支えます。[1]

プレビューから一般提供へ移ったBigQuery measuresの新機能と、コード例によるメジャーの定義と集計の解説です。GQLクエリの料金条件やエディションの制限など、利用前の確認点も整理します。[1][2][3]

目次
  1. BigQuery measuresでできること
  2. BigQuery measuresの新機能
  3. BankingGraphでメジャーを使う例
  4. BigQuery measuresの利用条件
  5. メジャーを集計するクエリの選び方

BigQuery measuresでできること

BigQuery measuresでは、指標と、その数値を生んだ関係のつながりを同じモデルで扱います。BIダッシュボードやAIエージェントは、同じ定義から信頼できる数値と背後の関係の文脈を得られます。[1]

1つのモデルで行う定義と集計

図1 1つのモデルで行う定義と集計

メジャーは、ノードテーブルやエッジテーブルのPROPERTIES句で定義する集計プロパティです。集計はテーブルのKEYを基準に行われるため、1つの口座に多数の取引があっても各口座を1回だけ数えられます。[1][2]

取引額や口座数はGRAPH_EXPANDとAGG()で集計し、Pragueで資金を動かした口座IDはGQLで重複なく返す仕組みです。BigQueryで直接実行するGQLクエリは、オンデマンド料金か、EnterpriseまたはEnterprise Plusの予約で実行できます。

BigQuery measuresの新機能

粒度を固定したメジャーとBigQuery Graphとの統合は、プレビューで導入されていました。一般提供のBigQuery measuresは、複雑な業務ロジック向けのモデリングと可視化、エージェントによる指標の意味の発見に重点を置いています。[1]

プレビューから一般提供までの重点

図2 プレビューから一般提供までの重点

MEASURE()によるモデリング機能

MEASURE()は、集計とスカラー演算を組み合わせた式と、ほかのメジャーをAGG()で参照する派生メジャーに対応し、この機能は一般提供です。基準の集計を一度定義し、同じテーブル上でAGG()により上位の計算に組み合わせられます。[1][2]

BigQueryは式の依存関係をスキーマのコンパイル時に検証し、循環参照や不正な集計を早い段階で検出します。ダッシュボードやAIエージェントは、複雑な比率や純額の指標を任意の次元で一貫した精度でクエリ可能です。

一般提供として発表された機能

図3 一般提供として発表された機能

同じ口座に結び付く取引とクレジットカードの表を結合すると、従来は指標が膨らむ「chasm trap」が起きていました。GRAPH_EXPANDの新しいstart_node引数は、各ファクトテーブルを個別の展開ツリーに分けます。

start_node引数による複数ファクトテーブルの集計

図4 start_node引数による複数ファクトテーブルの集計

口座別の例では、start_nodeにTransとCardを指定した2つのGRAPH_EXPANDを、口座IDでLEFT JOINします。この構成では各ブランチが正確な粒度を保ち、取引はあるがカード未発行の口座でも同じです。

Data Studioの可視化機能

Data Studioでの可視化も新機能で、更新されたBigQueryコネクタでグラフに直接接続し、メジャーで対話型の可視化を作れます。Data Studioはグラフモデルの集計ロジックに従い、チャート間で計算をそろえ、クライアント側の意図しない再集計を防ぎます。

Data Studioでできること

図5 Data Studioでできること

メジャーに意味を付ける機能

一般提供では、OPTIONS句で各メジャーの定義に、説明文や業務で使われる類義語、独自のキーと値の拡張を埋め込めます。意味情報はSQLの式と一緒にスキーマに保存され、指標をどこでクエリしても引き継がれます。

一般提供のOPTIONS句で付けられる情報

図6 一般提供のOPTIONS句で付けられる情報


Python研修一覧はこちら

目的に合うPython研修を一覧形式から探したい方は、ぜひご利用ください。

Python研修を比較する

Java研修一覧はこちら

目的に合うJava研修を一覧形式から探したい方は、ぜひご利用ください。

Java研修を比較する

PHP研修一覧はこちら

目的に合うPHP研修を一覧形式から探したい方は、ぜひご利用ください。

PHP研修を比較する

新入社員研修

目的に合う新入社員研修を一覧形式から探したい方は、ぜひご利用ください。

新入社員研修を比較する

全ての研修からも探したい方はこちら

メジャーを見つける機能

BigQueryはKnowledge Catalogと直接統合し、人と機械の双方がメジャーを見つけて使える流れを作ります。BigQuery GraphとメジャーのメタデータはKnowledge Catalogに自動で取り込まれ、類義語や説明で検索可能です。

ガバナンスタグや、使う前のメジャーのSQL定義も確認できます。グラフのメタデータは、業務用語集やスチュワードシップの情報で拡充可能です。

Knowledge Catalogでできること

図7 Knowledge Catalogでできること

BQ.SHOW_GRAPH_EXPAND_SCHEMAは、基になるテーブルをスキャンせずに、展開後のグラフのスキーマをJSONで返す関数です。メジャーには"is_measure": trueの印が付き、説明や類義語も一緒に返されます。

同じ関数にflatten_results => FALSEを渡すと、エンティティの階層はネストしたROW(STRUCT)型で保たれます。エージェントは関係のツリーを調べ、Account.District.cityのようなパスを直接クエリ可能です。

データとAIの連携機能

BigQuery measuresはGoogle Cloudのデータ・AIスタックと統合され、既存のツールでセマンティクスを作成、再利用、クエリできます。Data Agent Kitのgraph skillsでは、自然言語でメジャー定義のひな形作成や記述、検証が可能です。

BigQuery measuresと連携するツール

図8 BigQuery measuresと連携するツール

Lookerで業務指標をモデル化済みなら、LookML-based derived analytic modelsで既存のLookMLモデルを再利用できます。Explore、結合、メジャーをBigQuery Graphへコンパイルでき、derived_analytic_modelはPublic Previewです。[1][4]

統合したグラフとメジャーの定義は、Conversational Analytics(会話型分析)で標準サポートされます。業務ユーザーとAIエージェントは、管理された指標に自然言語で質問できます。

BankingGraphでメジャーを使う例

Google Cloudは、既存の基盤から作り始められる点を統合モデルの主な利点としています。BIのセマンティックレイヤーがあれば管理された指標を対象のエンティティに定義し、ナレッジグラフが基盤なら最も頻繁な走査にメジャーを付ける始め方です。[1]

メジャーを定義して集計する流れ

図9 メジャーを定義して集計する流れ

BigQueryでは、ネイティブテーブルやborderless Lakehouseの既存テーブルに、データを移動せず別のシステムも使わずにモデルを定義できます。次のコードは、取引と口座、地区のテーブルでグラフを作り、取引額の合計と口座数をメジャーにする例です。

-- Entities, relationships, and measures, declared in one model
CREATE OR REPLACE PROPERTY GRAPH retail_banking.BankingGraph
  NODE TABLES (
    retail_banking.trans AS Trans
      KEY (trans_id)
      PROPERTIES (
        trans_id, account_id, amount,
        MEASURE(SUM(amount)) AS total_trans_amount
      ),
    retail_banking.account AS Account
      KEY (account_id)
      PROPERTIES (
        account_id, district_id, stmt_frq,
        MEASURE(COUNT(account_id)) AS account_count
      ),
    retail_banking.district AS District
      KEY (district_id)
      PROPERTIES (district_id, city, state)
  )
  EDGE TABLES (
    retail_banking.trans AS POSTED_TO
      KEY (trans_id)
      SOURCE KEY (trans_id) REFERENCES Trans (trans_id)
      DESTINATION KEY (account_id) REFERENCES Account (account_id)
      NO PROPERTIES,
    retail_banking.account AS LOCATED_IN
      KEY (account_id)
      SOURCE KEY (account_id) REFERENCES Account (account_id)
      DESTINATION KEY (district_id) REFERENCES District (district_id)
      NO PROPERTIES
  );

公式資料からの抜粋:BigQuery measures is now GA: Unifying BI metrics and knowledge graphs for AI accuracy(One model to answer both the what and the why)。対象版・範囲:一般提供(GA)の発表のコード例。

上記のコードでは、MEASURE()で囲んだSUMとCOUNTの式が、total_trans_amountとaccount_countの2つのメジャーです。メジャーで定義したプロパティには、別名を指定する必要があります。[1][2]

次のコードは、GRAPH_EXPANDで展開した出力をAGG()で集計し、都市ごとの取引額と関係する口座数を求める例です。

-- Volume by city, and the accounts behind it, each counted once
SELECT
  District_city,
  AGG(Trans_total_trans_amount) AS total_volume,
  AGG(Account_account_count)    AS accounts_involved
FROM GRAPH_EXPAND("retail_banking.BankingGraph")
GROUP BY District_city;

公式資料からの抜粋:BigQuery measures is now GA: Unifying BI metrics and knowledge graphs for AI accuracy(One model to answer both the what and the why)。対象版・範囲:一般提供(GA)の発表のコード例。

AGG()はメジャーで定義された集計を、キーごとに正確に1回だけ実行します。既定のフラットな出力では、列名はDistrict_cityのようにラベルとプロパティ名をつないだ形式です。


Python基礎・実践(Django)

企業・法人向けのPython研修では、基礎から応用まで体系的に学べます。

Python研修の詳細

DX社員研修

企業・法人向けのDX研修では、実務に繋がるリスキリングでITレベルを向上させます。

DX研修の詳細

Javaエンジニア育成研修

企業・法人向けのJavaエンジニア育成研修では、Javaの基礎から応用まで確実に習得できます。

Java研修の詳細

新卒・新入社員向け研修

企業・法人に新入社員・新卒社員に向けたプログラミング研修を提供しています。

新入社員研修の詳細

コードキャンプのIT研修を全て見る

BigQuery measuresの利用条件

BigQuery measuresは一般提供の機能です。ただし、特定のBigQueryエディションで作成した予約では、メジャーの機能は使えません。[1][2]

料金と会話型分析の条件

BigQuery Graphでは、基になるテーブルのストレージはグラフモデルの数に関係なく1回だけの課金です。課金は標準のBigQueryストレージ料金に従います。[3]

料金と会話型分析の主な条件

図10 料金と会話型分析の主な条件

会話型分析でグラフを使う場合、GQLクエリにはEnterpriseまたはEnterprise Plusエディションの予約が必要で、オンデマンド料金では失敗します。GRAPH_EXPANDを含むクエリはオンデマンド料金でも実行できますが、この関数は全種類のグラフに対応するわけではありません。[5]

会話型分析のエージェントは保存後にロケーションを変更できないため、日本のロケーションを使いたい場合は作成時に確かめます。確認日時点のロケーション一覧にはasia-northeast1(東京)が含まれ、大阪のリージョンは含まれていません。

GRAPH_EXPANDの利用制限

GRAPH_EXPANDを使うクエリで確かめる制限は、以下の通りです。

GRAPH_EXPAND:すべての種類のグラフを受け付けるわけではない/start_node:複数のルートノードテーブルがあるグラフでは指定が必要/flatten_results => FALSE:要素テーブルに、隣接する要素テーブルと同名のプロパティがあると使えない/キャッシュ:グラフを変更しても、GRAPH_EXPANDの結果のキャッシュは無効にならない

グラフを変更しても、GRAPH_EXPANDの結果のキャッシュは無効になりません。正しい出力を得るには、キャッシュ済みの結果の取得を無効にする必要があります。

メジャーを集計するクエリの選び方

GQLではメジャーを含むグラフをクエリできますが、メジャーで定義したプロパティは直接参照できません。メジャーの集計には、GRAPH_EXPANDの出力でAGG()を使います。[2]

GQLとGRAPH_EXPANDの違い

図11 GQLとGRAPH_EXPANDの違い

メジャーを含むBigQuery Graphでは、指標の値はGRAPH_EXPANDとAGG()、数値を生んだ口座などはGQLで調べると、同じ定義で両方に答えられます。会話型分析でグラフを使うオンデマンド料金のプロジェクトでは、GQLクエリが失敗するため、予約のエディションの確認も必要です。[1][2][5]

出典

  1. ^ Google Cloud. 「BigQuery measures is now GA: Unifying BI metrics and knowledge graphs for AI accuracy」. https://cloud.google.com/blog/products/data-analytics/bigquery-measures-ga-unifying-bi-metrics-and-knowledge-graphs, (参照 26-11-10).
  2. ^ Google Cloud. 「メジャーを操作する」. https://docs.cloud.google.com/bigquery/docs/graph-measures?hl=ja, (参照 26-11-11).
  3. ^ Google Cloud. 「BigQuery Graph の概要」. https://docs.cloud.google.com/bigquery/docs/graph-overview?hl=ja, (参照 26-11-11).
  4. ^ Google Cloud. 「derived_analytic_model」. https://docs.cloud.google.com/looker/docs/reference/param-view-derived-analytic-model, (参照 26-11-11).
  5. ^ Google Cloud. 「会話型分析の概要」. https://docs.cloud.google.com/bigquery/docs/conversational-analytics?hl=ja, (参照 26-11-11).

※本記事は公式の一次情報を基に編集しています。内容はAIで確認していますが、誤りや最新情報との差異がある場合は、以下フォームよりご報告ください。

修正・削除・掲載などの依頼はこちら
ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。

企業・法人向けのIT・プログラミング・生成AI研修を探す、比較する - IT・プログラミングを知って学べるコネクトメディア CodeCampが提供するDX人材育成が可能なプログラミングやITが学べる公開講座 - IT・プログラミングを知って学べるコネクトメディア コードキャンプが提供する無料で学べるプログラミングスクール講座 - IT・プログラミングを知って学べるコネクトメディア コードキャンプDX人材育成研修 - IT・プログラミングを知って学べるコネクトメディア 3.5日の研修で、年間1,600時間の削減効果が見込まれる。東京きらぼしフィナンシャルグループのDX人材育成事例 - IT・プログラミングを知って学べるコネクトメディア 配属3ヶ月で30%の生産性向上を実現するいよぎんコンピュータサービスの新人研修に迫る - IT・プログラミングを知って学べるコネクトメディア 金融業界の業務効率化を加速するニッセイアセットマネジメントの生成AI×GAS活用研修事例 - IT・プログラミングを知って学べるコネクトメディア 【製造業のDX人材育成事例】デジタル人材の即戦力化を実現する、日本ガイシ株式会社の異動者向オンボーディング研修 - ITやプログラミングを知って学べるコネクトメディア フューチャーアーキテクト株式会社が実現した新入社員向けIT研修プログラムでタスクフォース制度が主体的な学びと成長を生み出す - IT・プログラミングを知って学べるコネクトメディア コードキャンプDX人材育成研修 - IT・プログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/【IT新入社員研修】オンラインとオフラインの最適バランスを実現したFutureOneの導入事例 - IT・プログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/【新入社員研修】柔軟なハイブリッド型Java研修で実現した新卒20名の成長と成果|サークレイス株式会社 - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/現場により近いところにデジタルを根付かせるDX基礎講座研修|株式会社ブリヂストン - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/業務の効率化・DX推進に向けたIT人材育成への第一歩|株式会社カナエ - ITやプログラミングを知って学べるコネクトメディア 企業・法人向けのIT・プログラミング研修 - ITやプログラミングを知って学べるコネクトメディア

What's New

新着記事

対象者別で探す

子供(小学生・中学生・高校生)向け
プログラミング教室検索する

子供(小学生・中学生・高校生)がロボットやプログラミング言語を学ぶことができるオフラインからオンラインスクールを検索、比較することが可能です。

子供(小学生・中学生・高校生)
プログラミング教室検索する

ITやプログラムなどの
最新情報を検索する

日々、新しいITやプログラミング言語の情報が流れていきますが、特定の情報を時系列でニュースやコラムを確認することができます。

ITやプログラムなどの
最新情報を検索する