Editing and validating LookML(LookMLの編集と検証)

IDE の使用

Looker の統合開発環境(IDE)には、LookML の記述に役立つ機能がいくつか用意されています。

自動提案

IDE に入力を開始すると、入力内容のコンテキストに反応する可能性のあるパラメータや値が候補として表示され、たとえば、ディメンションの type パラメータの候補には、そのパラメータの有効なオプションのみが含まれます。また、sql パラメータ内のフィールドは ${...} とマークされている必要があるため、IDE はフィールドを提案する際にその構文を追加します。

自動候補は、表示可能な場所に自動的に表示されます。閉じるには、キーボードの Esc キーを押します。Ctrl+Space(Windows)または Ctrl+Space(Mac)を押すと、いつでも表示できます。

アドホック エラーのチェック

入力中に IDE が構文エラーを検出します。ガターの赤 X は構文エラーを示しており、赤で下線が引かれています。赤い X にカーソルを合わせると、問題の簡単な説明が表示されます。

LookML 検証ツールは、完全なモデル検証を行うために引き続き必要です。結合がないことによる無効なフィールド参照などのエラーは、モデルを包括的に見る必要があるため、LookML Validator の実行時にのみ表示されます。

クイックヘルプ パネル

情報アイコンをクリックして [クイックヘルプ] パネルを開くと、コードの現在の位置の説明とオプションが表示されます。サイドバーのパラメータ名をクリックして、そのパラメータの Looker ドキュメント ページを開きます。

また、メタデータ パネルを使用して、Looker IDE メタデータ パネル内のオブジェクトに関するコンテキスト関連の情報を表示することもできます。詳細については、LookML オブジェクトのメタデータに関するドキュメントをご覧ください。

自動フォーマット

開発モードのときは、形式ファイルのキーボード ショートカットを使用して、LookML ファイルを自動的にインデントできます。インデントは、パラメータとサブパラメータの階層を示します。これにより、LookML が読みやすく、理解しやすくなります。

折りたたみ

ガターに、ファイル内の各トップレベル LookML パラメータの先頭の横にある小さな矢印が表示されます。この矢印をクリックすると、LookML のこのセクションが折りたたまれたり広げられたりすることで、特定のセクションのみに集中できます。

また、ファイル メニューには [Fold LookML] と [Unfold LookML] のオプションもあり、ここですべてのファイルを展開して、現在のファイル内の最上位のパラメータまで展開できます。

また、キーボード ショートカットを使用して LookML を折りたたみ、展開することもできます。

追加、変更、削除のマーキング

LookML IDE では、開発モードを使用していて確定していない変更があると、常にいくつかのインジケーターが表示されます。

  • ファイル名、ウィンドウの左側に青い点が表示され、ファイルの新規作成、変更、名前変更を確認できます。
  • 新しいファイルや変更したファイルを開くと、ファイル内の行番号が緑色でハイライト表示され、改行または変更された行が表示されます。赤色の横線は削除された行を示します。

コメントを追加する

LookML にコメントを追加すると、読みやすくなります。コメントを 1 つ追加するには、# 文字を使用します。

dimension: name {
  sql: ${TABLE}.name ;; # This is the customer's full name
}

キーボード ショートカットを使用して、コードブロック全体をコメントアウトできます。

  1. コメントアウトする行を選択します。
  2. Mac の場合は ⌘+/ キー、Windows の場合は Ctrl+/ キーを押します。

IDE によって、選択した各行に # 文字が追加されます。

SQL ブロックをコメントアウトする

完全に SQL コードブロック内にある行をコメントアウトする場合は、SQL コメント表記を手動で追加します。

SQL コメント ブロックを使用する場合、コメントアウトされたセクションは LookML コードとして解釈されます。したがって、LookML が生成した SQL 内にコメントが表示されますが、コメントはクエリ結果に影響しません。

オブジェクトまたはファイルにジャンプ

Looker IDE では、オブジェクトまたはファイルに移動機能を使用して、LookML オブジェクトやプロジェクト ファイルに直接移動できます。ファイル ブラウザまたはオブジェクト ブラウザからオブジェクトまたはファイルに移動アイコンをクリックするか、キーボード ショートカット Command+J(Mac)または Ctrl+J(Windows)を使用します。

詳細については、プロジェクト情報へのアクセスと編集に関するドキュメントをご覧ください。

プロジェクト内のテキストの検索と置換

Looker IDE には検索と置換の機能があるため、すべてのプロジェクト ファイルを対象にテキストを検索したり、すべてのインスタンスや選択したインスタンスを一括オペレーションで置換したりすることができます。

Looker IDE の検索と置換は、大規模な LookML プロジェクトで LookML の要素を見つけたり、説明やラベル内のテキストを置き換えたりするのに適したツールです。プロジェクトでモデル、Explore、フィールドの名前を検索して置換する場合は、代わりにコンテンツ バリデータの検索と置換関数を使用してください。モデル、Explore、フィールドの名前を変更すると、モデル内の参照が破損する可能性があります。また、コンテンツ バリデータでは、このような変更を行った後、LookML のリファレンスを検証し、LookML のエラーを修正できます。

Looker IDE の検索機能を使用するには:

  1. IDE の検索パネルに移動します。
  2. [検索] 欄にキーワードを入力します。
  3. 必要に応じて、[大文字と小文字の区別] を選択して [検索] フィールドに入力した大文字と小文字に一致するインスタンスのみを検索するか、[正規表現] を選択して正規表現を検索します。
  4. [検索] をクリックします。
  5. ファイル名をクリックすると、IDE でそのファイルを開くことができます。

開発モードを使用している場合は、[Replace with] フィールドも表示されます。プロジェクト内のテキストを置換するには:

  1. [置換] 欄に置換テキストを入力します。必要に応じて、[検索] フィールドのテキストを置き換える代わりに削除する場合は、[置換] フィールドを空白のままにします。

  2. [Select &Replace] をクリックして、プロジェクトでテキストがどのように置き換えられるかをプレビューします。

  3. 結果には、プロジェクト内のすべてのインスタンスがハイライト表示されます。次のオプションを使用して、置換するインスタンスをカスタマイズできます。

    • 結果の概要の横にあるチェックボックスを使用して、プロジェクト全体のすべてのインスタンスを選択または選択解除します。
    • 各インスタンスの横にあるチェックボックスを使用して、そのインスタンスを選択または選択解除します。
  4. [選択したインスタンスを置き換える] ボタンをクリックして、選択したインスタンスに置換を適用します。IDE により、変更内容が表示されます。

新しいフィールドの作成とテスト

LookML の編集例として、複数のフィールドを追加してテストします。

ディメンションを作成する

まず、users ビューに新しいディメンションを追加して、ユーザーがカリフォルニアとニューヨークのどちらにいるかを決定します。ディメンションは type: yesno です。つまり、ユーザーがカリフォルニアまたはニューヨークからの場合は Yes、そうでない場合は No を返します。

新しいディメンションの LookML は次のようになります。

dimension: from_ca_or_ny {
  type: yesno
  sql: ${TABLE}.state = "California" OR ${TABLE}.state = "New York" ;;
}

このディメンションを user ビューファイルに追加して、ファイル内の [変更を保存] ボタンをクリックします。

${TABLE}.state の詳細については、置換演算子をご覧ください。

メジャーの作成

次に、ユーザーの年齢を平均する新しいメジャーを user ビューに追加します。このメジャーは type: average となり、age 列で集計されます。

この新しいメジャーの LookML は次のようになります。

measure: average_age {
  type: average
  sql: ${TABLE}.age ;;
}

このメジャーを user ビューファイルに追加して、ファイル内の [Save Changes] ボタンをクリックします。

Explore のフィールドのテスト

新しいディメンションとメジャーをクエリしてテストできます。変更を保存すると、これらのフィールドが Explore のフィールド選択ツールに表示されます。現在のビューの Explore に簡単にアクセスするには、ビューファイル名の横にあるプルダウン メニューを使用します。

[Users] Explore で、新しいフィールドを選択してクエリに追加できます。たとえば、新しいフィールドの両方を使用して、カリフォルニア州またはニューヨーク在住のユーザーの平均年齢とそれ以外のユーザーの平均年齢を表示するクエリを作成できます。

変更を本番環境に commit して push するまで、これらの新しいフィールドにアクセスするには、開発モードになっている必要があります。

LookML の検証

更新が完了したら、変更を保存できます。単一のファイル内に未解決の構文エラーがある場合は、IDE によって警告が表示されます。

次に、LookML 検証ツールを使用して、モデルの完全な検証を行います。結合がないことによる無効なフィールド参照などのエラーは、モデルを包括的に見る必要があるため、LookML Validator の実行時にのみ表示されます。LookML に加えた変更は、本番環境に公開する前に検証してください。検証ですべての問題(データベース権限の問題など)が検出されるわけではありませんが、ほとんどのエラーは防止されます。

LookML バリデータはコンテンツ バリデータと混同しないよう注意する必要があります。コンテンツ バリデータでは、加えた変更によって保存済みの Look が破損しないかどうかが確認されます。

LookML 検証ツールは、前回の LookML 検証以降に更新された LookML ファイル、または更新の影響を受けるファイルのみをスキャンします。

  • モデルレベルの設定を変更した場合は、すべてが再度検証されます。
  • ビューが変更された場合、そのビューが使用されている Explore のみが再検証されます。
  • Explore が変更された場合は、その Explore のみが再検証されます。

チャットチームのヒント: LookML の検証が完了するまでに時間がかかる場合は、まずモデルファイル内の include パラメータを確認する必要があります。すべてのビューファイル(include: "*.view")を含めると、LookML 検証ツールによってすべてのファイルがチェックされるため、パフォーマンスに影響することがあります。その場合は、必要なビューファイルのみが含まれるようにモデルファイルの include パラメータを更新します。

検証中

LookML バリデータを実行するには、Looker IDE の右上にある [Validate LookML] ボタンを選択します。または、IDE の上部にある [Project Health] アイコンを選択して [Project Health] パネルを開き、[Validate LookML] ボタンを選択します。

LookML 検証ツールを実行すると、対処が必要なエラーなどの警告のリストが表示されることがあります。矢印を選択すると、エラーや警告のリストを表示できます。

別の変更を加えて保存すると、[プロジェクトの状態] パネルのバリデータ ボタンも再び使用できるようになります。

検証メッセージ

Looker で LookML に対して検証を実行すると、検証メッセージが表示されます。

制限の緩いローカライズが有効になっている場合、LookML ダッシュボードにサイドバーではなく、警告メッセージではなく情報メッセージが表示されます。

LookML エラーは見つかりませんでした

バリデータで問題が検出されなかった場合は、緑色のチェックマークと「LookML errors found」というテキストが表示されます。

LookML のエラー

LookML エラーは、クエリの実行を妨げている問題です。かっこ内の数字は検出されたエラーの数です(次の例では 9)。

表示された問題の一覧に、検証で不合格となった理由が表示されます。エラーをクリックすると、多くの場合、問題のコード行に直接移動します。行の横に赤い「X」が表示されます。カーソルを合わせると、詳細なエラー情報が表示される場合があります。

チャットチーム向けのヒント: 最も多い入力エラーは「不明」または「アクセスできないフィールド」です。原因と対処方法については、こちらのヘルプセンター記事をご覧ください。

LookML の警告

LookML の警告によってクエリの実行を妨げられることはありませんが、ユーザーに対する機能障害や意図しない機能が生じる可能性があります。エラーの場合と同様に、かっこ内の数字は検出された警告の数です(次の例では 3 つの警告を示しています)。

LookML のエラーと同様に、[Project Health] パネルで警告を選択し、赤色の X アイコンにカーソルを合わせて詳細情報を表示すると、警告が展開されて問題コードにジャンプできます。

変更をデプロイする

変更が正常に機能することが確認できたら、Looker の Git 統合を使用して変更を commit して本番環境にデプロイできます。

Look またはダッシュボードでフィルタとして機能するフィールド名を変更した場合は、スケジュールした Look とダッシュボードの [Filters] セクションを確認し、必要に応じてフィルタを更新して変更を反映します。スケジュールされたコンテンツ配信に機能しなくなったFilter(参照されているフィールドが変更されているなど)が含まれている場合、フィルタされていないデータが定期配信で公開される可能性があります。