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}))
注: この方法では新しい列が生成され、ネイティブの「合計」行または列としては表示されません。
または、表計算を作成する権限がある場合は、[行の合計を実行] ショートカットの計算を使用できます。
参考情報
集計を行う一部の表計算(percentile
や median
を使用する計算など)では、期待どおりに集計されないことがあります。これは、表計算では、データ列の値ではなく、[合計] 行の値を使用して合計が計算されるためです。トラブルシューティングのヒントについては、混乱を招く可能性のある表計算の合計を null として表示するのベスト プラクティス ページをご覧ください。