データポータルを使用して BigQuery データを可視化する

BigQuery は、ペタバイト級のアナリティクス データ ウェアハウスであり、巨大容量のデータに対して SQL クエリをリアルタイムに近い速度で実行できます。

データ可視化ツールは、BigQuery データを把握して、インタラクティブに分析するのに役立ちます。可視化ツールにより、傾向を把握して対処し、データを利用して予測を行うことができます。このチュートリアルでは、Google データポータルを使用して、BigQuery の natality サンプル テーブルのデータを可視化します。

目標

このチュートリアルの内容は、次のとおりです。

  • BigQuery データソースに接続する
  • レポートやグラフを作成し、BigQuery データを可視化する

料金

Google データポータルの BigQuery コネクタを使用すると、Google データポータル内の BigQuery テーブルからデータにアクセスできます。 BigQuery は有料プロダクトであり、Google データポータルを使用して BigQuery にアクセスすると、BigQuery の利用料金が発生します。BigQuery クエリの料金については、毎月 1 TB まで無料です。詳細については、BigQuery の料金ページをご覧ください。

始める前に

このチュートリアルを始める前に、Google Cloud Console を使用して、プロジェクトを作成または選択し、課金を有効にします。

  1. Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。

  2. GCP Console のプロジェクト セレクタのページで、GCP プロジェクトを選択または作成します。

    プロジェクト セレクタのページに移動

  3. Google Cloud Platform プロジェクトに対して課金が有効になっていることを確認します。 プロジェクトに対して課金が有効になっていることを確認する方法を学習する

  4. 新しいプロジェクトでは、BigQuery が自動的に有効になります。既存のプロジェクトで BigQuery を有効にするには、 BigQuery必要な を有効にします。

    を有効にする

Google データポータルと BigQuery コネクタを使用してレポートやグラフを作成する

チュートリアルのこのセクションでは、Google データポータルと BigQuery コネクタを使用して、BigQuery のデータを可視化します。natality サンプル テーブルのデータを可視化するためのデータソース、レポート、グラフを作成します。

データソースを作成する

Google データポータルでレポートを作成する際の最初のステップは、レポートのデータソースを作成することです。レポートには 1 つ以上のデータソースを含めることができます。BigQuery データソースを作成する際は、Google データポータルで BigQuery コネクタが使用されます。

BigQuery データソースを Google データポータルのレポートに追加するには、適切な権限が付与されている必要があります。さらに、BigQuery データセットに適用される権限は、Google データポータルで作成するレポート、グラフ、ダッシュボードにも適用されます。Google データポータルのレポートが共有されている場合、適切な権限を持っているユーザーのみがそのレポートのコンポーネントを表示できます。

データソースを作成するには:

  1. Google データポータルを開きます。

  2. [レポート] ページの [テンプレートを使って開始] セクションで [空のレポート] テンプレートをクリックします。これによって、新しい無題のレポートが作成されます。

    空のテンプレート

  3. プロンプトが表示されたら、[マーケティング設定] と [アカウントとプライバシー] に値を設定して、[保存] をクリックします。設定を保存した後、もう一度 [空のレポート] テンプレートのクリックが必要になる場合があります。

  4. [データソースを追加] ウィンドウで [新しいデータソースを作成] をクリックします。

    データソースを追加する

  5. [Google コネクタ] セクションで BigQuery にカーソルを合わせて、[選択] をクリックします。

  6. [承認] セクションにある [承認] をクリックします。これによって、Google データポータルから GCP プロジェクトにアクセスできるようになります。

  7. [許可のリクエスト] ダイアログ ボックスで [許可] をクリックすると、Google データポータルで BigQuery のデータを表示できるようになります。以前に Google データポータルを使用している場合には、このプロンプトが表示されない可能性があります。

  8. [マイ プロジェクト] で、[一般公開データセット] をクリックします。

  9. [課金プロジェクト] で、以前に作成した GCP プロジェクトの名前をクリックします。

  10. [一般公開データセット] で [samples] をクリックします。

  11. [] で [natality] をクリックします。

    natality テーブル

  12. ウィンドウの右上隅で [接続] をクリックします。Google データポータルが BigQuery データソースに接続されると、テーブルのフィールドが表示されます。このページは、フィールドのプロパティの調整や、新しい計算フィールドの作成に使用できます。

  13. natality テーブルには、year フィールドと source_year フィールドの値が整数として格納されています。Google データポータルでこれらの列を文字列として使用するには、列の型をテキストに変更します。year フィールドと source_year フィールドの右側にある [タイプ] 列で [数値] をクリックし、プルダウン リストから [テキスト] を選択します。

    [フィールド] ダイアログ

  14. [レポートに追加] をクリックします。

    レポートに追加する

  15. プロンプトが表示されたら、[レポートに追加] をクリックします。

  16. [許可のリクエスト] ダイアログ ボックスで [許可] をクリックすると、Google データポータルで Google ドライブ内のファイルを表示したりや管理できるようになります。以前に Google データポータルを使用している場合には、このプロンプトが表示されない可能性があります。

計算フィールドを使用して棒グラフを作成する

natality データソースをレポートに追加したら、次の手順は可視化することです。棒グラフを作成することから始めます。棒グラフには、毎年の合計出生数を表示します。年ごとの出生数を表示するには、計算フィールドを作成します。

年ごとの合計出生数を表示する棒グラフを作成するには:

  1. (省略可)ページの先頭にある [無題のレポート] をクリックして、レポート名を変更します。たとえば、BigQuery tutorial と入力します。

  2. レポート エディタが読み込まれたら、[挿入] > [棒グラフ] をクリックします。

  3. ハンドルを使用して、グラフをレポートに配置します。

  4. [Data] タブで、データソース(natality)の値と、[ディメンション] および [指標] のデフォルト値を確認します。

  5. 出生数を年別にグラフ化しているので、ディメンションは source_year に設定されているはずです。source_year がデフォルトのディメンションになっていない場合は、[使用可能な項目] の [source_year] をクリックし、デフォルトのディメンションにドラッグして置き換えます。

  6. [指標] で、[指標を追加] をクリックします。

  7. 指標選択ツールで、[フィールドを作成] をクリックします。

  8. 年ごとに出生した子供の数を性別で表示するには、計算フィールドを作成します。このチュートリアルでは、[is_male] フィールドのエントリ数をカウントします。[is_male] の値は、子供が男の子の場合は true で、女の子の場合は false です。新しい指標のウィンドウで、[名前] に「birth_count」と入力します。

  9. [計算式] に COUNT(is_male) と入力します。

  10. [適用] をクリックします。

  11. レポートページをクリックして、指標選択ツールを閉じます。

  12. 指標を追加したら、デフォルトの指標にカーソルを置き、右側にある削除アイコンをクリックします。ディメンションが source_year に、指標が birth_count に設定されているはずです。

  13. デフォルトではグラフが降順で並べ替えられ、最も出生数が多い年が最初に表示されます。

    合計出生数のグラフ

  14. グラフを拡張するには、棒ラベルを変更します。棒グラフのプロパティ ウィンドウで [スタイル] タブをクリックします。

  15. [棒グラフ] セクションで [データラベルを表示] チェックボックスをオンにします。

    ラベルを表示する

    出生数がグラフの各棒の上に表示されます。

  16. birth_count ではなく、source_year を基準としてデータを並べ替えます。棒グラフのプロパティ ウィンドウの [データ] タブにある [並べ替え] セクションで、次の操作を行います。

    • [新規フィールド] をクリックします。
    • 並べ替え順選択ツールで [グラフに関するフィールド] までスクロールし、[source_year] を選択します。
    • ダイアログの外側をクリックして、並べ替え順選択ツールを閉じます。
    • [降順] をクリックし、[昇順] を選択します。 年ごとの出生数を昇順に表示するように画面が変更されます。

    昇順の出生数

グラフにフィルタを追加する

現在、棒グラフに年ごとの出生した男の子と女の子の合計数が表示されています。年ごとに出生した女の子の数だけを表示するようにフィルタを追加します。

  1. 棒グラフのプロパティ ウィンドウで [データ] タブをクリックします。

  2. [フィルター] セクションで [フィルターを追加] をクリックします。

  3. [フィルタの作成] ウィンドウで次の操作を行います。

    • [名前] に「Female birth count」と入力します。
    • [一致条件] をクリックして、[除外条件] に変更します。
    • [項目を選択] をクリックして、[is_male] を選択します。
    • [条件を選択] をクリックして、[真] を選択します。
    • [保存] をクリックします。

    [フィルタの作成] ウィンドウ

グラフが更新され、年ごとに出生した女の子の人数だけが表示されます。また、凡例は変更されていないことにも注目してください。凡例名にはまだ metric - birth_count の名前が反映されています。

フィルタ後のグラフ

カスタムクエリを使用してグラフを作成する

[カスタムクエリ] オプションを使用してグラフを作成すると、BigQuery の全クエリ機能(JOIN、UNION、分析機能など)を使用できます。

また、ビューの作成によっても BigQuery の全クエリ機能を利用できます。ビューは SQL クエリによって定義される仮想テーブルです。ビュー内のデータをクエリするには、そのビューを含むデータセットをデータソースとして追加します。ビューの詳細については、ビューの使用をご覧ください。

BigQuery データソースとして SQL クエリを指定した場合、クエリの結果はテーブル形式で取得され、これがデータソースのフィールド定義(スキーマ)になります。カスタムクエリをデータソースとして使用すると、Google データポータルでは、BigQuery を対象とするクエリが生成された場合に、各クエリの内部 SELECT 文として SQL を使用します。Google データポータルでのカスタムクエリの詳細については、オンライン ヘルプをご覧ください。

カスタムクエリを使用して棒グラフを追加する

カスタムクエリのデータソースを使用する棒グラフは、以下の手順でレポートに追加します。

  1. メニュー オプションから、[ページ] > [新しいページ] の順に選択します。

  2. [挿入] > [棒グラフ] をクリックします。

  3. ハンドルを使用して、グラフをレポートに置きます。

  4. 棒グラフのプロパティ ウィンドウの [データ] タブでは、[データソース] が [natality] に設定されています。[natality] をクリックして、[データソースの選択] ウィンドウを開きます。

  5. [新しいデータソースを作成] をクリックします。

  6. [Google コネクタ] セクションで BigQuery にカーソルを合わせて、[選択] をクリックします。

  7. [マイ プロジェクト] で [カスタムクエリ] をクリックします。

  8. [課金プロジェクト] で GCP プロジェクトを選択します。

  9. [カスタムクエリを入力] ウィンドウに、次の標準 SQL クエリを入力します。

    SELECT
     source_year,
     sum(case when is_male then 1 else 0 end) as male_births,
     sum(case when is_male then 0 else 1 end) as female_births
    FROM
     `bigquery-public-data.samples.natality`
    GROUP BY
     source_year
    ORDER BY
     source_year
    DESC
    

    このクエリでは、CASE ステートメントを使用して is_male フィールドを評価し、特定の年の出生数のうちの女の子の人数と男の子の人数を特定します。

  10. クエリのオプションで、[以前の SQL を使用する] が選択解除されていることを確認します。これで、BigQuery の標準 SQL 構文を使用できるようになります。

    カスタムクエリ

  11. ウィンドウの上部にある [無題のデータソース] をクリックして、データソース名を「Male female case query」に変更します。

  12. ウィンドウの右上隅にある [接続] をクリックします。Google データポータルが BigQuery データソースに接続されると、クエリの結果を使用してテーブル スキーマが決定されます。

  13. スキーマが表示されたら、各フィールドのタイプと集計を確認します。 デフォルトでは、source_year が [数値] として書式設定され、[デフォルトの集計] が [なし] に設定されます。[source_year] フィールドの右側にある [タイプ] 列の [数値] をクリックし、[テキスト] を選択します。[デフォルトの集計] が [なし] に設定されていることを確認します。

    フィルタ後のグラフ

  14. [レポートに追加] をクリックします。

  15. プロンプトが表示されたら、[レポートに追加] をクリックします。

  16. 戻る矢印をクリックして [データソースの選択] ウィンドウを閉じます。

  17. Google データポータルではグラフに適切な指標を正しく判断できない場合があります。年別の男の子と女の子の出生数をグラフ化しているので、指標の値を female_birthsmale_births にする必要があります。棒グラフのプロパティ ウィンドウの [データ] タブで、[指標] セクションの [Record Count] をクリックします。

  18. 指標選択ツールで [female_births] を選択します。

  19. [指標] で、[指標を追加] をクリックします。

  20. 指標選択ツールで [male_births] を選択します。年ごとの出生した男の子と女の子の人数が別々の棒で表示されます。

    フィルタ後のグラフ

  21. グラフが female_births の降順でソートされます。前のグラフと同様に、これを source_year に変更します。[並べ替え] セクションで [female_births] をクリックします。

  22. 並べ替え順選択ツールで、[source_year] を選択します。年ごとの出生した男の子と女の子の人数が降順で表示されます。

  23. 読みやすくするために、グラフのスタイルを変更します。棒グラフのプロパティ ウィンドウの [スタイル] タブをクリックします。

  24. 各棒は、指標がグラフに追加された順序に基づくデフォルトの色であることを確認してください。カラーパレットの 2 番目の正方形をクリックし、色を赤から青に変更します。

    フィルタ後のグラフ

  25. カラーパレットの最初の正方形をクリックし、色を青から赤に変更します。

    グラフは次のようになります。

    色付きの棒グラフ

クエリの履歴を表示する

BigQuery コネクタ経由で送信されたクエリを確認するには、BigQuery のウェブ インターフェースでクエリの履歴を調べます。クエリの履歴は、クエリの料金の見積もりや、他のシナリオでの使用に備えたクエリの保存に使用できます。

クエリの履歴を調べるには:

Console

  1. Cloud Console で BigQuery ウェブ UI を開きます。
    BigQuery ウェブ UI に移動

  2. 左側のナビゲーションで [クエリ履歴] をクリックします。

  3. 最後に使用したクエリを先頭に、クエリのリストが表示されます。クエリをクリックして、[ジョブ ID] や [処理されたバイト数] などのクエリの詳細を表示します。

従来の UI

  1. BigQuery ウェブ UI に移動します。

    BigQuery ウェブ UI に移動

  2. [Query History] をクリックします。

  3. 最後に使用したクエリを先頭に、クエリのリストが表示されます。[Open Query] をクリックして、ジョブ ID や処理されたバイト数などのクエリの詳細を表示します。

    色付きの棒グラフ

クリーンアップ

このチュートリアルで使用したリソースについて、Google Cloud Platform アカウントに課金されないようにする手順は次のとおりです。

  1. GCP Console で [リソースの管理] ページに移動します。

    [リソースの管理] ページに移動

  2. プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
  3. ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。

データソースはプロジェクトに関連付けられているため、プロジェクトを削除すると、Google データポータルでデータをクエリできなくなります。Cloud Platform プロジェクトを削除したくない場合は、Google データポータルのレポートとデータソースを削除できます。

Google データポータルのリソースを削除するには:

  1. Google データポータルを開きます。

  2. [レポート] ページで、BigQuery チュートリアルのレポートの右側にあるその他ボタン(その他ボタン)をクリックして [削除] を選択します。

  3. [データ ソース] をクリックします。

  4. [natality] データソースの右側にあるその他ボタンをクリックし、[削除] を選択します。

  5. [Male female case query] データソースの右側にあるその他ボタンをクリックし、[削除] を選択します。

次のステップ

  • BigQuery 用のクエリの作成方法を学習する - BigQuery ドキュメントのデータのクエリでは、クエリの実行方法やユーザー定義関数(UDF)の作成方法などを説明しています。

  • BigQuery の構文を調べる - BigQuery の SQL クエリで推奨される言語は標準 SQL です。この言語については、SQL リファレンスをご覧ください。BigQuery のレガシー SQL の構文については、クエリ リファレンス(レガシー SQL)をご覧ください。