Looker 向けコネクテッド シートの使用

Looker 用コネクテッド シートを使用すると、使い慣れた Google スプレッドシートのスプレッドシート インターフェースから LookML モデルのデータをインタラクティブに探索できます。コネクテッド シートのユーザーは、Looker がサポートする 50 以上のデータベースからの統制されたデータにアクセスできます。コネクテッド シートにはモデルの整理されたビュー(Looker で定義されたとおりのビュー、フィールド、メジャーが含まれる)が表示されるため、直感的にデータを探索できます。コネクテッド シートでアクセスする Looker データは、標準的なスプレッドシートの構造(ピボット テーブル、グラフ、数式など)で使用できます。それにより、使い慣れた構造での柔軟な分析が可能になります。

コネクテッド シートの有効化

コネクテッド シートを使用するには:

  • Looker(オリジナル)で、Looker 管理者は、Looker の [Admin] メニューの [Platform] セクションの [BI Connectors] パネルで、[Looker BI Connectors] または [Connected Sheets] トグルを有効にする必要があります。Looker(Google Cloud コア)では、これらのオプションがデフォルトで有効になっています。
  • Looker インスタンスは、Looker によりホストされている必要があります。
  • インスタンスが Google Cloud でホストされている場合、Looker インスタンスは Looker 22.20 以降を実行している必要があります。Looker インスタンスが Google Cloud でホストされていない場合は、Looker 23.4 以降を実行している必要があります。
  • Google スプレッドシートから Looker インスタンスに接続する各ユーザーは、Google Workspace アカウントで使用しているものと同じメールアドレスを Looker ユーザー アカウントで使用する必要があります。Workspace と Looker アカウントのメールアドレスが異なる場合は、スプレッドシートから Looker に接続しようとするとエラーを受け取ります。
  • 個別に制御されていないサービスへのアクセスは、Google Workspace 管理コンソールで有効にする必要があります。これは通常、デフォルトで有効になっています。詳細については、個別に管理されていないサービスへのアクセスを管理するのヘルプ記事をご覧ください。

Google スプレッドシートから Looker に接続する

  1. Google スプレッドシートの [データ] メニューから [データコネクタ] を選択し、[Looker に接続する] を選択します。

  2. [Looker に接続する] ダイアログで、Looker インスタンスの名前を入力するか、最近接続したインスタンスの名前を選択して [続行] を選択します。

  3. 次のダイアログで、クエリに使用する Looker モデルExplore を選択し、[接続] を選択します。

スプレッドシートを Looker インスタンスに接続すると、選択した Explore の構造(Looker デベロッパーが追加したビュー、ディメンション、メジャー、フィールドの説明)を示す新しいスプレッドシートが開きます。

Google スプレッドシートを使用した Looker クエリの作成

Looker クエリはスプレッドシートのピボット テーブルを使用して作成されます。Looker のデータをシートに追加するには:

  1. Explore が表示されているシートで、[ピボットテーブル] を選択します。

  2. 新しいピボット テーブルを新しいシートに挿入するか、既存のシートに挿入するかを選択して、[作成] を選択します。

    新しい空のピボット テーブルが作成され、[ピボット テーブル エディタ] ウィンドウが開きます。行、列、値、フィルタを追加して、Looker の Explore のディメンションとメジャーに基づいてクエリを作成できます。

    ピボット エディタの行、列、値、フィルタは、次のように Looker のディメンションおよびメジャーと同等です。

    ピボット エディタには、Explore の一部であるビューのリストも表示されます。このリストには、そのビューに含まれているディメンションとメジャーを表示できます。

  3. 行、列、値、フィルタを追加するには、[追加] を選択します。コネクテッド シートには、Explore で使用できるビューのリストが表示されます。ビュー名を選択すると、ビューにディメンションとメジャーのリストが表示されます。それから、その行、列、値、またはフィルタのデータを提供するフィールドを選択します。

  4. Looker フィールドとフィルタを追加してクエリを構築したら、[適用] を選択します。これにより、Looker インスタンスからシートにデータが入力されます。

Looker データをピボット テーブルに追加すると、通常の Google スプレッドシート機能を使用してデータをフォーマットすることや、Looker データに基づいて新しいスプレッドシートの数式を構築することが可能です。

フィルタ オプション

Looker 向けコネクテッド シートの初期リリース以降、新しいフィルタ オプションが追加されました。

値でフィルタ - 2023 年 8 月に追加

Looker 向けコネクテッド シートのピボット テーブルで Looker ディメンションをフィルタリングするには、値のリストを表示し、目的の値を選択または選択解除します。以前は、条件によるフィルタリングを使用する場合は、フィルタ値を手動で入力する必要がありました。

この機能を使用するには、ピボット テーブルの [フィルタ] セクションにフィールドを追加し、[ステータス] プルダウンをクリックしてフィルタ オプションを開きます。[フィルタを追加] をクリックします。

サイドバーが開き、スプレッドシートで Looker から最も頻繁に出現する 500 の値が取得されます。

その後、アイテムを検索したり、すべてを選択またはすべてをクリアを選択したり、頻度やアルファベットでアイテムを並べ替えたりできます。下部にある [OK] をクリックすると、スプレッドシートに選択内容が保存されます。[適用] をクリックすると、新しいフィルタを適用して、通常どおりピボット テーブルを更新できます。

Looker フィルタ式を使用したフィルタ - 2023 年 9 月に追加

コネクテッド シートでは、Looker のフィルタ式を使用して相対日付フィルタやその他の多くの高度なフィルタを適用できます。たとえば、コネクテッド シートでは「過去 30 分間」や「過去 10 日間」などのフィルタを適用できます。

Looker のフィルタ式を使用するには:

  1. ピボット テーブルのフィルタ セクションにフィールドを追加します。

  2. [ステータス] プルダウンをクリックしてフィルタ オプションを表示し、[フィルタ式] を選択します。

  3. Looker フィルタ式を [] フィールドに入力します。

    たとえば、過去 7 日間をフィルタするには、「7 日間」または「過去 7 日間」と入力します。

  4. [OK] をクリックします。

相対日付フィルタリング以外にも、次のようなフィルタリングが可能です。

  • -FOO% で始まらない文字列
  • 包含的で排他的な数値範囲: (12, 20]

使用可能なすべてのフィルタ式を確認するには、Looker のフィルタ式のドキュメント ページをご覧ください。

Looker パラメータとフィルタ限定のフィールドの使用 — 2023 年 10 月に追加

コネクテッド シートのパラメータフィルタ限定のフィールドを使用できるようになりました。

フィルタ限定のフィールドとパラメータは、Looker の場合と同様に、Google スプレッドシートのフィールド ピッカーの [フィルタ限定のフィールド] に表示されます。アーキテクチャ コンポーネントを使用する手順は次のとおりです。

  1. [フィルタ] セクションでは、ディメンションやメジャーでフィルタする場合と同様に、選択したパラメータやフィルタ限定のフィールドを追加またはドラッグします。
  2. 許可されている値を持つパラメータの場合、これらの値は [条件でフィルタ] ダイアログのプルダウンに表示されます。
  3. フィルタ限定のフィールドには、通常の [条件でフィルタ] ダイアログを使用できます。Looker モデルで定義されているフィールドがフィールドにある場合、値でフィルタ機能を使用することもできます。

Google スプレッドシート内のデータの更新

ピボット テーブルのデータは静的ですが、いつでも更新できます。データを更新すると、Looker がデータベースにクエリを実行し、ピボット テーブルを最新のデータで更新します。

ピボット テーブルと Explore が表示されたシートの両方に、最終更新時刻が表示されます。

[更新] を選択して、ピボット テーブルのデータを更新します。

定期的な更新スケジュール設定

データの自動更新をスケジュール設定するには、ピボット テーブルのその他メニューから [更新オプション] を選択するか、Explore シートで [更新オプション] を選択します。Looker で [更新スケジュール] ダイアログが表示されます。

ピボット テーブルの設定の編集

ピボット テーブルに含める行、列、値、フィルタを変更するには、その他メニューの横にある鉛筆アイコンを選択して、ピボット テーブル エディタパネルを開きます。

コネクテッド シートのモニタリング

Looker 管理者は、System Activity History ExploreQuery API Client Properties グループを使用してコネクテッド シートの使用状況を確認できます。新しいクエリが実行されるたびに、[History] Explore にエントリが作成されます。

[Query API Client Properties] フィールド グループでは、コネクテッド シート用に 3 つの新しいフィールドがあります。

  • API Client Name - コネクテッド シートのエントリを識別できるように、このフィールドには常に Connected Sheets が表示されます。
  • Connected Sheets Spreadsheet ID - このフィールドには、そのシートの Google スプレッドシートの URL に含まれるシート ID が表示されます。
  • Connected Sheets Trigger - クエリが、ユーザーがスプレッドシートの [更新] ボタンを選択したことでトリガーされたか、スケジュールされた更新によってトリガーされたかを示します。

以下に、コネクテッド シートの使用状況を示すシステム アクティビティ URL の例を示します。<instance_name.looker.com> は、実際のインスタンス URL に置き換えます。

https://<instance_name.looker.com>/explore/system__activity/history?fields=query_api_client_context.name,query_api_client_context.cs_spreadsheet_id,query_api_client_context.cs_trigger,user.name,history.created_date,history.created_time_of_day&f[query_api_client_context.cs_spreadsheet_id]=-NULL&sorts=history.created_time_of_day+desc&limit=5000

知っておくべきこと

  • ピボット テーブルに表示されるデータの大文字と小文字の区別は、モデルの大文字と小文字を区別する設定によって決まります。ただし、ピボット テーブルでは、ネイティブのスプレッドシート データに対してフィルタで大文字と小文字が区別されない状況の場合、大文字と小文字は区別されません。
  • スプレッドシートの閲覧者アクセス権を持つユーザーは、ピボット テーブルにキャッシュされたデータを表示できます。
  • スプレッドシートの編集者アクセスに加え、ピボット テーブルを編集または更新する必要があるユーザーには、データモデルにアクセスするために、Looker で適切な権限が必要です。これには、ピボット テーブルのベースとなるモデルへのアクセス権データの表示権限アクセス フィルタを使用したデータへの適切なアクセス権、またはアクセス許可が含まれます。
  • ユーザーが OAuth で BigQuery データベースへの認証を行う場合は、基盤となるデータベースに対する権限の付与が必要になることがあります。

コネクテッド シートの行とデータの上限

コネクテッド シートを使用して作成されるクエリは、最大 30,000 行に制限されます。クエリの結果により多くの行が含まれる場合は、スプレッドシートによってエラーが表示されます。ユーザーに download_without_limit 権限が付与されていない場合は、スプレッドシートの上限にかかわらず、結果が最大 5,000 行に切り捨てられます。

さらに、コネクテッド シートのクエリには、データサイズの上限が適用されます。返されるデータが多すぎるクエリも、エラーになります。

これらのエラーのいずれかが表示された場合は、フィルタを追加するか、クエリで使用するディメンションの数を少なくすることを検討してください。

コネクテッド シートのトラブルシューティング

Google スプレッドシートから Looker に接続しようとすると、問題が発生することがあります。このセクションでは、これらの問題と修正方法について説明します。

エラー: Looker インスタンスへの接続中にエラーが発生しました。もう一度お試しください。問題が解決しない場合は、フィードバックをお送りください。

このエラーは、次に挙げる複数の原因が考えられます。

  • Looker インスタンス名が正しく入力されていない。この場合は、Looker インスタンス名を確認して、もう一度接続してみてください。
  • スプレッドシートが Looker API に接続できない。このエラーは、Looker インスタンスでデフォルトの API ホスト URL を使用していない場合に発生します。これを修正するには、[API 管理パネル] の [API ホスト URL] フィールドを空白のままにします。

エラー: Looker インスタンスがこの機能を使用するように構成されていません。Looker 管理者に連絡して、この機能を使用できるようにしてください。

このエラーは、次に挙げる複数の原因が考えられます。

  • 新しく作成された Looker インスタンスに接続しようとしています。新しい Looker インスタンスがコネクテッド シートで利用可能になるまで、最長 24 時間かかることがあります。
  • Looker でホストされていない Looker インスタンスに接続しようとしている。Looker でホストされている別の Looker インスタンスに接続してください。

Looker インスタンスに接続後、モデルが表示されない

これは、インスタンスでモデルを表示するために必要な権限がないことを示しています。

閲覧者のロールを持つ Looker ユーザーには、Looker で Explore UI を使用するための十分な権限がないのと同じように、スプレッドシート内で接続を作成するのに十分な権限がありません。ユーザーが Looker 向けのコネクテッド シートを使用するには、explore 権限が必要です。管理者、デベロッパー、ユーザーのロールには、explore 権限が含まれています。Looker 管理者はユーザーに explore 権限を付与でき、それによりユーザーはインスタンスでモデルを表示できるようになります。

エラー: リンクされた Looker アカウントのメールアドレスが、Google アカウントのメールアドレスとは異なります。

これは、Looker アカウントのメールアドレスが Google アカウントで使用されているメールアドレスと一致しないことを示しています。Looker アカウントと一致するメールアドレスを持つ Google アカウントにログインしていることを確認してください。Looker の管理者が、ユーザーの現在の Google メールアドレスを使用する新しい Looker ユーザー アカウントを作成することもできます。

エラー: 不正なリクエスト: 有効なクライアントが見つかりません。

このエラーは、コネクテッド シート コネクタが有効になっていないことを示しています。Looker 管理者は、Looker の [Admin] メニューの [Platform] セクションの [BI Connectors] パネルで、[Looker BI Connectors] または [Connected Sheets]] トグルを有効にする必要があります。

エラー: 403 Forbidden

Looker インスタンスに IP 許可リストが構成されている場合、その許可リストによって、スプレッドシートが Looker API に接続できなくなる可能性があります。許可リストが原因かどうかを確認するには、Looker インスタンスの URL に移動して、[許可リストにない IP アドレス] エラーが表示されるかどうかを確認します。