[Looker小ネタ] 複数メジャーをOR条件でフィルタリングする #looker

[Looker小ネタ] 複数メジャーをOR条件でフィルタリングする #looker

2022.09.01

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Lookerで分析をしていて、複数のメジャーをOR条件でフィルターをかけて計算したいことがあると思います。

ですが、Exploreのデフォルトのフィルター機能の場合、項目を追加したら裏側のSQLではand条件で生成されます。

総売上メジャー100ドル以上、もしくは平均商品別粗利率メジャー10%以上のどちらかを満たしている結果を表示させたいのですが、上の図のデフォルトのやり方では総売上メジャー100ドル以上、かつ平均商品別粗利率メジャー10%以上のどちらも満たす結果が表示されてしまいます。

そこで、使用するのがyesnoタイプのメジャーです。

(元ネタ:How do I make OR filters when using Filters on Measures? (Community)

LookMLでやることは、OR条件で表示したいメジャーとその表示条件をsqlパラメータで記述するだけです!

measure: can_be_plotted {
  type: yesno
  sql: ${total_sale_price} > 100 OR ${total_gross_margin_percentage} > 0.1;;
}

次にExplore画面でタイプyesnoメジャーをフィルターで指定すればOR条件でhaving句が生成されます!

じゃじゃーん!

まとめ

正直メジャーのyesnoタイプってなんのために存在しているのかずーーっと謎だったのですが、これでLooker七不思議のうちの一つを解決することができました。

このやり方だとフィルター対象のメジャーや値が固定になってしまうので、次はExplore側で指定したメジャーや値を指定することができないかを試してみます!


データ分析基盤ならCSAにおまかせください!

クラスメソッドでは、データ分析に関わる皆様の作業コストを削減し、分析アクションを促進・効率化・自動化するためのデータ分析基盤「カスタマーストーリーアナリティクス」を提供・展開しています。興味をお持ち頂けた方は下記バナーをクリックし、詳細をご覧頂けますと幸いです。(各種問い合わせも承っております)

データ分析基盤を最短1ヶ月で導入可能


また、現在クラスメソッドでは毎週無料の相談会を開催しています。データ分析基盤の構築から、BIツール、データ統合など、ビッグデータ分析の導入や活用、技術についてお気軽にご相談ください。

データ分析相談会

この記事をシェアする

データ分析基盤を最短1ヶ月で導入できる

関連記事