表計算の使用

表計算では、アドホック指標を簡単に作成できます。Excel などのスプレッドシート ツールにある数式とほぼ同じです。表計算は、データ表の青色の列(ディメンション)またはオレンジ色の列(メジャー)ではなく、緑色の列として表示されます。

次の表の最後の列は、表計算を使用し、concat 関数を使用してデータ内の 3 つのフィールドを結合します。

表計算では、ディメンション、メジャー、およびその他のクエリの表計算に対して、数学的、論理的(true/false)、語彙(テキストベース)、日付ベースの計算を実行できます。この計算には、Looker 式(Lexp)という数式を使用します。

表計算は、LookML定義フィールドやカスタムフィールドとは異なります。

表計算と LookML で定義される LookML で定義されるフィールドにはいくつかの違いがあります。

  • 表計算では、適切な権限を持つすべてのユーザーが LookML で定義されたフィールドに基づいて計算を作成できます。ユーザーが LookML で定義された開発フィールドを使用するのではなく、LookML で定義したフィールドに基づいて計算できるようにします。
  • 表計算は、実行後のクエリの結果に対して行われます。これは、データベースに対して実行されるクエリの一部である LookML で定義されたフィールドやカスタム フィールドとは異なります。つまり、まずディメンションとメジャーのセットを選択し、レポートを通常どおりに実行すると、そのレポート内のデータに基づいて表計算を作成できます。
  • 表計算は LookML で定義するフィールドよりシンプルかつ簡単に作成できますが、LookML で定義するフィールドほど簡単には制御できません。すべてのユーザーが表計算を作成できるため、「公式」計算ではない可能性があります。LookerではLookMLを利用して信頼できる単一の情報源を確保しているため、LookML定義フィールドにするか表計算にするかを決定する場合は、このトレードオフを忘れないでください。

表計算とカスタム フィールドの間には、いくつかの違いがあります。

  • カスタム フィールドは、LookML で定義されたフィールドと同様に、データベースに対して実行される SQL を生成します。表計算は、クエリ後に実行されるもので、データベースに対して実行されるわけではありません。
  • 表計算はデータ表からのデータに依存しますが、カスタムフィールドは依存しません。

表計算のフィールドは、表のディメンションとメジャーの横に表示されます。表計算を今後再利用する場合は、Explore を Look として保存するか、ダッシュボード タイルとして保存してください。

表計算の作成

ユーザーまたはグループが表計算を作成できるようにするには、Looker 管理者がそれらのユーザーまたはグループに create_table_calculations 権限を付与して、機能へのアクセスを許可する必要があります。

Looker の [Explore] ページには、表計算、カスタム フィールド、カスタム フィルタの作成に役立つ Looker 式エディタが組み込まれています。データテストを作成してモデルのロジックを検証する Looker デベロッパーは、Looker の式エディタを使用して Looker 式を作成し、式をデータテストの expression パラメータにコピーすることもできます。

Explore ページから Looker 式エディタにアクセスするには、次の 2 つの方法があります。

フィールドピッカーの[カスタムフィールド]セクションを使用した表計算の作成

Looker インスタンスでカスタム フィールドが有効になっており、表計算を作成する権限がある場合は、フィールド選択ツールの [カスタム フィールド] を使用して [表計算の編集] ポップアップを開きます。

  1. フィールド選択ツールの [カスタム フィールド] を開きます。
  2. [追加] を選択します。
  3. [表計算] を選択して [表計算の編集] ポップアップを開きます。

次に、各表計算に次の動作を実行します。

  1. [Calculation] プルダウンから計算タイプを選択します。[カスタム式] のオプションはデフォルトで表示されます。
  2. 計算の定義を追加します。必要に応じて、ショートカットの計算と[ソース] 列を選択して選択します。カスタム式以外の計算タイプは、Explore のデータテーブルに表示される数値フィールドのみを対象としています。
    • [Calculation] プルダウンから [Custom expression] を選択した場合は、大きいテキスト ボックスに [Looker expression] を入力して計算を作成します。表計算は、Explore のデータテーブルに表示されるフィールドからのみ作成できます。Looker の式は非常にシンプルで、ビジネス ロジックに必要な数のフィールド、関数、演算子を使用することもできます。作成する式で、数値、日付、文字列(テキスト)またはブール値(真偽)を求めることができます。
    • Looker の式の作成ドキュメント ページでは、Looker の式を作成する方法とエディタがどのように役立つかについて説明しています。
  3. 必要に応じて、[形式] プルダウンからデフォルト以外の形式を選択します。
  4. [名前] フィールドに、デフォルト以外の新しい計算名を入力します。計算名がフィールドピッカーおよびデータ表に表示されます。
  5. [+ 説明を追加] を選択して、半角 255 文字(全角 122 文字)以内の説明を追加します。説明は半角 255 文字(全角 127 文字)以内で指定してください。他のユーザーは、表計算についてもっと詳しいコンテキストや情報を得ることができます。
  6. [保存] を選択します。

新しい計算がデータ表とフィールド選択ツールの [カスタム フィールド] セクションに自動的に表示されます。他のフィールドと同様に、計算名を選択してクエリを追加または削除することができます。項目にカーソルを合わせると、その計算で使用できるその他のオプションも表示されます。

[データ]バーを使用した表計算の作成

Looker インスタンスがカスタム フィールドに対して有効になっていない場合、[データ] バーから [計算を追加] ボタンを選択するだけで表計算を作成できます。

次に、各表計算に次の動作を実行します。

  1. [Calculation] プルダウンから計算タイプを選択します。[カスタム式] のオプションはデフォルトで表示されます。
  2. 計算の定義を追加します。必要に応じて、ショートカットの計算と[ソース] 列を選択して選択します。カスタム式以外の計算タイプは、Explore のデータテーブルに表示される数値フィールドのみを対象としています。
    • [Calculation] プルダウンから [Custom expression] を選択した場合は、大きいテキスト ボックスに [Looker expression] を入力して計算を作成します。表計算は、Explore のデータテーブルに表示されるフィールドからのみ作成できます。Looker の式は非常にシンプルで、ビジネス ロジックに必要な数のフィールド、関数、演算子を使用することもできます。作成する式で、数値、日付、文字列(テキスト)またはブール値(真偽)を求めることができます。
    • Looker の式の作成ドキュメント ページでは、Looker の式を作成する方法とエディタがどのように役立つかについて説明しています。
  3. 必要に応じて、[形式] プルダウンからデフォルト以外の形式を選択します。
  4. [名前] フィールドに、デフォルト以外の新しい計算名を入力します。計算名がフィールドピッカーおよびデータ表に表示されます。
  5. [+ 説明を追加] を選択して、半角 255 文字(全角 122 文字)以内の説明を追加します。説明は半角 255 文字(全角 127 文字)以内で指定してください。他のユーザーは、表計算についてもっと詳しいコンテキストや情報を得ることができます。
  6. [保存] を選択します。

新しい計算は、インスタンスでカスタム フィールドが有効になっている場合に、データ表とフィールド ピッカーの [カスタム フィールド] セクションに自動的に表示されます。他のフィールドと同様に、計算名を選択してクエリを追加または削除することができます。項目にカーソルを合わせると、その計算で使用できるその他のオプションも表示されます。

一般計算用のショートカット

表計算を作成、編集する権限がある場合は、Explore のデータテーブルにある特定の数値フィールドに対して、他の表計算を含むショートカット計算を実行できます。インスタンスでカスタム フィールドが有効になっている場合、カスタム フィールドのショートカット計算は作成できません。

ショートカット計算は次のいずれかの方法で実行できます。

2 つ目の方法を使用すると、名前の変更、任意の説明の追加、デフォルト以外の形式の選択など、作成時に表計算をカスタマイズできます。

次のセクションでは、使用可能な計算オプションのタイプについて説明します。

一般計算ショートカットのタイプ

ショートカットのオプションとして、数種類の計算を利用できます。次の表に、使用可能な計算とその説明、入力、Looker の式(Lexp)、デフォルト値の形式と計算名を示します。計算を編集すると、別の名前や値の形式を指定できます。

ピボット結果のみで使用できる一般的な計算ショートカットについては、このページの一般的なピボット計算ショートカットの表をご覧ください。

Calculation 説明 Input LEXP フォーマット 名前
%(%) 行の値を列の合計値で割った値。行の上限に達すると、この計算にデータテーブルの値のみが含まれます。 field_1 field_1/sum(field_1) %(小数点以下 0 桁) view_nameの割合field_name
前の行の % 現在の行の値を下の行の値で割った値。 field_1 field_1/offset(field_1, 1) %(小数点以下 0 桁) 以前の割合 - view_name field_name
前の行からの変化率 現在の行と下の行の値の差を下の行の値で割った値。 field_1 field_1/offset(field_1, 1) - 1 %(小数点以下 0 桁) 前期間からの変化率 - view_name field_name
実行中の列の合計 現在の行の値と、列内の前のすべての行値の累計。 field_1 running_total(field_1) デフォルトの形式 合計 view_namefield_name
列のランク 列内のすべての値の中での行の値のランク。行の上限に達すると、この計算にデータテーブルの値のみが含まれます。 field_1 rank(field_1,field_1) デフォルトの形式 view_name のランク field_name

Explore で結果をピボットすると、ピボットのメジャーでよく使われる計算ショートカットを利用できます。

次の表に、使用可能な計算とその説明、入力、Looker の式(Lexp)、デフォルト値の形式と計算名を示します。計算を編集すると、別の名前や値の形式を指定できます。

Calculation 説明 Input LEXP フォーマット 名前
前の列の割合(%) ピボット フィールドの場合、現在の列の値を左側の列の値で割った値です。 field_1 field_1 / pivot_offset(field_1, -1) %(小数点以下 0 桁) view_name field_name の前の列の割合
前の列からの変化率 ピボット フィールドの場合、現在の列の値と左側の列の値の差を、左側の列の値で割った数値です。 field_1 (field_1/pivot_offset(field_1, -1)) - 1 %(小数点以下 0 桁) view_name field_name の前の列からの変化率
% of row ピボット フィールドの場合、現在の列の値の割合をそのフィールドの合計行数で割った値です。 field_1 field_1/sum(pivot_row(field_1)) %(小数点以下 0 桁) 行の割合
実行中の行の合計 ピボット フィールドの場合、現在の列とその行の前のすべての列の累積合計。 field_1 sum(pivot_offset_list(field_1,
-1*pivot_column()
+1,pivot_column()))
デフォルトの形式 累積行の合計

フィールドのデータ表の歯車メニューを使用して、一般的な計算のショートカットを使用する

Looker インスタンスでカスタム フィールドが有効になっており、表計算を作成および編集する権限がある場合は、次の手順でフィールドのデータ表歯車アイコンからショートカット計算を作成できます。

  1. データテーブルの項目の横にある歯車メニューを選択します。この例では、ユーザーが [Inventory Items Count] メジャーで計算を実行し、そのフィールドの歯車メニューを選択しています。
  2. [Calculations] を選択すると、使用可能な計算タイプが表示されます。
  3. 計算タイプを選択します。次の例では、前の行の % を使用して、在庫項目数を前月の在庫項目数と比較します。

ピボット計算タイプは、Explore の結果をピボットしない限り表示されません。

新しい計算がデータ表に自動的に表示されます。

新しい計算は、フィールド選択ツールの [カスタム フィールド] セクションにも表示されます。他のフィールドと同様に、計算名を選択してクエリを追加または削除することができます。また、フィールドにカーソルを合わせると、計算の編集など、その計算で使用できるその他のオプションが表示されます。

[表計算の編集] ポップアップを使用して、一般的な計算のショートカットを使用する

この方法では、デフォルトの形式以外の形式や名前を選択したり、計算の作成時に説明を追加したりできます。

  1. [表計算の編集] ポップアップを開きます。

  2. [Calculation] プルダウンから計算タイプを選択します。この例では、前の行の % を使用して、在庫項目数を前月の在庫項目数と比較します。

  3. [ソース列] プルダウンで、計算を実行するフィールドを選択します。Explore のデータテーブルに表示される数値フィールドのみ選択できます。この例では、Inventory Items Count メジャーに前の行の% 計算を実行した場合、

  4. 必要に応じて、[形式] プルダウン メニューを使用して、事前定義された形式を選択するか、結果に対応するカスタム形式を作成します。カスタム形式を作成する場合は、数値フィールドへのカスタム形式設定の説明にある Excel 形式の書式を使用してください。何も選択されていない場合、デフォルトの書式設定がLookerにより使用されます。

  5. 表計算の名前を必要に応じて変更し、[名前] フィールドのデフォルト名を変更します。計算名がフィールドピッカーおよびデータ表に表示されます。

  6. [+ 説明を追加] を選択して、半角 255 文字(全角 122 文字)以内の説明を追加します。説明は半角 255 文字(全角 127 文字)以内で指定してください。他のユーザーは、表計算についてもっと詳しいコンテキストや情報を得ることができます。

  7. 表計算の作成が完了したら、[Save] を選択して計算を Explore に追加します。

新しい計算がデータ表に自動的に表示されます。

新しい計算は、インスタンスがカスタム フィールドに対して有効になっている場合に、フィールド選択ツールの [カスタム フィールド] セクションにも表示されます。他のフィールドと同様に、計算名を選択してクエリを追加または削除することができます。また、フィールドにカーソルを合わせると、計算の編集など、その計算で使用できるその他のオプションが表示されます。

表計算の複製

表計算を作成する権限がある場合は、自分または他のユーザーが作成した既存の表計算を複製することもできます。表計算を複製して編集すると、小さな差(たとえば、30 日、60 日、90 日の合計)だけの複数の表計算を作成できます。

表計算を複製するには、いくつかの方法があります。

フィールド選択ツールのその他メニューを使用して計算を複製する

インスタンスでカスタム フィールド Labs 機能が有効になっていて、表計算の作成と編集が許可されている場合は、フィールド選択ツールのその他メニューの [オプション] を使用して表計算を複製できます。また、Explore データテーブルのフィールドの歯車メニューを使用するメソッドも使用できます。

フィールド選択ツールで表計算を複製するには:

  1. フィールド選択ツールで [カスタム フィールド] セクションを展開します。
  2. 複製する表計算用に [オプション] メニュー(3 つの点)を選択します。
  3. [コピーを作成] を選択します。

複製された表計算は、元の表計算の名前と「コピー」という単語を末尾に追加して、元の表の下に表示されます。

次に、複製した表計算を編集します。

データ表の歯車メニューを使用して計算を複製する

計算のデータの歯車アイコンから [複製] を選択して、計算を複製することもできます。

インスタンスでカスタム フィールドが有効になっていない場合、この方法が計算を複製する唯一の方法となります。

カスタム フィールドが有効になっているインスタンスの場合、重複する表計算は、元の表計算の名前と「コピー」という単語を末尾に追加して、元の表の下に表示されます。

次に、複製した表計算を編集します。

表計算の編集

表計算の作成権限がある場合は、ご自身または他のユーザーが作成した既存の表計算を編集することもできます。

表計算の編集方法はいくつかあります。

フィールド選択ツールのその他メニュー [オプション] を使用して計算を編集する

Looker インスタンスでカスタム フィールドが有効になっており、表計算を作成できる場合は、フィールド選択ツールを使用して表計算を編集できます。また、Explore データテーブルのフィールドの歯車メニューを使用するメソッドも使用できます。

フィールドピッカーを使用して表計算を編集するには:

  1. [Custom Fields] セクションを展開します。
  2. 編集する表計算の [オプション] メニュー(3 つの点のアイコン)を選択します。
  3. [編集] を選択して [表計算の編集] ポップアップを開きます。

  4. 必要に応じて、[計算]プルダウンから新しい計算タイプを選択します。

  5. 必要に応じて、ショートカットの計算とソース列を含む計算定義を変更します。カスタム式以外の計算タイプは、Explore のデータテーブルに表示される数値フィールドのみを対象としています。

    • [Calculation] プルダウンから [Custom expression] を選択した場合は、大きいテキスト ボックスに Looker 式を追加するか、既存の Looker 式を編集します。表計算は、Explore のデータテーブルに表示されるフィールドからのみ作成できます。
  6. 必要に応じて、[形式] プルダウンから新しい形式を選択します。

  7. 必要に応じて、[名前] フィールドに新しい計算名を入力します。計算名は、フィールド ピッカーとデータ表に表示されます。表計算を変更した場合、変更内容に応じて名前を変更することを検討してください。

  8. 任意のフィールド説明(255文字まで)にその使用目的などの表計算の詳細を加えて追加または更新します。

    • 既存の説明がある場合は、[説明] ボックスが自動的に表示されます。既存の説明がない場合は、[+ 説明を追加] を選択して説明を追加します(省略可)。
  9. [保存] を選択します。

データ表歯車メニューを使用した計算の編集

Looker インスタンスでカスタム フィールドが有効になっていて、表計算を作成する権限がある場合は、計算データ表の歯車メニューを使用して計算を編集することもできます。

  1. フィールドの歯車メニューから [計算を編集] を選択し、[表計算の編集] ポップアップを開きます。

  2. 必要に応じて、[計算]プルダウンから新しい計算タイプを選択します。

  3. 必要に応じて、ショートカットの計算とソース列を含む計算定義を変更します。カスタム式以外の計算タイプは、Explore のデータテーブルに表示される数値フィールドのみを対象としています。

    • [Calculation] プルダウンから [Custom expression] を選択した場合は、大きいテキスト ボックスに Looker 式を追加するか、既存の Looker 式を編集します。表計算は、Explore のデータテーブルに表示されるフィールドからのみ作成できます。
  4. 必要に応じて、[形式] プルダウンから新しい形式を選択します。

  5. 必要に応じて、[名前] フィールドに新しい計算名を入力します。計算名は、フィールド ピッカーとデータ表に表示されます。表計算を変更した場合、変更内容に応じて名前を変更することを検討してください。

  6. 任意のフィールド説明(255文字まで)にその使用目的などの表計算の詳細を加えて追加または更新します。

    • 既存の説明がある場合は、[説明] ボックスが自動的に表示されます。既存の説明がない場合は、[+ 説明を追加] を選択して説明を追加します(省略可)。
  7. [保存] を選択します。

表計算の削除

表計算を作成する権限がある場合は、自分または他のユーザーが作成した表計算を削除することもできます。表計算を削除すると、そのデータ探索は Explore に表示されなくなりますが、その計算を使用する Look タイルやダッシュボード タイルからは削除されます。また、カスタム フィールドのある Explore で URL を使用しているユーザーにも計算が表示されます。

表計算を削除する方法はいくつかあります。

フィールド選択ツールのその他メニューを使用して計算を削除する

Looker インスタンスでカスタム フィールドが有効になっており、表計算を作成できる場合は、フィールド選択ツールを使用して表計算を削除できます。また、Explore データテーブルのフィールドの歯車メニューを使用するメソッドも使用できます。

フィールドピッカーを使用して表計算を削除するには:

  1. [Custom Fields] セクションを展開します。
  2. 削除する表計算の [オプション] メニューを選択します。
  3. [削除] を選択します。

キーボード ショートカットの Command+K(Mac)または Ctrl+K(Windows)でカスタム フィールドを削除することもできます。

削除したカスタム フィールドは、ブラウザの戻る矢印を選択すると復元できます。

データ表歯車メニューを使用した計算の削除

計算のデータ表から [削除] を選択して、計算を削除することもできます。

インスタンスでカスタムフィールドが有効になっていない場合は、これが表計算を削除する唯一の方法です。

キーボード ショートカットの Command+K(Mac)または Ctrl+K(Windows)でカスタム フィールドを削除することもできます。

削除したカスタム フィールドは、ブラウザの戻る矢印を選択すると復元できます。

表計算のソート

表計算をソートするには、ディメンションやメジャーの場合と同様に、列の一番上にあるフィールド名を選択します。

表計算がソートできない場合

表計算の並べ替えは、Looker のディメンションまたはメジャーの並べ替えと同じように機能します。しかし、一部のシナリオでソートを妨げる2つの重要な違いがあります。

  • 表計算は、データがデータベースから取り出された後に作成されます。つまり、表計算をソートするときには、すでに表示されるデータだけをソートできるということです。
  • 一部の表計算は、offset() 関数を使用する場合など、同じ列内の複数の行に適用されます(Looker ヘルプセンターの offset 関数と pivot_offset 関数の使用をご覧ください)。このようなケースでは、表計算をソートすると結果が変わり、無効になります。

表計算を並べ替えることができない特定のシナリオには、次のようなものがあります。

行制限に達した計算

クエリの行数が設定した行数制限を超えた場合、表計算を並べ替えることはできません。これは、表計算は、表示されている行のみに基づくためです。そのため、行の上限に達した場合、表計算に結果を並べ替えるための一部の行がない可能性があります。この問題が起きたときは行制限を増やすようにしてください(最大5,000行)。

たとえば、次の表には、e コマースのショップで売り上げ上位の上位 10 カテゴリが総売上数で並べ替えられています。行数の上限(10 行)に達し、表の上部に黄色のバーが表示されます。

しかし、代わりに注文数が多い上位10カテゴリを表示する場合、結果は次のようになります:

表計算をソートしてからのディメンションまたはメジャーのソート

このページの行上限に達した計算で説明しているように、表計算は表示されている行のみに基づきます。一方、ディメンションまたはメジャーで並べ替えるとデータベースに戻り、正しい行が見つかるようになります。そのため、ディメンションとメジャーを使用して並べ替えを開始する必要があります。データベースから正しいデータが返されてから、表計算に基づいて結果をソートすることができます。

オフセット機能を使用した計算はソートできない

オフセットを使用する表計算は、行のソート順がオフセットの結果を変更してしまうため、ソートできません。

たとえば、次の表計算は、アクセサリのカテゴリの週単位の売上の変化率を示しています。

これは、結果を当該の週でソートした場合にのみ意味があります。

ビジュアリゼーションでの表計算の使用

LookML定義のディメンションやメジャーと同様に、表計算はビジュアリゼーションで自動的に表示されます。

さらに、表計算を使用して、データのどの行をビジュアリゼーションに表示するかを決定することもできます。次の例では、アクセサリ カテゴリに関する週ごとのセール情報を示します。元となるデータ表には、注文の [Created Week] ディメンションと [Total Sale Price] というメジャーのほかに、各週の収益を前の週と比較した [Percent of Week Sales Sales] という表計算があります。

縦棒グラフに特定のデータ行が表示されないようにできます。そのためには、true または false と評価される表計算を作成してから、false 値(データテーブルの「No」として表示)を非表示にします。数式によって単語"true" または "false"; は条件が true または false になるようにする必要があります。

これを行うには、[前週の売上を超過] という表計算を作成します。この計算では、[前週の売上の割合] の計算が 1 より大きいかどうかが評価されます。

${percent_of_previous_week_sales} > 1

これにより、新しい表計算で表が作成され、[Exceeds Previous Sales] の計算で各行が評価され、前の割合が 1 より大きいかどうかに応じて [Yes] または [No] が表示されます。

特定の週の収益が前週の収益を超過しなかった行をすべて非表示にするには、論理計算の歯車アイコンを選択し、[Hide from Visualization] を選択します。

結果のビジュアリゼーションに、前週の収益を超えた週のみが表示されます。

この機能では、分析の最初または最後の行を隠すことがよくあります。さまざまなタイプの分析では、テーブルの先頭または末尾に不適切な行が作成されるためです。例えば、途中経過の合計を計算している場合、または日付分析を終了する部分的な日がある場合、あるいは次の例のように前の行の割合を計算している場合、最初の行または最後の行を非表示にするかもしれません:

その行を取り除くには、is_null 論理関数を使用して null 値を除外する新しい表計算を作成します。

NOT is_null(${percent_of_previous_week_sales})

次に、表計算のデータ表の歯車アイコンから [Hide from Visualization] を選択して行を非表示にします。

表計算の使用に関する注意事項

  • 表計算で使用するフィールドはすべて、最初のクエリの一部である必要があります。
  • 数式は小文字で入力する必要があります。ROUND は動作しませんが、round は機能します。
  • 表計算は、クエリで返される行に対してのみ動作します。500行の行制限がある場合、501行目は考慮されません。
  • データ表に [合計] 行を追加しても、集計を行う表計算(percentilemedian を使用した計算など)は想定どおりに行われない可能性があります。これは、表計算ではデータ列の値ではなく合計行の値を使用して合計が計算されるためです。トラブルシューティングのヒントについては、誤解を招く可能性がある表計算の合計を null として表示するをご覧ください。
  • 1 未満の小数点には、先頭にゼロを使用してください。例えば、0.95は有効ですが、.95ではエラーが発生します。
  • Command+K(Mac)または Ctrl+K(Windows)のキーボード ショートカットを使用すると、カスタム フィールドを含むすべての表計算をクリアできます。表計算を復元するには、ブラウザの戻る矢印を選択します。クエリを再実行する必要もあるかもしれません。