結合で測定が実行されないのはなぜですか?

ビューで測定を定義していますが、そのビューを別のビューに結合すると、 Explore に測定結果が表示されなくなります。測定結果はどこに行ったのですか?

考えられる原因と解決策

考えられる根本的な原因は、対称集計が有効になっているかどうかによって異なります。対称集計は、デベロッパーが symmetric_aggregates: no LookML 設定で無効にしていないか、データベース言語が対称集計をサポートしていない場合を除き、自動的に有効になります。

対称集計が有効な場合

対称集計では、すべての種類の測定を結合で実行できます。ただし、この方法が可能なのは、 結合の両側にあるビューで主キーが定義されている場合のみです。測定を結合で実行できるようにするには、関連するすべてのビューで主キーを定義する必要があります。

各ビューで主キーを定義するには、次のように、 主キーフィールドの定義に primary_key: yes を追加します。

dimension: id {
 type: number
 primary_key: yes
}

測定型 sumaverage を結合で実行するには、 主キーが一意で NULL 以外の値でなければなりません。主キーが一意ではない場合、 次のようなエラーが表示されることがあります。

Non-Unique value/primary key (or sql_distinct_key), value overflow or collision when computing sum.

また、ビューに一意のフィールドが 1 つもない場合は、 SQL の 2 つ以上のフィールドを連結して複合主キーを作成し、 値の一意の組み合わせを作成できます。このエラーを解決する方法の詳細については、 Error: Non-Unique value/primary key (or sql_distinct_key), value overflow or collision when computing sum ベスト プラクティス ページの 一意でない主キーのセクションをご覧ください。

対称集計が有効でない場合

一部の言語は対称集計をサポートしていません。または、Looker デベロッパーが symmetric_aggregates: no LookML 設定で対称集計を無効にしています。対称集計が使用できない場合、Looker はデフォルトで count 型の測定(個別カウント測定になる)のみを結合で実行します。また、この方法では個別カウントで主キーが使用されるため、主キーも必要です。これにより、不正確な結果と ファンアウトを回避できます。集計関数が機能しない問題についての コミュニティ投稿を確認してください。

最新の Looker リリースで 対称集計をサポートしている言語を示す リストがあります。

考慮すべきその他の解決策

  • 結合レベルでの fields(結合用)の 使用。fields では、Explore に表示する結合ビューのフィールド(測定値、ディメンション)を 指定できます。
  • 正しい relationship パラメータを 選択する。relationship パラメータは、結合が SQL クエリで使用されるときに対称集計を適用するかどうかを Looker に伝えます。Looker が正確な測定値を計算できるように、 関係の種類を適切に定義すること が重要です。