4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ビジュアルのデータポイントを選択したときの、メジャーのフィルターコンテキストを見ていく➁

Posted at

はじめに

ビジュアルのデータポイントを選択したときの、メジャーのフィルターコンテキストを見ていく➀の続きです。
続きですが、ここだけ読んでも問題ないと思います。(データモデルだけはここでは割愛しますので➀をご確認ください)
前回同様、今回もビジュアルクリック時のフィルターがメジャーにどのように働くかを図を書いて見ていきます。

ビジュアルのデータポイントを選ぶ

テーブル➀➁に表示させるメジャーを変えましたが、以下の説明には問題ないと思いますのでご了承ください。

ALL()関数のはたらき

「165~169㎝の身長の女性」をクリックしてみます。(↓図1)
image.png

クリックしても、テーブル➀赤く囲った集計結果は変わりません。
以下のようなDAX式によって集計されています。(↓図2)
image.png

ALL()関数を使うと、引数に指定したテーブルによる外部フィルターが外されます。
よって、日本語で書くと以下のように表現できます。(↓図3)
image.png

つまり、某グラフのどこをクリックしても集計結果は変わりません。
「男性の平均身長」「女性の平均身長」が集計され続けます。

ALLEXCEPT()関数のはたらき

次に、ALLEXCEPT()関数を使ったメジャーの集計結果を見てみます。(↓図4)
ここでは、'身長表'テーブルの[身長(ビン)]フィールドのフィルターだけを残し、それ以外の外部フィルターは外しています。
クリック時にフィルターとしてはたらくのは、ALLEXCEPTで指定した[身長(ビン)]だけです。
逆に、外された外部フィルターはgender[性別]フィールドですが、
メジャーのDAX式の中で gender[性別Key] = 1 とフィルター指定されていますので、「165~169㎝の男性の平均身長」が集計されます。
image.png

試しに、データポイントで男性も選んでも、同様の結果になります。(↓図5)
image.png

ALLSELECTED()関数のはたらき

最後に、ALLSELECTED()関数を使ったメジャーの集計結果を見てみます。(↓図6)
ここでは、'身長表'テーブルの[身長(ビン)]フィールドのフィルターだけを外し、それ以外の外部フィルターは残しています。
クリック時にフィルターとしてはたらかないのは、ALLSELECTEDで指定した[身長(ビン)]だけです。
逆に、残された外部フィルターはgender[性別]フィールドですから、
メジャーのDAX式の中で gender[性別Key] = 1 とフィルター指定されていますので、「男性であり女性である人の平均身長」が集計されます。
集計結果が空白ということは、そんな人はいないというわけです。
image.png

では、データポイントを男性にしてクリックし直すと、以下のようになります。(↓図7)
順当に考えると、「男性の平均身長」が出るはずですが…。結果は違いますね。[身長(ビン)]のフィルターがはたらいているように思えます。
image.png

外部フィルターがはたらかない、別のテーブルに落とし込んでみます。(↓図8)
ALL列、ALLEXCEPT列、ALLSELECTED列は、それぞれ上記で使ったメジャー(男性の平均身長の類)をいれています。
外部フィルターがはたらかないところでは、「男性の平均身長」を集計しています。
image.png

つまり、外部フィルターがはたらくところでは、それが適用される、というわけです。(↓図9)
image.png

よって先ほどの図6の解説「男性であり女性である人の平均身長」、
正しくは「男性であり女性であり165~169㎝の人の平均身長」(そんな人はいませんので変わらず空白ですが)といえます。

おわりに

➀から含め、自分なりに外部フィルターの影響をシンプルなメジャーを使ってひも解いてみました。
解釈に間違い等あれば、ご指摘お願いします。
CALCULATE内のフィルターを含めると、フィルターコンテキストへの理解は十分ではありませんが、今後も引き続き勉強していきます。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?