Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

• Microsoft MVP for Data Platform - Power BI Since Sep. 2021 • 自称Citizen Developer • アント・キャピタル・パートナーズ株式会社 • Power BI, Power Platform, M365, EMS • 東京・町田在住 • 心臓にIoTデバイスICD埋め込みあり • コラボ・コミュニティ Power BI Weekly News with Yugo • コア・参加コミュニティ Power BI 勉強会、気ままに勉強会 • セルフ・コミュニティ 市民開発者 なってみよう! #TryCivicEngr 石川 陽一 @ishiayaya

Slide 3

Slide 3 text

モデリングは必ず確認を

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

• 自動で思わぬリレーションになる場合も • スタースキーマに近づいているか? • 多のもの(ファクト)と1のもの(ディ メンション)の区別

Slide 6

Slide 6 text

できるだけ「スタースキーマに」 ファクトテーブル 明細等 ディメンションテーブル • 分析したい軸 • 一意な値 「多」対「一」等に紐づけ=モデリング

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

コンテキストトランジションの話 2022年4月30日 DAX Boot Camp #20発表より

Slide 10

Slide 10 text

(その前に)コンテキストとは

Slide 11

Slide 11 text

コンテキストとは • 行コンテキスト • フィルターコンテキスト 評価コンテキストevaluation contexts

Slide 12

Slide 12 text

Power BI Desktop での DAX の基本 - Power BI | Microsoft Docs https://docs.microsoft.com/ja-jp/power-bi/transform-model/desktop- quickstart-learn-dax-basics

Slide 13

Slide 13 text

Context transitionとは 2022/5/3版

Slide 14

Slide 14 text

「Context transition」 教材:

Slide 15

Slide 15 text

モデル

Slide 16

Slide 16 text

• 計算列で作成→フィルターコンテキストはn/a • 行コンテキスト(row context) • 行コンテキストはフィルタリングしないので同じ値 Calculateではさんだら… 計算列では行コンテキストになるはずが、Calculate がきたことによってトランスフォームされ、フィル ターコンテキストが効くようになった これが「コンテキスト トランジション(変換)」

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

製品テーブルでやったことを、売上テーブルでやってみましょう ファクトテーブルのような「多」の重複した値を持つテーブル使う場合は、 意図しない結果を生むかもしれないので要注意

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

Automatic CALCULATE • メジャーが呼び出されるたびに自動的に(内部的に、暗黙的に)CALCULATEが 追加される • テーブルのカラムでメジャーを使う便利な理由 • CALULATEがあればコンテキスト変換が起こる→フィルターコンテキスト SUMX ( Orders, [Sales Amount] ) SUMX ( Orders, CALCULATE ( [Sales Amount] ) )

Slide 21

Slide 21 text

かがたさんからのアドバイス(私なりの要約) • コンテキスト トランジションは、通常のビジュアル作り等の中で、暗黙的に意識し なくても頻繁に起こっている。 • 「なぜこの値に?」となったときに、コンテキスト トランジションを思い出し、確 認するとよい • (内部的に、暗黙的に)CALCULATEが追加されるのは、暗黙のメジャーでも発生して いる

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

+1 DAXが簡単ではない7つの理由?

Slide 25

Slide 25 text

https://sqlbi.com

Slide 26

Slide 26 text

7 reasons DAX is not easy - YouTube https://www.youtube.com/watch?v=xCs6-w2A3Rs

Slide 27

Slide 27 text

7 reasons DAX is not easy - SQLBI https://www.sqlbi.com/blog/alberto/2020/06/20/7-reasons-dax-is-not-easy/

Slide 28

Slide 28 text

1. DAX is a functional language 関数型言語 2. Practice makes perfect 練習すれば完璧に 「DAXを日常業務(Daily Job)に組み込む」 3. There are few important concepts 重要な概念ほとんどなし

Slide 29

Slide 29 text

• evaluation contexts 評価コンテキスト • Iterators イテレータ • context transition コンテキストトランジション • expanded tables 展開されたテーブル

Slide 30

Slide 30 text

4. DAX is strongly logical かなり論理的 5. The devil is in the details 悪魔が細部にいる 間違った問いには、間違った答えが 6. You need a good editor 良いエディターが必要 7. Trial and error simply does not work トライ&エラーは単純に機能しない

Slide 31

Slide 31 text

Practice. The. Fundamentals. Enjoy DAX!

Slide 32

Slide 32 text

ありがとうございました。 be agile