モデルの生成

このページでは、新しいプロジェクトを作成し、データベースから基本モデルを自動的に生成する手順を説明します。

プロジェクト ファイルを作成する別のオプションもあります。空のプロジェクトを作成して手動でモデルを作成する、または既存の一般公開 Git リポジトリをする新しい LookML プロジェクトの作成のドキュメント ページをご覧ください。

データベースからモデルを自動的に生成する

  1. メニューバーの [Develop] をクリックして、Development Mode であることを確認します。

  2. ナビゲーション パネルの [開発] セクションから、[プロジェクト] を選択します。

  3. [LookML プロジェクト] ページで、[新しい LookML プロジェクト] をクリックします。

    • [LookML プロジェクト] ページでは、すべてのプロジェクトをそれぞれのモデルとともに表示できます。このページを使用して、プロジェクトを作成、表示、構成します。

  4. [新しいプロジェクト] ダイアログで、プロジェクトのオプションを指定します。

    • プロジェクト名: プロジェクトの名前を入力します。Looker では次のような形でプロジェクト名が使用されます。プロジェクト名は慎重に選択してください。また、プロジェクトの名前はプロジェクトの永続的な ID になると考えてください。

      • project_id パラメータのある API 呼び出しのためにプロジェクトを識別する。
      • Looker インスタンスの内部データベースでプロジェクトを識別する。
      • ローカル プロジェクトのインポート用にプロジェクトを識別する。
      • [LookML プロジェクト] ページにプロジェクトを表示する。
      • Looker ナビゲーション パネルの [Develop] セクションにプロジェクトを表示する。
      • プロジェクト ファイルの URL の一部。たとえば、URL が example.looker.com の Looker インスタンスの場合、ecommerce という名前のプロジェクトのプロジェクト マニフェスト ファイルは、URL https://example.looker.com/projects/ecommerce/files/manifest.lkml で見つけることができます。
    • 開始点: [Generate Model from Database Schema] を選択します。

    • 接続: プルダウン メニューから、データベース接続の名前を選択します。

    • ビューの作成元: 次のいずれかのオプションを選択します。

      • All Tables: LookML 生成ツールで、データベース内の各テーブルのビューファイルを作成します。
      • Single Table: LookML 生成ツールで、データベース内に 1 つのテーブルのビューを作成します。このオプションを選択した場合は、データベース テーブルの名前を入力します。
    • スキーマ: データベース内の 1 つのスキーマのみのファイルを生成するには、[スキーマ] テキスト フィールドにスキーマの名前を入力します。複数のスキーマをカンマで区切って一覧表示できます。

    • 接頭辞を無視する: ビューのファイル名からテーブル接頭辞を除外するには、[Ignore Prefixes] フィールドにデータベースの接頭辞を入力します。この項目では大文字と小文字が区別されます。複数の接頭辞をカンマで区切って一覧表示できます。たとえば、テーブル名は dwh_ordersDBS_users と名付けます。[Ignore Prefixes] テキスト フィールドに「dwh, DBS」と入力すると、次に Looker によって ordersusers という名前のビューファイルが作成されます。

  5. [プロジェクトを作成] をクリックします。

    • LookML 生成ツールは、特に指定のない限り、プロジェクト用に 1 つのモデルファイルを作成し、データベース内の各テーブルにビューファイルを作成します。その後、Looker によって Looker IDE で新しいプロジェクトが開かれます。
    • LookML 生成ツールによって、ビューファイルとモデルファイル用の IDE フォルダが作成されます。データベースに複数のスキーマがある場合、LookML 生成ツールはスキーマ用のフォルダを作成します。

BigQuery 接続の場合、データベースから LookML プロジェクトを生成すると、Looker によって BigQuery 列メタデータの説明から(ある場合)フィールドの説明が自動的に入力されます。

また、生成ツールはデータベース テーブルごとに Explore も作成します。データのクエリを開始するには、[Explore] パネルを使用して Explore の名前を選択します。

作成後にプロジェクトの名前を変更するには、プロジェクト情報へのアクセスと編集のドキュメント ページのプロジェクトの名前の変更セクションをご覧ください。

モデルについてとファイルを表示するのドキュメント ページの説明のとおりに、プロジェクトに追加する新しいモデルを手動で作成して、このページのモデルを構成する必要がある場合のセクションの説明のとおりに、本番環境での使用のためにそれらを構成できます。詳しい手順については、新しい LookML プロジェクトの作成のドキュメント ページをご覧ください。

モデルファイルが生成されるか手動で作成されたら、Looker プロジェクトの Git への接続に関する詳細について、Git 接続の設定とテストのドキュメント ページをご覧ください。LookML ファイルの変更を記録し、ファイルのバージョンを管理できます。

LookML 生成の改善

Looker 管理者が LookML 生成の改善 Labs 機能を有効にしている場合、データベースからプロジェクトを生成する際に、Looker がプロジェクトに追加要素を追加します。

  • Looker が新しいプロジェクトに README ファイルを追加します。README ファイルには、LookML の概要とともに、新しい LookML 開発者に役立つリンクとリソースが含まれています。
  • Looker は、モデルファイルと各ビューファイルにいくつかのインライン コメント説明を追加します。
  • ビューに、名前に文字列 id を含まない type: number のディメンションが 1 つ以上ある場合、Looker は type: sum のメジャーと type: average のメジャーを作成します。両方とも、名前に文字列 id を含まない type: number のアルファベット順の最初のディメンションに基づいています。

モデルを構成する必要がある場合

モデルの構成は、次の理由で役立ちます。

  • 所与のモデル名が特定のプロジェクト内の特定のモデルを参照するように指定します。
  • モデルが使用を許可される接続を設定します。

Development Mode にある間は、管理者(または manage_models 権限または manage_project_models 権限を持つデベロッパー)はモデル構成が不要です。これにより、LookML デベロッパーは Development Mode にある間も作業を行えるようになります。ただし、モデル構成が存在する場合は、Development Mode であってもその構成によってクエリが制限されます。

LookML のデベロッパーはモデルファイルで目的の接続を指定しますが、管理者は [LookML プロジェクト] のページで許可される接続を制御します。モデルの構成で許可されていない接続の使用をモデルが指定する場合、接続は許可されません。

次のシナリオでは、モデルに構成が必要です。

  • モデルが初めて本番環境に push されるとき。モデルが構成されていない場合、モデルが本番環境モードになると、そのモデル対するクエリはすべて失敗します。モデルが Development Mode から本番環境に初めて push される際に、モデルの名前が Looker インスタンスに対して一意である場合には、Looker がモデルを自動的に構成します。ただし、別のプロジェクトで同じ名前の構成済みのモデルがある場合、Looker はモデルを自動的に構成しません。
  • 開発中。manage_models 権限(admin ロールに含まれる)または manage_project_models 権限が付与されていないデベロッパーがいる場合は、そうしたデベロッパーがそのモデルに対してクエリを実行する前に、モデルを構成する必要があります。モデルが存在する前か、プロジェクトが存在する前に、そのモデルを構成できます。次に、LookML デベロッパーがプロジェクトとモデルを作成する際に、モデルの許可済みの接続がすでに構成されていて、デベロッパーはクエリを正常に実行できます。

Looker によって、manage_models 権限または manage_project_models 権限を持つデベロッパーは Development Mode で未構成のモデルでクエリを実行できます。Looker はモデルをその名前で検索して、これを行います。その名前で最初に見つかったモデルをクエリの実行に使用します。