SQL Runner を使用してクエリと Explore を作成

SQL Runner によって、データベースに直接アクセスし、そのアクセスをさまざまな方法で活用できます。SQL Runner を使用すると、スキーマ内のテーブルの操作、SQL クエリからのアドホック Explore の使用、データに対する事前に記述された説明クエリの実行、SQL Runner の履歴の確認、結果のダウンロード、クエリの共有、派生テーブルとしての LookML プロジェクトへの追加、その他の便利なタスクを実行を容易に行うことができます。

このページでは、SQL Runner でクエリを実行する方法、アドホック Explore を作成する方法、SQL Runner を使用してクエリをデバッグする方法について説明します。詳細については、以下のその他のドキュメントのページをご覧ください。

SQL Runner でのクエリの実行

データベースでクエリを実行するのは、SQL クエリをスクラッチから作成するExplore を使用してクエリを作成する、またはLookML モデルにクエリを実行することで可能です。履歴を使用して、以前のクエリを再実行することもできます。

スクラッチからの SQL クエリの作成

SQL Runner を使用して、データベースに対して独自の SQL クエリを作成し、実行できます。Looker は、記述したとおりにクエリをデータベースに渡します。そのため、SQL クエリの構文がデータベース言語に対して有効であることを確認してください。たとえば、言語ごとに、SQL 関数に渡す必要がある特定のパラメータがある、わずかに異なる関数があります。

  1. [クエリ] バーの下にあるフィールドに SQL クエリを入力します。
  2. 必要に応じて、フィールド一覧でテーブル名またはフィールドを選択して、カーソル位置にクエリに含めます。
  3. [実行] をクリックして、データベースに対してクエリを実行します。
  4. [結果] 領域に結果を表示します。SQL Runner は、最大 5,000 行のクエリの結果セットを読み込みます。ストリーミングをサポートする SQL 言語の場合、結果をダウンロードして結果セット全体を表示できます。

クエリの実行後、クエリをプロジェクトに追加する派生テーブル用の LookML を取得する、またはクエリを共有することができます。

SQL Runner を使用して新しいクエリを試したり、既存のクエリをテストしたりすることもできます。SQL Runner のエラーのハイライト表示は、クエリのテストとデバッグに役立ちます。

Explore を使用して SQL クエリを作成

Explore を使用してクエリを作成し、そのクエリ用の SQL コマンドを取得して SQL Runner で使用することもできます。

  1. Explore で、[データ] バーの [SQL] タブを選択します。
  2. [データ] バーの下に SQL クエリが表示されます。
  3. [SQL Runner で開く] または [SQL Runner で説明する] を選択して、SQL Runner でクエリを開きます。

[クエリ] バーの下のフィールドにクエリを追加したら、[実行] を選択してデータベースにクエリを実行できます。代わりに、クエリを編集してから、新しいクエリを実行することもできます。

SQL Runner を使用して可視化を作成

Looker 管理者が SQL Runner Vis の Labs 機能を有効にしている場合は、SQL Runner で直接可視化を作成できます。

SQL Runner Vis を有効にすると、SQL Runner パネルが再編成されます。上部には可視化パネル、中央部には結果パネル、下部にはクエリパネルが表示されます。

  1. SQL クエリを作成して実行した後、可視化タブを表示して、[Explore] ページでするのとまったく同じように、可視化を表示し、可視化タイプを選択します。
  2. 可視化は、[設定] メニューを使用して編集できます。
  3. URL を共有することで、SQL Runner を使用して作成した可視化を共有できます。可視化の [設定] メニューを使用して作成したカスタマイズはすべて保存され、リンクは変更されません。

SQL Runner の可視化の仕組みについては、いくつか留意すべきことがあります。

  • 結果テーブルと可視化は、任意の数値フィールドをメジャーとして解釈します。
  • 結果テーブルと可視化では、完全なフィールド名が常に使用されます。そのため、[Settings] メニューの [Show Full Field Name] オプションは無効になっています。
  • カスタム フィールド、表計算、ピボット、列合計、小計を使用するには、SQL Runner クエリから探索します。
  • SQL Runner の可視化では静的マップ(リージョン)の可視化はサポートされていませんが、経緯度データを使用するマップ(マップと静的マップ(ポイント)の可視化)はサポートされています。
  • タイムラインの可視化は、SQL Runner の可視化ではサポートされていません。

ディメンションのピボット

クエリの結果を編集して、SQL Runner の可視化で 1 つ以上のディメンションによってピボットできます。フィールドをピボットするには:

  1. [結果] 領域で列の歯車メニューを選択して、列のオプションを表示します。
  2. [列をピボット] を選択します。

ピボットされた結果が SQL Runner の可視化に表示されます。

結果をピボット解除するには、ピボットされた列の歯車メニューをクリックし、[列をピボット解除する] を選択します。

フィールドのタイプを変更する

クエリ結果と可視化を表示する際は、SQL Runner は数値フィールドをメジャーとして、数値以外のフィールドをディメンションとして自動的に解釈します。以下のとおりにして、デフォルトのフィールド タイプをオーバーライドして、ディメンションをメジャーに変換(またはその逆)できます。手順は次のとおりです。

  1. [結果] 領域で列の歯車メニューを選択して、列のオプションを表示します。
  2. [ディメンションに変換する] または [メジャーに変換する] を選択して、フィールド タイプを変更します。

可視化によって、新しいフィールド タイプが表示されます。

LookML モデルに対するクエリの実行

SQL Runner を使用して、データベースに対して直接の代わりに、Look ML に対して SQL クエリを作成し、実行できます。モデルに対してクエリを作成するときに、${view_name.field_name}${view_name.SQL_TABLE_NAME} などの LookML 置換演算子を使用できます。これにより、たとえば派生テーブルのトラブルシューティングを行うクエリを作成する際に時間を節約できます。

Looker が LookML の置換を解決してから、クエリがデータベースに渡されるため、クエリはデータベース言語に対して有効な SQL クエリである必要があります。たとえば、言語ごとに、SQL 関数に渡す必要がある特定のパラメータがある、わずかに異なる関数があります。

SQL Runner で LookML モデルに対してクエリを実行するには:

  1. [モデル] タブを選択します。
  2. クエリを実行するモデルを選択します。
  3. [データ] バーの下にあるテキスト ボックスに、LookML フィールドを使用して SQL クエリを入力します。
  4. 必要に応じて、ビューリストのビューを選択すると、カーソルの場所でクエリにビューが含まれます。
  5. ビューのフィールドのリストを表示するには、[ビュー] セクションでビューを選択します。必要に応じて、フィールド リストでフィールドを選択して、カーソルの位置にクエリを含めることができます。
  6. [準備済み SQL クエリ] 領域では、LookML の置換が SQL に変換された後構築された結果の SQL クエリを表示できます。
  7. [実行] をクリックして、モデルに対してクエリを実行します。
  8. [結果] 領域に結果を表示します。SQL Runner は、最大 5,000 行のクエリの結果セットを読み込みます。ストリーミングをサポートする SQL 言語の場合、結果をダウンロードして結果セット全体を表示できます。

SQL Runner を使用して新しいクエリを試したり、既存のクエリをテストしたり、結果から新しい Explore を開いたりすることができます。SQL Runner のエラーのハイライト表示は、クエリのテストとデバッグに役立ちます。

望みのクエリがある場合は、クエリを共有できます。クエリを LookML プロジェクトに追加することもできます。

SQL Runner からフィールドの LookML を表示

[モデル] タブのフィールド リストから、フィールドの LookML を表示することもできます。フィールド リストでフィールドにカーソルを合わせ、フィールド名の右側にある Looker アイコンを選択します。

Looker で LookML IDE を開き、フィールドが定義されているファイルを読み込みます。

SQL Runner の履歴

SQL Runner で実行したすべてのクエリの最新の履歴を表示することもできます。

履歴を表示するには、ナビゲーション パネルの上部にある [履歴] タブを選択します。SQL Runner には、データベース接続で実行されたすべてのクエリが表示されます。赤色は、エラーが発生したために実行されなかったクエリを示します。

履歴でクエリを選択し、そのクエリを SQL Runner に入力してから、[Run] を選択してクエリを再実行します。

クエリの並べ替え

テーブルの並べ替え順は、結果が昇順か降順かに応じて、並べ替えられたフィールド名の横に、上向きまたは下向きの矢印で示されます。複数の列でソートするには、Shiftキーを押しながらソートする順に列のヘッダーをクリックします。フィールドのソート順は、他のフィールドとの比較でソート順を示す番号、フィールド名の横にあるソート方向を示す矢印(昇順か降順か)、フィールド名にカーソルを合わせた際に表示されるポップアップによっても示されます。

詳細と例については、Looker でのデータの探索のドキュメントのページのデータの並べ替えのセクションをご覧ください。

クエリの共有

SQL Runner のクエリは、SQL Runner のアクセス権を持つ別のユーザーと共有できます。クエリを共有するには、ブラウザのアドレスバーにある URL をコピーします。

結果をダウンロードする

SQL クエリを実行したら、さまざまな形式で結果をダウンロードできます。

  1. [SQL クエリ] ボックスにクエリを作成します。(この時点で SQL Runner でクエリを実行する必要はありません。)
  2. 右上の歯車メニューから [ダウンロード] を選択します。
  3. ダウンロードするファイル形式(テキスト ファイル、CSV、JSON など)を選択します。
  4. [ブラウザで開く] を選択して新しいブラウザ ウィンドウに結果を表示するか、[ダウンロード] を選択して結果をコンピュータにファイルでダウンロードします。

ストリーミングをサポートする SQL 言語の場合、SQL Runner のダウンロード オプションでは結果セット全体をダウンロードします。ストリーミングをサポートしていない SQL 言語の場合、SQL Runner のダウンロード オプションでは [結果] セクションに表示されているクエリの行(最大 5,000 行)のみをダウンロードします。

列の値のコピー

SQL Runner の [結果] セクションから列の値をコピーできます。列の歯車メニューを選択して、値をクリップボードにコピーします。そこから、列の値をテキスト ファイル、Excel スプレッドシート、または別の場所に貼り付けることができます。

Looker 管理者が SQL Runner Vis の Labs 機能を有効にしている場合は、列の歯車メニューにその他のオプションもあります。

結果テーブルの列を手動で移動、固定サイズ変更することもできます。

SQL Runner クエリの費用の見積もり

BigQueryMySQLAmazon RDS for MySQLSnowflakeAmazon Redshift Amazon AuroraPostgreSQL、Cloud SQL for PostgreSQL、Microsoft Azure PostgreSQL 接続の場合、SQL Runner はクエリ費用の見積もりを提供します。SQL クエリを入力すると、SQL Runner によってクエリに必要なデータ量が計算され、[実行] ボタンの近くに情報が表示されます。

BigQuery、MySQL、Amazon RDS for MySQL の接続では、費用の見積もりは常に有効になります。Snowflake、Amazon Redshift、Amazon Aurora、PostgreSQL、Cloud SQL for PostgreSQL、Microsoft Azure PostgreSQL のデータベース接続では、接続の費用の見積もりオプションを有効にする必要があります。接続を作成する際に、[費用の見積もり] を有効にできます。既存の接続の場合、Looker の管理者パネルの Database セクションの 接続ページで接続を編集できます。

アドホックな Explore を作成する

SQL Runner から、SQL クエリまたはデータベース テーブル用のアドホック Explore を作成することで、データに関してすばやく分析できます。Looker Explore を使用して、フィールドの選択、フィルタの追加、結果の可視化、SQL クエリの作成が可能です。

SQL Runner からアドホック Explore を開くには、次の 2 つの方法があります。

  • SQL Runner のクエリ結果を探索する
  • SQL Runner のテーブルリストを探索する

SQL Runner クエリ結果の探索

SQL Runner によって、SQL クエリから Explore を開くことができます。これにより、SQL Runner で記述されたクエリから一時的な Explore が作成されます。これにより、クエリによって返されるものをテストし、さらに結果を可視化できます。これは任意のクエリに使用できますが、派生テーブルに使用する予定のクエリをテストする場合は特に便利です。

  1. SQL Runner を使用して、使用する SQL クエリを作成します。
  2. 右上の歯車メニューから [Explore] を選択します。これによって新しい Explore に移動し、ここでモデル内に保存されているテーブルのように SQL クエリを探索できます。
  3. この Explore の URL をコピーして共有できます。
  4. このクエリを派生テーブルとして、ここからプロジェクトに直接追加するには、[ビューをプロジェクトに追加] を選択します。

SQL Runner の探索中にカスタム フィールドを作成

カスタム フィールド機能へのアクセス権がある場合は、カスタム フィールドを使用して、SQL Runner でモデル化されていないフィールドを可視化できます。前のセクションで説明したように、歯車メニューから [Explore] を選択します。次に、フィールド ピッカーで次の操作を行います。

SQL Runner に一覧表示されているテーブルの探索

[Database] タブの [Explore Table] オプションを使用して、接続内のすべてのテーブル用のアドホック Explore を作成します。これにより、テーブルをモデル化する前に、Looker を使用して LookML ビューと同じようにテーブルを探索できます。

テーブルの Explore を開くと、プロジェクトにテーブルを追加するかどうかを決定できます。Explore の [SQL] タブを使用して、Looker がデータベースに送信した SQL クエリを表示してから、[SQL Runner で開く] ボタンを使用してクエリを SQL Runner. に戻すこともできます。

  1. [データベース] タブを選択します。
  2. SQL Runner で、テーブルの歯車アイコンを選択し、[テーブルを探索] を選択します。
  3. Looker はテーブルのビューで一時モデルを生成してから、Explore を表示します。
  4. Looker は、テーブルの列ごとにディメンション フィールドを提供します。(これは、Looker がプロジェクトの開始時にモデルを生成するのと同じ方法です。)
  5. Looker では、任意の日付フィールドの期間が自動的に含まれます。
  6. Looker にはカウント メジャーも含まれます。

SQL Runner を使用したデバッグ

SQL Runner は、クエリ内の SQL エラーの確認に便利なツールでもあります。

SQL Runner のエラーのハイライト表示

SQL Runner は、SQL コマンドでエラーの場所をハイライト表示し、エラー メッセージにエラーの場所を含めます。

提供される場所の情報は、データベース言語によって異なります。たとえば、MySQL ではエラーを含む行番号が提供されますが、Redshift ではエラーの文字位置が提供されます。その他のデータベース言語は、これらのいずれかの動作やその他の動作を含む場合があります。

SQL Runner は、SQL コマンドの最初の構文エラーの場所を、赤字で下線を引き、行に [x] マークを付けてハイライト表示もします。[x] にカーソルを合わせると、エラーの詳細が表示されます。問題を修正したら、[実行] を選択して、クエリにもうエラーがないか確認します。

SQL Runner を使用して Explore でエラーを確認

Explore で SQL 構文エラーが発生した場合は、SQL Runner を使用してエラーの場所とエラーの種類(スペルミスやコマンドの欠落など)を特定できます。

  1. Explore で、データバーの [SQL] タブを選択します。
  2. [SQL Runner で開く] を選択して、SQL Runner でクエリを開きます。

これにより、Explore の生成された SQL が SQL Runner にコピーされます。SQL Runner のエラーのハイライト表示セクションで説明したように、SQL Runner は SQL コマンドでエラーの場所をハイライト表示し、エラー メッセージにエラーの場所を含めます。次に、エラーを修正するまで、SQL Runner でクエリを変更して再実行できます。

SQL Runner を使用して派生テーブルのエラーを確認

SQL Runner を使用して派生テーブルの SQL エラーを確認することについて詳しくは、[SQL Runner を使用して派生テーブルをテスト] という Looker コミュニティ投稿をご覧ください。