石見 沙紀

ノーコードアプリ開発の壁を超える!AppSheet と BigQuery の連携方法

ノーコードアプリ開発の壁を超える!AppSheet と BigQuery の連携方法サムネイル画像

現代社会において、データ分析は企業にとって重要な経営資源であり、ビジネスを成功させるための必須ツールとなっています。しかし、従来のデータ分析は専門知識やスキルが必要であり、多くの企業にとって大きな課題となっていました。

そこで注目されているのが、ノーコード開発プラットフォーム AppSheet とデータウェアハウス BigQuery の連携です。 AppSheet と BigQuery を連携することで、ノーコード開発で、誰でも簡単に、BigQueryの膨大なデータをリアルタイムに活用したアプリの構築をおこなうことができます。

本記事では、AppSheet と BigQuery の連携方法についてご紹介します。

AppSheet と BigQuery の概要

AppSheet とは?

AppSheet は、 Google が提供するスプレッドシートベースのノーコード開発プラットフォームです。AppSheet を使うことで、スプレッドシートのようなデータベースをもとに、簡単にアプリケーションを作成することができます。また、AppSheet は、Web アプリとモバイルアプリの双方に対応しており、ビジネスや個人の用途に応じて多様なアプリケーションを作成することができます。

BigQuery とは?

BigQuery は、 Google Cloud の分析用データベースで、初期投資不要かつフルマネージドという点が最大の特徴です。CSV などの一般的なトランスポートを使用して、大量のデータを簡単に保存でき、データは表形式で格納され、 Google SQL や API 経由でデータを操作することが可能です。

また、AIによるサポートによって、 SQL を知らない方でも簡単に BigQuery を利用することができます。

AppSheet と BigQuery 連携のメリット

これまでスプレッドシートからアプリを開発すると、10万行の上限がありデータの行数が増えていくにつれ、  AppSheet アプリの稼働が遅くなったりすることがありました。

ですが  AppSheet と BigQuery を連携させることで大規模なデータセットを扱うアプリの構築、リアルタイムにデータ分析、高度なデータ処理機能を利用することが可能になります。

AppSheet×BigQuery_01

AppSheet と BigQuery を連携して開発できるアプリ紹介

AppSheet とBigQuery を連携して開発ができるアプリの例をご紹介します。

  • 顧客管理アプリ
  • 営業支援アプリ
  • マーケティング分析アプリ

・顧客情報、購買履歴、サービス利用履歴などを BigQuery から取得

・顧客分析、顧客セグメント、CRM などをアプリ上で実現

・顧客情報、案件情報、商談履歴などをBigQueryから取得

・営業担当者がリアルタイムにデータにアクセス

・顧客分析、案件管理、商談履歴管理などをアプリ上で実現

・広告効果測定、顧客分析、キャンペーン分析など

・BigQuery に蓄積されたデータを分析

・分析結果に基づいて、効果的なマーケティング施策を実行

上記は一例です。 AppSheet と BigQuery の組み合わせは、様々なビジネス課題を解決するためのアプリ開発に活用することができます。

連携方法

早速、以下の方法で、 AppSheet と BigQuery の連携をおこないます。

BigQuery でデータセットとテーブルを用意する

事前準備として、BigQuery でデータセットとテーブルを用意します。

既にBigQuery にテーブルがある場合は、この章は飛ばして「サービスアカウントを作成する」へ進んでください。

データセットとはテーブルとビューへのアクセスを整理して制御するために使用される最上位のコンテナです。テーブルまたはビューはデータセットに属している必要があります。データを BigQuery に読み込ませる前に 1 つ以上のデータセットを作成する必要があります。

また、データセットを作成するには、 IAM の権限が必要です。
Big Query での IAM の権限については、
こちらをご確認ください。

データセットの作成方法からご紹介します。

まず Google Cloud コンソールにアクセスしBigQuery Studio のページを開きます。

エクスプローラーパネルでデータセットを作成するプロジェクトを選択します。

縦 3 点リーダーでアクションを表示させ、データセットを作成 をクリックします。

AppSheet×BigQuery_02

データセットを作成するページで以下の設定をおこないます。

データセットID を入力します。データセット ID は一意である必要があり、データセット名にはスペースや特殊文字を使用することはできません。

次にロケーションの設定をおこないます。ラジオボタンでリージョンを選び、ロケーションを選択します。今回は asia-northeast1 (東京) を選択します。

データセット作成後のロケーション変更はできません。

最後にデフォルトのテーブルの有効期限を設定したい場合は、こちらに有効期限の日数を入れて、 データセットを作成 ボタンをクリックして完了です。

ここで指定したデータセットIDを AppSheet との連携の際に利用するので覚えておきましょう

AppSheet×BigQuery_03

次は、テーブルの作成方法についてです。

データセットを作成した後、これに属するテーブルを作成する必要があります。

今回は CSV データを用いてデータテーブルの作成をおこないます。

スプレッドシートを直接接続することもできますが、その場合は読み取り専用のテーブルとなり、 AppSheet からデータの追加や変更などをおこなうことはできません。

まず、手元の PC で CSV 形式のデータを用意します。

※CSV のダミーデータでお試ししたい方はこちらへアクセスし、ダウンロードしてお使いください。

BigQuery に戻り、データセットからテーブルの作成をおこないます。

前項で作成したデータセットの縦三点リーダーを開き、「テーブルを作成」をクリックします。

AppSheet×BigQuery_04

編集画面が開いたら、ソースの「テーブルの作成元」プルダウンから「アップロード」を選択します。

AppSheet×BigQuery_05

「ファイルを選択」の項目に移り、参照をクリック、先ほどダウンロードした CSV データを選択します。

「ファイル形式」をプルダウンから CSV にします。

送信先のテーブル名を今回は「AppSheet CSV 」と入力します。

テーブル名は自由記述ですが、 AppSheet に接続しますので、分かりやすい名前を付けることをオススメします。

AppSheet×BigQuery_06-1

テーブルの設定ができたらスキーマの設定をおこないます。

スキーマは自動検出とフィールド名の指定ができますが、自動検出を選ぶと「string_field_0 、string_field_1 」という形でフィールド名が入ります。

独自のフィールド名を指定したい場合は、スキーマの+マークでフィールドの追加をおこなってください。

AppSheet×BigQuery_06-2

詳細オプションを開き、スキップするヘッダー行の項目に 1 を入力します。

スキップするヘッダー行を設定することにより、1行目にあたるフィールド名をスキップしてデータを取り込むことができます。最後にテーブルを作成ボタンを押して完了です。

AppSheet×BigQuery_08

サービスアカウントを作成する

BigQuery と AppSheet を接続するためには、サービスアカウントを用意する必要があります。

Google Cloud コンソールの画面左上にある マークでナビゲーションメニューを開き、メニューの中から IAMと管理 > サービスアカウントを選びます。

サービスアカウントの作成は、サービスアカウントの認証情報を使用し、スケジュールされたバッチ処理パイプラインなどのジョブを実行するために必要になります。

AppSheet×BigQuery_09

サービスアカウント一覧画面に移動したら、上部にある +サービスアカウントを作成をクリックします。

AppSheet×BigQuery_10

サービスアカウントの作成画面が表示されます。

① サービスアカウントの詳細、サービスアカウント名を入力します。

サービスアカウント名を入力すると自動的にサービスアカウント ID が入力されます。

※サービスアカウントID はグローバルにおいて一意である必要があるため、サービスアカウント名を入力する場合に他と被らない名前をつけることをオススメします。

続いて、サービスアカウントの説明項目を入力します。

このサービスアカウントの役割を明確にし、管理を行いやすくするためにもサービスアカウントの説明を記載しておくことを推奨します。

今回は「AppSheet からBigQuery にアクセスする」とします。

サービスアカウントの説明入力が完了したら、作成して続行をクリックします。

AppSheet×BigQuery_11

続いて、②サービスアカウントにプロジェクトへのアクセス権限を付与します。

省略可となっていますが、 AppSheet からBigQuey にアクセスする場合には必要になるため設定していきます。

公開データセットにアクセスするには、BigQuery ジョブ ユーザーロールのみが必要、プライベートデータセットにアクセスするには、 BigQuery ジョブ ユーザー ロールと BigQuery データ編集者ロールが必要です。これらのロールには、必要な権限がすべて含まれています。

全てのアクセス権限の設定をおこなったら、完了ボタンを押します。

AppSheet×BigQuery_12

最後に、サービスアカウントキーの作成をおこないます。

サービス(今回の場合は AppSheet )にこのサービスアカウントへのアクセスを許可するために、鍵の作成をおこないます。

サービスアカウントの縦 3 点リーダーから「鍵の管理」をクリックします。

AppSheet×BigQuery_13

表示されているサービスアカウントの左上にある「鍵を追加」のプルダウンを開き、「新しい鍵を作成」をクリックします。

AppSheet×BigQuery_14

「新しい鍵を作成」を押すと、ダイアログが出てきますので、キーのタイプを JSON にして作成を押します。

AppSheet×BigQuery_15

JSON のファイルがダウンロードされたら、画面を閉じてください。

AppSheet×BigQuery_16

BigQuery データセットを AppSheet アプリに接続する

準備したサービスアカウントを利用して、 BigQuery のデータセットを AppSheet アプリに接続します。

AppSheet にログインし、 My Apps に移動します。

+ Create から App ▶︎ Start with exting data を選択します。

AppSheet×BigQuery_17

Create a new app の App name にアプリ名を入力し、 choose your data をクリックします。

AppSheet×BigQuery_18

Select data source の下部にある + new data source をクリックし、Cloud Database を選択します。

AppSheet×BigQuery_19

AppSheet×BigQuery_20

データベースの接続情報の各項目を設定します。

AppSheet×BigQuery_21

Google Cloud コンソールから各設定値の情報を取ります。

Type は使用するデータソースをプルダウンから選ぶことができます。今回は BigQuery を選びます。

DataSet ID は BigQuery プロジェクト内でデータセットを識別する一意の ID です。データセットへのアクセス、データセットの場所を指定するために必要です。

※データセットを作成した時点でのデータセット ID の形式は、<project_id>.<dataset_id> です。

AppSheet の Dataset を指定する時に、 .(ピリオド)は :(コロン)に置き換える必要があります。

生成される形式は、<project_id>:<dataset_id> になります。

データセット ID の取得方法は Google Cloud コンソールから BigQuery Studio に入り、作成したデータセットを開きます。データセット情報が表示されますので、ここからデータセット ID をコピーします。

AppSheet×BigQuery_22

Google Cloud Project ID は Google Cloud Project を識別し、プロジェクトへのアクセス制御、プロジェクトへの課金を管理するために必要です。

Google Cloud Project ID も作成後に変更することはできません。

プロジェクト ID の取得方法は Google Cloud コンソールに入り、プロジェクトを選択します。

選択中のプロジェクト、プロジェクト番号、プロジェクト ID が表示されますので、プロジェクト ID をコピーします。

AppSheet×BigQuery_23

Service Acount key は Google API を認証するために必要な鍵です。

Service Acount key を取得するには、 Google Cloud コンソールでサービスアカウントのキーを作成したときにダウンロードした JSON ファイルをテキストエディタで開き、全てをコピーしたら AppSheet の Service Acount key に貼り付けてください。

全ての貼り付けが完了したら Test を押します。

ここで BigQuery 側の権限付与などに問題がなければ、Authorize Access が青くなるので、クリックします。

AppSheet×BigQuery_24

これで AppSheet に BigQuery のデータセットを接続することができました。

BigQuery のテーブルやビューを AppSheet アプリに追加する

最後に、 AppSheet に接続した BigQuery のデータセットの中から、テーブルやビューを選択して AppSheet アプリに追加します。

前項で接続が完了するとこのダイアログが表示されますので、データベースを選択します。

AppSheet×BigQuery_25

データテーブルを追加するために Tables からデータソースを選択します。

今回は筆者が BigQuery 上で「 AppSheet CSV 」というデータテーブル名をつけているので AppSheet CSV を選択しています。実際に試される場合は、個人で設定したデータテーブル名を選択してください。

AppSheet×BigQuery_26

データテーブルを選択すると、AppSheet アプリの開発が開始されます。

完成した画面がこちらです。バツマークまたは customize with AppSheet をクリック、開発画面に移動します。

AppSheet×BigQuery_27

ここから通常の AppSheet のデータ調整をおこないます。

データソースを読み込んだ時点では適切な設定になっていない可能性があります。

その場合は TYPE の変更や KEY 、 LABEL 、 EDITABLE 、 REQUIRE のチェックを適宜おこなってください。

AppSheet×BigQuery_28

また AppSheet アプリでは全てのデータを読み込んでいるため、データ量が多くなる場合、パフォーマンスの低下が懸念されます。パフォーマンスを維持するために、セキュリティフィルターの設定も推奨します。

今回は新しくアプリを作成する流れを紹介しましたが、既に開発されたアプリに BigQuery のデータソースを追加する場合は、AppSheet のデータベースを追加するステップと同じく、 Data の Add new Data からデータテーブルを追加してください。

AppSheet×BigQuery_29

まとめ

本記事では、 AppSheet と BigQuery の連携方法についてご紹介しました。

AppSheet のノーコード開発の基盤となるデータソースをスプレッドシートから BigQuery に変更することで、大規模なデータセットを取り扱うアプリの構築、リアルタイムなデータ分析、高度なデータ処理機能を利用することが可能になります。データ分析アプリの迅速な開発と活用により、営業支援、マーケティング、財務、人事など、あらゆるビジネス領域で変革を実現させてください。

本記事で紹介している AppSheet と BigQuery の連携は、AppSheet  Enterprise 以上のプラン契約が必要になりますのでご注意ください。

AppSheet に関する実績やサービス詳細、価格表等についてもっと詳しく知りたい場合は、資料もご用意しておりますのでお問い合わせください。

 

石見 沙紀
石見 沙紀
吉積情報株式会社 アプリケーション開発部 AppSheet 担当 飲食業界からIT業界へ。IT業界未経験でもできる! AppSheet エバンジェリストになるべく日々活動中です!
Gemini for Google Workspace を徹底解説!〜無料版から有料版まで、 選定のポイントを紹介〜

14:00-15:00 オンライン

Gemini for Google Workspace を徹底解説!〜無料版から有料版まで、 選定のポイントを紹介〜

詳細はこちら

エンジニア不足はもう怖くない!AppSheet 導入事例とプラン選定の要所セミナー

11:00-12:00 オンライン

エンジニア不足はもう怖くない!AppSheet 導入事例とプラン選定の要所セミナー

詳細はこちら

Google Workspace vs. Microsoft 365 比較セミナー

14:00-15:00 オンライン

Google Workspace vs. Microsoft 365 比較セミナー

詳細はこちら

Gemini for Google Workspace 徹底活用セミナー 〜デモ付き解説で、Gemini の真価を体感!~

14:00-15:00 オンライン

Gemini for Google Workspace 徹底活用セミナー 〜デモ付き解説で、Gemini の真価を体感!~

詳細はこちら

生成AI導入実践セミナー ~COGMA & WorkAIzerを活用し、リスクを最小限に、効果を最大限に!~

15:00-16:00 オンライン

生成AI導入実践セミナー ~COGMA & WorkAIzerを活用し、リスクを最小限に、効果を最大限に!~

詳細はこちら

非エンジニア歓迎!基礎から活用シーンまで学べる! AppSheet を使った現場DX入門セミナー

11:00-12:00 オンライン

非エンジニア歓迎!基礎から活用シーンまで学べる! AppSheet を使った現場DX入門セミナー

詳細はこちら

オンラインセミナー開催中

お申込みはこちらをCheck!

関連する他の記事をよむ