Look またはダッシュボードのモデルまたは Explore の変更

Look またはダッシュボードのモデルまたはソース Explore の変更が必要になる場合があります。たとえば、モデル A の LookML をベースとした Look またはダッシュボードがあるとします。また、2 つ目のモデル、モデル B もあるとします。Look またはダッシュボードのモデル参照をモデル A ではなくモデル B に変更したいことがあるでしょう。このページでは、Look またはダッシュボードのソースモデルまたは Explore を変更する方法について説明します。

ユースケースに応じて複数のソリューションがあります。

Look の拡張 URL を編集する

1 回限りの Look の場合、Look の基盤となる Explore から拡張 URL を使用して、URL のモデル名を変更できます。

  1. Look から、[Explore from here] リンクを選択して、Look のクエリを Explore で開きます。
  2. Explore の歯車メニューから [Share] を選択して、[Share URL] メニューを開きます。
  3. [拡張 URL] オプションから URL をコピーします。
  4. 拡張 URLのモデル名を変更します。モデル名は、インスタンス名と URL の /explore の部分の直後に配置されます。URL の形式は次のとおりです。

    https://instance_name.looker.com/explore/MODEL_NAME/EXPLORE_NAME?fields=...

    この例では、モデル名は lauren_ecommerce です。 インスタンス名の後に /explore/lauren_ecommerce/order_items?fields=orders.created_month,orders.count が含まれる拡張 URL。
  5. 新しい Explore URL をブラウザに貼り付けて、更新されたモデル名で機能することを確認します。
  6. Explore を新しい Look として保存するか、既存の Look を上書きします。

ダッシュボードの LookML コピーを作成する

1 つ以上のダッシュボードを LookML ダッシュボードに変換し、LookML でダッシュボードのモデルを更新できます。

  1. ダッシュボードごとに、ダッシュボードの LookML コピーを作成し、LookML プロジェクトに保存します。(ダッシュボードがすでに LookML ダッシュボードである場合は、この手順をスキップできます)。
  2. LookML プロジェクトで、Looker IDE の検索と置換関数を使用して model: のインスタンスを探し、必要に応じて値を別のモデル名に更新します。
  3. 更新したダッシュボードを LookML ダッシュボードのままにしておくか、ユーザー定義のダッシュボードに変換することもできます。

Looker API を使用する

Looker API を使用して、複数のダッシュボードのモデルを更新できます。

  1. dashboard_elements API エンドポイントを使用して、すべてのダッシュボードの要素を取得します。レスポンスでクエリ ID を取得できます。
  2. ダッシュボード タイルのいずれかがルックリンクタイルの場合、looks エンドポイントを使用して基盤となる Look のクエリ ID を見つけます。
  3. クエリ ID ごとに、次の操作を行います。
    1. query エンドポイントを呼び出して、クエリのレスポンスの本文を取得します。
    2. query レスポンスの本文をコピーします。
    3. model キーの値を新しいモデルに更新します。
    4. create_query エンドポイントを使用して新しいクエリを作成し、編集した本文を渡します。
  4. ダッシュボードでは、update_dashboard_element エンドポイントを使用して、編集された本文を渡し、各要素のクエリ ID を変更します。

Looker Content Validator を使用する

Content Validator は、Look とダッシュボードにエラーがないか確認するツールです。すべてのコンテンツの検索と置換機能もあり、これを使用して、すべての Look またはダッシュボード タイルの基盤となるモデルや Explore を変更できます。

すべてのコンテンツの検索と置換機能を使用すると、Looker インスタンスのすべての Look とダッシュボードが変更されます。少数の Look またはダッシュボード タイルのみに変更を適用するには、次の手順で破壊的変更を加えることができます。

インスタンス全体のすべてのコンテンツのモデルまたは Explore 参照を変更せず、一度に 1 つ以上の Look またはダッシュボード タイルの参照を変更する場合、Content Validatorを使用して、少数の Look またはダッシュボード タイルの参照を一度に置き換えることができます。

  1. Development Modeを有効にして、次の手順で行った変更によってユーザーが影響を受けないようにします。
  2. Looker IDE 内のモデルファイルの名前を、存在しないことがわかっている別の名前(zzz など)に変更することで、既存のモデルを意図的に「破壊」します。これにより、元のモデルを使用するすべての Look とダッシュボードが機能しなくなります。
  3. [開発] メニューで [Content Validator] を選択して、Content Validatorを開きます。
  4. [検証] を選択して、Content Validatorを実行します。
  5. Content Validatorの結果で、[コンテンツ] ボタンを選択して、結果をコンテンツ別にグループ化します。
  6. モデル参照を変更する Look またはダッシュボード タイルを見つけます。
  7. 個々の Look またはダッシュボードの [置換] ボタンを選択して、「壊れた」モデル名を、使用する新しいモデル名に置き換えます
  8. Look またはダッシュボードのタイルが、新しいモデルを指すようになり、想定どおりに動作することを確認します。
  9. 最後に、プロジェクトに戻って Looker IDE 内のモデルファイルの名前を元の名前に戻し、Content Validatorを再度実行して、検証エラーがすべて解決されていることを確認します。