合計値がテーブルの値と一致しない理由

Explore の合計機能は、データテーブルに表示される行と列だけでなく、個別の基盤となるデータを合計することで機能します。つまり、表示されるデータのみを表示している場合、合計には期待したものとは異なる値が返されることがあります。必要な合計値を計算するための詳細情報とソリューションを確認してください。

合計値が低い理由

特定のカテゴリの商品を一定期間に購入したユーザーの個数をカウントしたいとします。[ユーザー カウント] を [商品カテゴリ] でグループ化して、Explore クエリを作成できます。

このテーブルの作成に使用される SQL は次のようになります。

  SELECT
  products.category AS 'products.category',
  COUNT(DISTINCT users.id ) AS 'users.count'

[Totals] オプションを有効にすると、合計ユーザーは 12,290 人になります。

[ユーザー カウント] 列に手動で値を追加した場合は、Looker によって報告される合計値よりもはるかに多い数になります。ユーザーは複数の商品カテゴリから購入できるため、各行を合計すると、一部のユーザーが複数回追加されます。ただし、Looker では SQL クエリを使用して個別のユーザー数を計算することで、重複カウントを回避します。

Looker が合計の計算に使用する SQL は次のようになります。

  SELECT
  COUNT(DISTINCT users.id ) AS 'users.count'

Looker では、users.count メジャーの SQL を使用して合計が計算されます。

フィルタと結合も合計値クエリに含まれるため、クエリを変更しても合計が維持されます。

合計値が高い理由

Looker の合計値が、行の値の合計によって得られる合計値よりも大きくなる場合、次の 2 つの状況が考えられます。クエリがメジャーによってフィルタリングされる場合、またはクエリが行数制限に達する場合です。

  • クエリがメジャーでフィルタリングされると、フィルタまたは制限が適用される前に合計が計算されます。
  • 行数制限がある場合は、合計が 1 行のみを返すため、Looker が作成する合計クエリにはこれらの上限は適用されません。

値の合計を計算する方法

テーブルの値のみの合計値を計算するには、表計算を使用して新しい列を作成します。詳しくは、次の例をご覧ください。

列の合計の計算

列の値の合計を計算するには、表計算で sum 関数を使用します。

  sum(${view_name.field_name})

または、表計算を作成する権限がある場合は、[列の合計を実行] ショートカットの計算を使用できます。

行の合計の計算

行の合計値を計算するには、表計算で sum 関数と pivot_row() 関数を使用します。

  sum(pivot_row(${view_name.field_name}))
注: この方法では新しい列が生成され、ネイティブの「合計」行または列としては表示されません。

または、表計算を作成する権限がある場合は、[行の合計を実行] ショートカットの計算を使用できます。

参考情報

集計を行う一部の表計算percentilemedian を使用する計算など)では、期待どおりに集計されないことがあります。これは、表計算では、データ列の値ではなく、[合計] 行の値を使用して合計が計算されるためです。トラブルシューティングのヒントについては、混乱を招く可能性のある表計算の合計を null として表示するのベスト プラクティス ページをご覧ください。