SlideShare a Scribd company logo
2018.12.22 Power BI 勉強会@東京 #11
初心者さんの
DAX・メジャー
「モヤモヤ」が晴れるまで
Power BI 勉強会@東京 #11
2018.12.22 小室陽子
2018.12.22 Power BI 勉強会@東京 #11 2
自己紹介
小室 陽子(こむろ ようこ)
トヨタコネクティッド株式会社
・管理会計レポーティング→PowerBI
・働き方改革(脱Excel帳票・紙文化)→Sharepoint+PowerApps+Flow
最近になって、Office365がすごく便利に進化していることに気づき、新しい機能をおためし中・・・
2018.12.22 Power BI 勉強会@東京 #11 3
Power BIでのレポート作成の流れ
ソース
あちこち
いろいろ
Power
Query
取得と変換 モデリング
リレーション
設定
列やテーブ
ルの補完
式
式
メジャー
の定義 レポート
ビジュアル
の配置
2018.12.22 Power BI 勉強会@東京 #11 4
Power BIでのレポート作成の流れ
ソース
あちこち
いろいろ
Power
Query
取得と変換 モデリング
リレーション
設定
列やテーブ
ルの補完
式
式
メジャー
の定義 レポート
ビジュアル
の配置
DAX
DAX
2018.12.22 Power BI 勉強会@東京 #11 5
本日のお話
Power BIでのレポート作成に必須の「メジャー」、
どう作ったらいいんだろう?
何もかも分からなさすぎて、リファレンスを読んでも書いてあることが理解できない、そん
な状態から、おおよそのセオリーが理解できて、分からないことを自分で調べて解決でき
るようになるまでに気づいたことをお話したいと思います。
「メジャー」を理解すると、レポート作成がぐっと楽になると思うので、そのポイントと思う点お話します。
2018.12.22 Power BI 勉強会@東京 #11 6
よくあるモヤモヤ
• 計算列とメジャーの違いがわからない
• クイックメジャーをつかったら何となくできたけど、しくみがわからない
• 自分でメジャーを書こうとしたけれど、エラーが出て書けない
• メジャーをつくってみたけど、レポート画面においてみたら挙動不審
2018.12.22 Power BI 勉強会@東京 #11 7
解決ポイント
1.メジャーが「集計式」であることを理解する
2.メジャーと「フィルタ」の関係を理解する
3.「リレーションシップ」の挙動を理解する
+空白(BLANK)を理解する
2018.12.22 Power BI 勉強会@東京 #11
1.メジャーが「集計値式」
であることを理解する
2018.12.22 Power BI 勉強会@東京 #11 9
メジャーとは
データモデル
式
式
メジャー
データが存在し、ストレージされる 式の定義があるだけ
ビジュアル
表示されるときに、
メジャーの式にしたがって
値が計算される
2018.12.22 Power BI 勉強会@東京 #11 10
RPGゲームに例えると
データモデル メジャー ビジュアル
戦士
魔法使い
癒し手
大剣
鎧
杖
薬
…
攻撃力
=関数(体力,スキル,レベル…)
宝箱空ける成否
=関数(対象宝箱難易度,幸運度,乱数…)
戦闘場面
攻撃のターン
宝箱を開ける
イベント
2018.12.22 Power BI 勉強会@東京 #11 11
料理に例えると
データモデル ビジュアル
じゃがいも
タマネギ
にんじん
鶏肉
カレールー
ホワイトソース
塩
胡椒
…
カレーのレシピ
ホワイトシチューのレシピ
カレー
福神漬けぞえ
ホワイトシチュー
とニンジンサラダ
ニンジンサラダのレシピ
メジャー
2018.12.22 Power BI 勉強会@東京 #11 12
メジャー
メジャー
メジャー
例
予定個数SUM = SUM('予定'[個数])
実績個数SUM = SUM('実績'[個数])
個数予実差 = [実績個数SUM]-[予定個数SUM]
予定テーブル個数行
実績テーブル個数行
メジャー メジャー
列の参照
‘テーブル名’[列名]
メジャーの参照
[メジャー名]
‘予定’
‘実績’
2018.12.22 Power BI 勉強会@東京 #11 13
メジャーはテーブルを移動できる
2018.12.22 Power BI 勉強会@東京 #11 14
まとめ
① メジャーとは「集計式」
ビジュアルで表示されるときに計算される
② メジャーはテーブルに紐づかない(外にある)
2018.12.22 Power BI 勉強会@東京 #11
2.メジャーと「フィルタ」
の関係を理解する
2018.12.22 Power BI 勉強会@東京 #11 16
こんな風に思ってませんか?
ビジュアル
合計「900」が、マス目で
分割されて表示されている
2018.12.22 Power BI 勉強会@東京 #11 17
なぜって…
Excelで、「合計値」は「マス目の合計」であることに慣れている
2018.12.22 Power BI 勉強会@東京 #11 18
こんな風に思ってませんか?
ビジュアル
合計「900」が、マス目で
分割されて表示されている
2018.12.22 Power BI 勉強会@東京 #11 19
こんな風に思ってませんか?
ビジュアル
合計「900」が、マス目で
分割されて表示されている
Power BIでは違います!
2018.12.22 Power BI 勉強会@東京 #11 20
Power BIでは「総計」から出発する
‘販売予定‘ テーブル SUM
販売予定個数SUM
= SUM('販売予定'[個数])
メジャー
何を?
‘販売予定個数’ テーブルの
[個数]列
合計する
2018.12.22 Power BI 勉強会@東京 #11 21
[基本]ビジュアルのマス目ごとのフィルタ条件で計算
全行を出発点に、
商品=商品A&地域=名古屋
でフィルタを掛けて残った行を計算
商品Aでフィルタ
掛けた値を表示
する仕様
名古屋でフィルタ
掛けた値を表示する仕様
SUM‘販売予定‘ テーブル
SUM‘販売予定‘ テーブル
2018.12.22 Power BI 勉強会@東京 #11 22
フィルタを調整して総計を出す
メジャー
何を?
[販売予定個数SUM]
というメジャー
販売予定個数TOTAL
= CALCULATE([販売予定個数SUM],ALL('販売予定'))
フィルタを修正して
計算する
フィルタの修正内容は?
‘販売予定’テーブルを
すべての行採用
SUM‘販売予定‘ テーブル
SUM‘販売予定‘ テーブル
2018.12.22 Power BI 勉強会@東京 #11 23
総計を利用して割合%を出す
メジャー
販売予定個数占有率%
= [販売予定個数SUM]/[販売予定個数TOTAL]
販売予定個数占有率%
販売予定個数SUM
販売予定個数TOTAL
2018.12.22 Power BI 勉強会@東京 #11 24
さらにフィルターを掛けてカテゴリ合計を出す
メジャー
販売予定個数地域別 =
CALCULATE (
[販売予定個数SUM],
FILTER (
ALL ( '販売予定' ),
'販売予定'[地域]
= SELECTEDVALUE ( '販売予定'[地域] )
)
)
‘販売予定’テーブルのすべての行を採用した状態を元に
ビジュアルで選ばれている地域の値に等しい行に絞る
計算対象
フィルタを修正して計算する
フィルタの修正内容
※ALLのかわりにALLSELECTEDを使う場合もありますが、
ここでは分かりやすくするため、ALLに統一しています
ビジュアル各行で選ばれている地域
に等しい行の合計
SUM‘販売予定‘ テーブル
2018.12.22 Power BI 勉強会@東京 #11 25
日付フィルタを調整して累計や過去数値を出す
月初日~
ビジュアル各行で選ばれている日付
までの合計
ビジュアル各行で選ばれている日付
の1日前の値
月度累計SUM
SUM 昨日
2018.12.22 Power BI 勉強会@東京 #11 26
まとめ
① メジャーは「総計」を元に、ビジュアルの各マスごとの
条件でフィルタされて計算される
② DAX式でフィルタの掛かり方を修正することができる。
これにより、様々な統計値を出すことができる
統計値を出すには「フィルタ」の使いこなしがとっても大事
まずは考えをしっかり持っておくと、適する関数を探しやすい
2018.12.22 Power BI 勉強会@東京 #11
3.「リレーションシップ」
の挙動を理解する
2018.12.22 Power BI 勉強会@東京 #11 28
いきなりですが、ダメな例
予定と実績を結んでみた
※日付列・担当者列などが隠れていると思って見てください
‘予定’
‘実績’
2018.12.22 Power BI 勉強会@東京 #11 29
いきなりですが、ダメな例
多対多であるという注意書き
2018.12.22 Power BI 勉強会@東京 #11 30
こんな困った症状が出ます
Dが出ない? Cが出ない?
合計がおかしい? 合計がおかしい?
2018.12.22 Power BI 勉強会@東京 #11 31
原因
実績の商品列を
使っている
予定の商品列を
使っている
2018.12.22 Power BI 勉強会@東京 #11 32
原因
実績の商品列を
使っている
予定の商品列を
使っている
‘予定’
ABCしかない
‘実績’ SUM ‘予定’ ‘実績’
予定にある値
しか出ない
実績にある値
しか出ない
SUM
ABDしかない
2018.12.22 Power BI 勉強会@東京 #11 33
原因
合計はフィルタが掛からないので
各全行を計算
実績の商品列を
使っている
予定の商品列を
使っている
予定にある値
しか出ない
実績にある値
しか出ない
‘実績’ SUM ‘予定’ SUM
2018.12.22 Power BI 勉強会@東京 #11 34
「マスタ」を用意する
‘商品マスタ’
★一意の値(重複しない)
★全ての値を含む
リレーションシップ
を掛ける(1対多)
トランザクション
発生した出来事の記録
ディメンション
テーブル
属性が格納される
ファクトテーブル
数値(メジャー)が
格納される
2018.12.22 Power BI 勉強会@東京 #11 35
ダメな例2
マスタを用意してリレーション掛けたのに、
直らないどころかもっと変になっちゃった?
2018.12.22 Power BI 勉強会@東京 #11 36
そりゃそうですよ…
予定の商品列を
使っている
リレーション
が無い!
フィルタ
されない
2018.12.22 Power BI 勉強会@東京 #11 37
解決策 「親」の項目を
使う!
フィルタは
「親」から「子」
へ伝播する
正しくなった!
2018.12.22 Power BI 勉強会@東京 #11 38
「子」の項目は非表示に
非表示
非表示
これを使う
メジャーも整理する
とこうなる
2018.12.22 Power BI 勉強会@東京 #11 39
まとめ
① ディメンジョン(分類)は、一意になる「マスタ」を用意する
② リレーションシップはマスタからトランザクション(出来事の
記録)へ、「1対多」でタコ足状につなぐ
③ フィルターは、リレーションシップの
「親(1)→子(多)」の一方向に伝播する
④ レポートビジュアルには、「親」の項目を使う
2018.12.22 Power BI 勉強会@東京 #11 40
リファレンス
DAXガイド https://dax.guide/
Qiita
 メジャー とはなんだろうと考える
https://qiita.com/PowerBIxyz/items/94e171e05ef7beb83897
 AVERAGEX 関数 (DAX) で 平均を求める
https://qiita.com/PowerBIxyz/items/b1fa63e3502e5acaa1f6
 メジャーの特性 や 見出しの階層に合わせて集計する には
https://qiita.com/PowerBIxyz/items/17d5d531ea074a43867b
 予算実績を集計比較する データモデル パターン
https://qiita.com/PowerBIxyz/items/bb9b6dcc44721d77aad8
BIシステム構築実践入門(青い本)
https://www.amazon.co.jp/dp/4798109312
2018.12.22 Power BI 勉強会@東京 #11
おわり
Good Luck!

More Related Content

What's hot

アンケートを即可視化!~MS Forms ⇒ MS Flow ⇒ Power BI~
アンケートを即可視化!~MS Forms ⇒ MS Flow ⇒ Power BI~アンケートを即可視化!~MS Forms ⇒ MS Flow ⇒ Power BI~
アンケートを即可視化!~MS Forms ⇒ MS Flow ⇒ Power BI~
Yugo Shimizu
 
Power BI をシステムやアプリ開発と一緒に使うなら…~リアルタイムストリーミングの使い方~
Power BI をシステムやアプリ開発と一緒に使うなら…~リアルタイムストリーミングの使い方~Power BI をシステムやアプリ開発と一緒に使うなら…~リアルタイムストリーミングの使い方~
Power BI をシステムやアプリ開発と一緒に使うなら…~リアルタイムストリーミングの使い方~
Yugo Shimizu
 
技術者として抑えておきたい Power BI アーキテクチャ
技術者として抑えておきたい Power BI アーキテクチャ技術者として抑えておきたい Power BI アーキテクチャ
技術者として抑えておきたい Power BI アーキテクチャ
Yugo Shimizu
 
え!? Power BI の画面からデータ更新なんてできるの!? ~PowerApps カスタムビジュアルの可能性~
え!? Power BI の画面からデータ更新なんてできるの!? ~PowerApps カスタムビジュアルの可能性~え!? Power BI の画面からデータ更新なんてできるの!? ~PowerApps カスタムビジュアルの可能性~
え!? Power BI の画面からデータ更新なんてできるの!? ~PowerApps カスタムビジュアルの可能性~
Yugo Shimizu
 
20170902 power bi 勉強会 takiz
20170902 power bi 勉強会 takiz20170902 power bi 勉強会 takiz
20170902 power bi 勉強会 takiz
yuuki takizawa
 
続・PowerApps に Power BI を埋め込む
続・PowerApps に Power BI を埋め込む続・PowerApps に Power BI を埋め込む
続・PowerApps に Power BI を埋め込む
Teruchika Yamada
 
え!?データがオンプレにあるけどPower BI で BI したいの?
え!?データがオンプレにあるけどPower BI で BI したいの?え!?データがオンプレにあるけどPower BI で BI したいの?
え!?データがオンプレにあるけどPower BI で BI したいの?
Yugo Shimizu
 
RPA勉強会 Power BI を学ぶ特別編!
RPA勉強会 Power BI を学ぶ特別編!RPA勉強会 Power BI を学ぶ特別編!
RPA勉強会 Power BI を学ぶ特別編!
Yugo Shimizu
 
事例から学ぶ!Power Platformガバナンス設計~CoEの話も添えて~
事例から学ぶ!Power Platformガバナンス設計~CoEの話も添えて~事例から学ぶ!Power Platformガバナンス設計~CoEの話も添えて~
事例から学ぶ!Power Platformガバナンス設計~CoEの話も添えて~
Junichi Kodama
 
Time intelligence - その概念と機能について
Time intelligence - その概念と機能についてTime intelligence - その概念と機能について
Time intelligence - その概念と機能について
Yugo Shimizu
 
Tableauによるデータ可視化と機械学習によるデータ分析
Tableauによるデータ可視化と機械学習によるデータ分析Tableauによるデータ可視化と機械学習によるデータ分析
Tableauによるデータ可視化と機械学習によるデータ分析
Tomohiro Iwahashi
 
Power BI を提案してみた件
Power BI を提案してみた件Power BI を提案してみた件
Power BI を提案してみた件
Teruchika Yamada
 
PowerApps に Power BI を埋め込んでみよう!
PowerApps に Power BI  を埋め込んでみよう!PowerApps に Power BI  を埋め込んでみよう!
PowerApps に Power BI を埋め込んでみよう!
Teruchika Yamada
 
グラフ構造のデータモデルをPower BIで可視化してみた
グラフ構造のデータモデルをPower BIで可視化してみたグラフ構造のデータモデルをPower BIで可視化してみた
グラフ構造のデータモデルをPower BIで可視化してみた
CData Software Japan
 
Power BI チュートリアル 導入・初級編
Power BI チュートリアル 導入・初級編Power BI チュートリアル 導入・初級編
Power BI チュートリアル 導入・初級編
Osamu Masutani
 
Power BI勉強会 #6 Power BI で地理的分析とこまでできる?
Power BI勉強会 #6 Power BI で地理的分析とこまでできる?Power BI勉強会 #6 Power BI で地理的分析とこまでできる?
Power BI勉強会 #6 Power BI で地理的分析とこまでできる?
Osamu Masutani
 
Power BI をアプリに埋め込みたい? ならば Power BI Embedded だ!
Power BI をアプリに埋め込みたい? ならば Power BI Embedded だ!Power BI をアプリに埋め込みたい? ならば Power BI Embedded だ!
Power BI をアプリに埋め込みたい? ならば Power BI Embedded だ!
Teruchika Yamada
 
【de:code 2020】 Power Platform いまさら聞けないモデル駆動型アプリケーション
【de:code 2020】 Power Platform いまさら聞けないモデル駆動型アプリケーション【de:code 2020】 Power Platform いまさら聞けないモデル駆動型アプリケーション
【de:code 2020】 Power Platform いまさら聞けないモデル駆動型アプリケーション
日本マイクロソフト株式会社
 
え?まだフルスクラッチで開発してるの!?Power Platform をフル活用すると普通にシステムができるんですよ
え?まだフルスクラッチで開発してるの!?Power Platform をフル活用すると普通にシステムができるんですよえ?まだフルスクラッチで開発してるの!?Power Platform をフル活用すると普通にシステムができるんですよ
え?まだフルスクラッチで開発してるの!?Power Platform をフル活用すると普通にシステムができるんですよ
Yugo Shimizu
 
RPA 機能の UI flows が話題の Power Automate を理解せよ
RPA 機能の UI flows が話題の Power Automate を理解せよRPA 機能の UI flows が話題の Power Automate を理解せよ
RPA 機能の UI flows が話題の Power Automate を理解せよ
Yugo Shimizu
 

What's hot (20)

アンケートを即可視化!~MS Forms ⇒ MS Flow ⇒ Power BI~
アンケートを即可視化!~MS Forms ⇒ MS Flow ⇒ Power BI~アンケートを即可視化!~MS Forms ⇒ MS Flow ⇒ Power BI~
アンケートを即可視化!~MS Forms ⇒ MS Flow ⇒ Power BI~
 
Power BI をシステムやアプリ開発と一緒に使うなら…~リアルタイムストリーミングの使い方~
Power BI をシステムやアプリ開発と一緒に使うなら…~リアルタイムストリーミングの使い方~Power BI をシステムやアプリ開発と一緒に使うなら…~リアルタイムストリーミングの使い方~
Power BI をシステムやアプリ開発と一緒に使うなら…~リアルタイムストリーミングの使い方~
 
技術者として抑えておきたい Power BI アーキテクチャ
技術者として抑えておきたい Power BI アーキテクチャ技術者として抑えておきたい Power BI アーキテクチャ
技術者として抑えておきたい Power BI アーキテクチャ
 
え!? Power BI の画面からデータ更新なんてできるの!? ~PowerApps カスタムビジュアルの可能性~
え!? Power BI の画面からデータ更新なんてできるの!? ~PowerApps カスタムビジュアルの可能性~え!? Power BI の画面からデータ更新なんてできるの!? ~PowerApps カスタムビジュアルの可能性~
え!? Power BI の画面からデータ更新なんてできるの!? ~PowerApps カスタムビジュアルの可能性~
 
20170902 power bi 勉強会 takiz
20170902 power bi 勉強会 takiz20170902 power bi 勉強会 takiz
20170902 power bi 勉強会 takiz
 
続・PowerApps に Power BI を埋め込む
続・PowerApps に Power BI を埋め込む続・PowerApps に Power BI を埋め込む
続・PowerApps に Power BI を埋め込む
 
え!?データがオンプレにあるけどPower BI で BI したいの?
え!?データがオンプレにあるけどPower BI で BI したいの?え!?データがオンプレにあるけどPower BI で BI したいの?
え!?データがオンプレにあるけどPower BI で BI したいの?
 
RPA勉強会 Power BI を学ぶ特別編!
RPA勉強会 Power BI を学ぶ特別編!RPA勉強会 Power BI を学ぶ特別編!
RPA勉強会 Power BI を学ぶ特別編!
 
事例から学ぶ!Power Platformガバナンス設計~CoEの話も添えて~
事例から学ぶ!Power Platformガバナンス設計~CoEの話も添えて~事例から学ぶ!Power Platformガバナンス設計~CoEの話も添えて~
事例から学ぶ!Power Platformガバナンス設計~CoEの話も添えて~
 
Time intelligence - その概念と機能について
Time intelligence - その概念と機能についてTime intelligence - その概念と機能について
Time intelligence - その概念と機能について
 
Tableauによるデータ可視化と機械学習によるデータ分析
Tableauによるデータ可視化と機械学習によるデータ分析Tableauによるデータ可視化と機械学習によるデータ分析
Tableauによるデータ可視化と機械学習によるデータ分析
 
Power BI を提案してみた件
Power BI を提案してみた件Power BI を提案してみた件
Power BI を提案してみた件
 
PowerApps に Power BI を埋め込んでみよう!
PowerApps に Power BI  を埋め込んでみよう!PowerApps に Power BI  を埋め込んでみよう!
PowerApps に Power BI を埋め込んでみよう!
 
グラフ構造のデータモデルをPower BIで可視化してみた
グラフ構造のデータモデルをPower BIで可視化してみたグラフ構造のデータモデルをPower BIで可視化してみた
グラフ構造のデータモデルをPower BIで可視化してみた
 
Power BI チュートリアル 導入・初級編
Power BI チュートリアル 導入・初級編Power BI チュートリアル 導入・初級編
Power BI チュートリアル 導入・初級編
 
Power BI勉強会 #6 Power BI で地理的分析とこまでできる?
Power BI勉強会 #6 Power BI で地理的分析とこまでできる?Power BI勉強会 #6 Power BI で地理的分析とこまでできる?
Power BI勉強会 #6 Power BI で地理的分析とこまでできる?
 
Power BI をアプリに埋め込みたい? ならば Power BI Embedded だ!
Power BI をアプリに埋め込みたい? ならば Power BI Embedded だ!Power BI をアプリに埋め込みたい? ならば Power BI Embedded だ!
Power BI をアプリに埋め込みたい? ならば Power BI Embedded だ!
 
【de:code 2020】 Power Platform いまさら聞けないモデル駆動型アプリケーション
【de:code 2020】 Power Platform いまさら聞けないモデル駆動型アプリケーション【de:code 2020】 Power Platform いまさら聞けないモデル駆動型アプリケーション
【de:code 2020】 Power Platform いまさら聞けないモデル駆動型アプリケーション
 
え?まだフルスクラッチで開発してるの!?Power Platform をフル活用すると普通にシステムができるんですよ
え?まだフルスクラッチで開発してるの!?Power Platform をフル活用すると普通にシステムができるんですよえ?まだフルスクラッチで開発してるの!?Power Platform をフル活用すると普通にシステムができるんですよ
え?まだフルスクラッチで開発してるの!?Power Platform をフル活用すると普通にシステムができるんですよ
 
RPA 機能の UI flows が話題の Power Automate を理解せよ
RPA 機能の UI flows が話題の Power Automate を理解せよRPA 機能の UI flows が話題の Power Automate を理解せよ
RPA 機能の UI flows が話題の Power Automate を理解せよ
 

Similar to Power BI 初心者さんのDAX・メジャー「モヤモヤ」晴れるまで

これからのビジネスソリューションの在り方
これからのビジネスソリューションの在り方これからのビジネスソリューションの在り方
これからのビジネスソリューションの在り方
Ryo/Japan-Cowboy /Microsoft BizApp MVP and Regional Director
 
え?まだフルスクラッチで開発してるの!? Power Platformをフル活用すると普通にシステムができるんですよ
え?まだフルスクラッチで開発してるの!? Power Platformをフル活用すると普通にシステムができるんですよえ?まだフルスクラッチで開発してるの!? Power Platformをフル活用すると普通にシステムができるんですよ
え?まだフルスクラッチで開発してるの!? Power Platformをフル活用すると普通にシステムができるんですよ
Yugo Shimizu
 
社内のリース車の利用状況を Power BI で可視化してみた
社内のリース車の利用状況を Power BI で可視化してみた社内のリース車の利用状況を Power BI で可視化してみた
社内のリース車の利用状況を Power BI で可視化してみた
Junichi Kodama
 
Power BI セミナー @ 名古屋
Power BI セミナー @ 名古屋Power BI セミナー @ 名古屋
Power BI セミナー @ 名古屋
Takeshi Kagata
 
Intalio cloud development way in Japanese
Intalio cloud development way in JapaneseIntalio cloud development way in Japanese
Intalio cloud development way in JapaneseDaisuke Sugai
 
Power BI セミナー @ 名古屋 #2
Power BI セミナー @ 名古屋 #2Power BI セミナー @ 名古屋 #2
Power BI セミナー @ 名古屋 #2
Takeshi Kagata
 
Pentaho Reporting Tutorial 20140729
Pentaho Reporting Tutorial 20140729Pentaho Reporting Tutorial 20140729
Pentaho Reporting Tutorial 20140729
Teruo Kawasaki
 
モデリングの彼方に未来を見た
モデリングの彼方に未来を見たモデリングの彼方に未来を見た
モデリングの彼方に未来を見た
Hagimoto Junzo
 
Power BI の可能性?見(魅)せてやるよ!!!その本気ってやつをな
Power BI の可能性?見(魅)せてやるよ!!!その本気ってやつをなPower BI の可能性?見(魅)せてやるよ!!!その本気ってやつをな
Power BI の可能性?見(魅)せてやるよ!!!その本気ってやつをな
Yugo Shimizu
 
Power Platform Summary
Power Platform  SummaryPower Platform  Summary
Power Platform Summary
Yugo Shimizu
 
Hataluck
HataluckHataluck
Hataluck
晶紀 佐藤
 
フォルダー系コネクタを使ったほんとの自動化
フォルダー系コネクタを使ったほんとの自動化フォルダー系コネクタを使ったほんとの自動化
フォルダー系コネクタを使ったほんとの自動化
Yugo Shimizu
 
【Japan Partner Conference 2019】Society 5.0 “超スマート社会” の実現に向けた日本マイクロソフトの取り組み
【Japan Partner Conference 2019】Society 5.0 “超スマート社会” の実現に向けた日本マイクロソフトの取り組み  【Japan Partner Conference 2019】Society 5.0 “超スマート社会” の実現に向けた日本マイクロソフトの取り組み
【Japan Partner Conference 2019】Society 5.0 “超スマート社会” の実現に向けた日本マイクロソフトの取り組み
日本マイクロソフト株式会社
 
Intalio会社概要とbpmsの特長20100319
Intalio会社概要とbpmsの特長20100319Intalio会社概要とbpmsの特長20100319
Intalio会社概要とbpmsの特長20100319Tomoaki Sawada
 
Power BI 勉強会 #9 Power BI 概要と最近のこと
Power BI 勉強会 #9 Power BI 概要と最近のことPower BI 勉強会 #9 Power BI 概要と最近のこと
Power BI 勉強会 #9 Power BI 概要と最近のこと
Takeshi Kagata
 
Do you wanna be a V-ROCK star?
Do you wanna be a V-ROCK star?Do you wanna be a V-ROCK star?
Do you wanna be a V-ROCK star?
Yugo Shimizu
 
え!? Power BI の画面からデータ更新なんてできるの!?
え!? Power BI の画面からデータ更新なんてできるの!?え!? Power BI の画面からデータ更新なんてできるの!?
え!? Power BI の画面からデータ更新なんてできるの!?
Yugo Shimizu
 
クラウドサービスを作っているチームの中で議論していること
クラウドサービスを作っているチームの中で議論していることクラウドサービスを作っているチームの中で議論していること
クラウドサービスを作っているチームの中で議論していること
Akiyah
 
社内のリース車の利用状況を Power BI で可視化してみた
社内のリース車の利用状況を Power BI で可視化してみた社内のリース車の利用状況を Power BI で可視化してみた
社内のリース車の利用状況を Power BI で可視化してみた
Junichi Kodama
 
Marketing 01 マーケティングは「販売を不要にする価値づくり」
Marketing 01 マーケティングは「販売を不要にする価値づくり」Marketing 01 マーケティングは「販売を不要にする価値づくり」
Marketing 01 マーケティングは「販売を不要にする価値づくり」
Meiji University / 明治大学
 

Similar to Power BI 初心者さんのDAX・メジャー「モヤモヤ」晴れるまで (20)

これからのビジネスソリューションの在り方
これからのビジネスソリューションの在り方これからのビジネスソリューションの在り方
これからのビジネスソリューションの在り方
 
え?まだフルスクラッチで開発してるの!? Power Platformをフル活用すると普通にシステムができるんですよ
え?まだフルスクラッチで開発してるの!? Power Platformをフル活用すると普通にシステムができるんですよえ?まだフルスクラッチで開発してるの!? Power Platformをフル活用すると普通にシステムができるんですよ
え?まだフルスクラッチで開発してるの!? Power Platformをフル活用すると普通にシステムができるんですよ
 
社内のリース車の利用状況を Power BI で可視化してみた
社内のリース車の利用状況を Power BI で可視化してみた社内のリース車の利用状況を Power BI で可視化してみた
社内のリース車の利用状況を Power BI で可視化してみた
 
Power BI セミナー @ 名古屋
Power BI セミナー @ 名古屋Power BI セミナー @ 名古屋
Power BI セミナー @ 名古屋
 
Intalio cloud development way in Japanese
Intalio cloud development way in JapaneseIntalio cloud development way in Japanese
Intalio cloud development way in Japanese
 
Power BI セミナー @ 名古屋 #2
Power BI セミナー @ 名古屋 #2Power BI セミナー @ 名古屋 #2
Power BI セミナー @ 名古屋 #2
 
Pentaho Reporting Tutorial 20140729
Pentaho Reporting Tutorial 20140729Pentaho Reporting Tutorial 20140729
Pentaho Reporting Tutorial 20140729
 
モデリングの彼方に未来を見た
モデリングの彼方に未来を見たモデリングの彼方に未来を見た
モデリングの彼方に未来を見た
 
Power BI の可能性?見(魅)せてやるよ!!!その本気ってやつをな
Power BI の可能性?見(魅)せてやるよ!!!その本気ってやつをなPower BI の可能性?見(魅)せてやるよ!!!その本気ってやつをな
Power BI の可能性?見(魅)せてやるよ!!!その本気ってやつをな
 
Power Platform Summary
Power Platform  SummaryPower Platform  Summary
Power Platform Summary
 
Hataluck
HataluckHataluck
Hataluck
 
フォルダー系コネクタを使ったほんとの自動化
フォルダー系コネクタを使ったほんとの自動化フォルダー系コネクタを使ったほんとの自動化
フォルダー系コネクタを使ったほんとの自動化
 
【Japan Partner Conference 2019】Society 5.0 “超スマート社会” の実現に向けた日本マイクロソフトの取り組み
【Japan Partner Conference 2019】Society 5.0 “超スマート社会” の実現に向けた日本マイクロソフトの取り組み  【Japan Partner Conference 2019】Society 5.0 “超スマート社会” の実現に向けた日本マイクロソフトの取り組み
【Japan Partner Conference 2019】Society 5.0 “超スマート社会” の実現に向けた日本マイクロソフトの取り組み
 
Intalio会社概要とbpmsの特長20100319
Intalio会社概要とbpmsの特長20100319Intalio会社概要とbpmsの特長20100319
Intalio会社概要とbpmsの特長20100319
 
Power BI 勉強会 #9 Power BI 概要と最近のこと
Power BI 勉強会 #9 Power BI 概要と最近のことPower BI 勉強会 #9 Power BI 概要と最近のこと
Power BI 勉強会 #9 Power BI 概要と最近のこと
 
Do you wanna be a V-ROCK star?
Do you wanna be a V-ROCK star?Do you wanna be a V-ROCK star?
Do you wanna be a V-ROCK star?
 
え!? Power BI の画面からデータ更新なんてできるの!?
え!? Power BI の画面からデータ更新なんてできるの!?え!? Power BI の画面からデータ更新なんてできるの!?
え!? Power BI の画面からデータ更新なんてできるの!?
 
クラウドサービスを作っているチームの中で議論していること
クラウドサービスを作っているチームの中で議論していることクラウドサービスを作っているチームの中で議論していること
クラウドサービスを作っているチームの中で議論していること
 
社内のリース車の利用状況を Power BI で可視化してみた
社内のリース車の利用状況を Power BI で可視化してみた社内のリース車の利用状況を Power BI で可視化してみた
社内のリース車の利用状況を Power BI で可視化してみた
 
Marketing 01 マーケティングは「販売を不要にする価値づくり」
Marketing 01 マーケティングは「販売を不要にする価値づくり」Marketing 01 マーケティングは「販売を不要にする価値づくり」
Marketing 01 マーケティングは「販売を不要にする価値づくり」
 

Power BI 初心者さんのDAX・メジャー「モヤモヤ」晴れるまで

  • 1. 2018.12.22 Power BI 勉強会@東京 #11 初心者さんの DAX・メジャー 「モヤモヤ」が晴れるまで Power BI 勉強会@東京 #11 2018.12.22 小室陽子
  • 2. 2018.12.22 Power BI 勉強会@東京 #11 2 自己紹介 小室 陽子(こむろ ようこ) トヨタコネクティッド株式会社 ・管理会計レポーティング→PowerBI ・働き方改革(脱Excel帳票・紙文化)→Sharepoint+PowerApps+Flow 最近になって、Office365がすごく便利に進化していることに気づき、新しい機能をおためし中・・・
  • 3. 2018.12.22 Power BI 勉強会@東京 #11 3 Power BIでのレポート作成の流れ ソース あちこち いろいろ Power Query 取得と変換 モデリング リレーション 設定 列やテーブ ルの補完 式 式 メジャー の定義 レポート ビジュアル の配置
  • 4. 2018.12.22 Power BI 勉強会@東京 #11 4 Power BIでのレポート作成の流れ ソース あちこち いろいろ Power Query 取得と変換 モデリング リレーション 設定 列やテーブ ルの補完 式 式 メジャー の定義 レポート ビジュアル の配置 DAX DAX
  • 5. 2018.12.22 Power BI 勉強会@東京 #11 5 本日のお話 Power BIでのレポート作成に必須の「メジャー」、 どう作ったらいいんだろう? 何もかも分からなさすぎて、リファレンスを読んでも書いてあることが理解できない、そん な状態から、おおよそのセオリーが理解できて、分からないことを自分で調べて解決でき るようになるまでに気づいたことをお話したいと思います。 「メジャー」を理解すると、レポート作成がぐっと楽になると思うので、そのポイントと思う点お話します。
  • 6. 2018.12.22 Power BI 勉強会@東京 #11 6 よくあるモヤモヤ • 計算列とメジャーの違いがわからない • クイックメジャーをつかったら何となくできたけど、しくみがわからない • 自分でメジャーを書こうとしたけれど、エラーが出て書けない • メジャーをつくってみたけど、レポート画面においてみたら挙動不審
  • 7. 2018.12.22 Power BI 勉強会@東京 #11 7 解決ポイント 1.メジャーが「集計式」であることを理解する 2.メジャーと「フィルタ」の関係を理解する 3.「リレーションシップ」の挙動を理解する +空白(BLANK)を理解する
  • 8. 2018.12.22 Power BI 勉強会@東京 #11 1.メジャーが「集計値式」 であることを理解する
  • 9. 2018.12.22 Power BI 勉強会@東京 #11 9 メジャーとは データモデル 式 式 メジャー データが存在し、ストレージされる 式の定義があるだけ ビジュアル 表示されるときに、 メジャーの式にしたがって 値が計算される
  • 10. 2018.12.22 Power BI 勉強会@東京 #11 10 RPGゲームに例えると データモデル メジャー ビジュアル 戦士 魔法使い 癒し手 大剣 鎧 杖 薬 … 攻撃力 =関数(体力,スキル,レベル…) 宝箱空ける成否 =関数(対象宝箱難易度,幸運度,乱数…) 戦闘場面 攻撃のターン 宝箱を開ける イベント
  • 11. 2018.12.22 Power BI 勉強会@東京 #11 11 料理に例えると データモデル ビジュアル じゃがいも タマネギ にんじん 鶏肉 カレールー ホワイトソース 塩 胡椒 … カレーのレシピ ホワイトシチューのレシピ カレー 福神漬けぞえ ホワイトシチュー とニンジンサラダ ニンジンサラダのレシピ メジャー
  • 12. 2018.12.22 Power BI 勉強会@東京 #11 12 メジャー メジャー メジャー 例 予定個数SUM = SUM('予定'[個数]) 実績個数SUM = SUM('実績'[個数]) 個数予実差 = [実績個数SUM]-[予定個数SUM] 予定テーブル個数行 実績テーブル個数行 メジャー メジャー 列の参照 ‘テーブル名’[列名] メジャーの参照 [メジャー名] ‘予定’ ‘実績’
  • 13. 2018.12.22 Power BI 勉強会@東京 #11 13 メジャーはテーブルを移動できる
  • 14. 2018.12.22 Power BI 勉強会@東京 #11 14 まとめ ① メジャーとは「集計式」 ビジュアルで表示されるときに計算される ② メジャーはテーブルに紐づかない(外にある)
  • 15. 2018.12.22 Power BI 勉強会@東京 #11 2.メジャーと「フィルタ」 の関係を理解する
  • 16. 2018.12.22 Power BI 勉強会@東京 #11 16 こんな風に思ってませんか? ビジュアル 合計「900」が、マス目で 分割されて表示されている
  • 17. 2018.12.22 Power BI 勉強会@東京 #11 17 なぜって… Excelで、「合計値」は「マス目の合計」であることに慣れている
  • 18. 2018.12.22 Power BI 勉強会@東京 #11 18 こんな風に思ってませんか? ビジュアル 合計「900」が、マス目で 分割されて表示されている
  • 19. 2018.12.22 Power BI 勉強会@東京 #11 19 こんな風に思ってませんか? ビジュアル 合計「900」が、マス目で 分割されて表示されている Power BIでは違います!
  • 20. 2018.12.22 Power BI 勉強会@東京 #11 20 Power BIでは「総計」から出発する ‘販売予定‘ テーブル SUM 販売予定個数SUM = SUM('販売予定'[個数]) メジャー 何を? ‘販売予定個数’ テーブルの [個数]列 合計する
  • 21. 2018.12.22 Power BI 勉強会@東京 #11 21 [基本]ビジュアルのマス目ごとのフィルタ条件で計算 全行を出発点に、 商品=商品A&地域=名古屋 でフィルタを掛けて残った行を計算 商品Aでフィルタ 掛けた値を表示 する仕様 名古屋でフィルタ 掛けた値を表示する仕様 SUM‘販売予定‘ テーブル SUM‘販売予定‘ テーブル
  • 22. 2018.12.22 Power BI 勉強会@東京 #11 22 フィルタを調整して総計を出す メジャー 何を? [販売予定個数SUM] というメジャー 販売予定個数TOTAL = CALCULATE([販売予定個数SUM],ALL('販売予定')) フィルタを修正して 計算する フィルタの修正内容は? ‘販売予定’テーブルを すべての行採用 SUM‘販売予定‘ テーブル SUM‘販売予定‘ テーブル
  • 23. 2018.12.22 Power BI 勉強会@東京 #11 23 総計を利用して割合%を出す メジャー 販売予定個数占有率% = [販売予定個数SUM]/[販売予定個数TOTAL] 販売予定個数占有率% 販売予定個数SUM 販売予定個数TOTAL
  • 24. 2018.12.22 Power BI 勉強会@東京 #11 24 さらにフィルターを掛けてカテゴリ合計を出す メジャー 販売予定個数地域別 = CALCULATE ( [販売予定個数SUM], FILTER ( ALL ( '販売予定' ), '販売予定'[地域] = SELECTEDVALUE ( '販売予定'[地域] ) ) ) ‘販売予定’テーブルのすべての行を採用した状態を元に ビジュアルで選ばれている地域の値に等しい行に絞る 計算対象 フィルタを修正して計算する フィルタの修正内容 ※ALLのかわりにALLSELECTEDを使う場合もありますが、 ここでは分かりやすくするため、ALLに統一しています ビジュアル各行で選ばれている地域 に等しい行の合計 SUM‘販売予定‘ テーブル
  • 25. 2018.12.22 Power BI 勉強会@東京 #11 25 日付フィルタを調整して累計や過去数値を出す 月初日~ ビジュアル各行で選ばれている日付 までの合計 ビジュアル各行で選ばれている日付 の1日前の値 月度累計SUM SUM 昨日
  • 26. 2018.12.22 Power BI 勉強会@東京 #11 26 まとめ ① メジャーは「総計」を元に、ビジュアルの各マスごとの 条件でフィルタされて計算される ② DAX式でフィルタの掛かり方を修正することができる。 これにより、様々な統計値を出すことができる 統計値を出すには「フィルタ」の使いこなしがとっても大事 まずは考えをしっかり持っておくと、適する関数を探しやすい
  • 27. 2018.12.22 Power BI 勉強会@東京 #11 3.「リレーションシップ」 の挙動を理解する
  • 28. 2018.12.22 Power BI 勉強会@東京 #11 28 いきなりですが、ダメな例 予定と実績を結んでみた ※日付列・担当者列などが隠れていると思って見てください ‘予定’ ‘実績’
  • 29. 2018.12.22 Power BI 勉強会@東京 #11 29 いきなりですが、ダメな例 多対多であるという注意書き
  • 30. 2018.12.22 Power BI 勉強会@東京 #11 30 こんな困った症状が出ます Dが出ない? Cが出ない? 合計がおかしい? 合計がおかしい?
  • 31. 2018.12.22 Power BI 勉強会@東京 #11 31 原因 実績の商品列を 使っている 予定の商品列を 使っている
  • 32. 2018.12.22 Power BI 勉強会@東京 #11 32 原因 実績の商品列を 使っている 予定の商品列を 使っている ‘予定’ ABCしかない ‘実績’ SUM ‘予定’ ‘実績’ 予定にある値 しか出ない 実績にある値 しか出ない SUM ABDしかない
  • 33. 2018.12.22 Power BI 勉強会@東京 #11 33 原因 合計はフィルタが掛からないので 各全行を計算 実績の商品列を 使っている 予定の商品列を 使っている 予定にある値 しか出ない 実績にある値 しか出ない ‘実績’ SUM ‘予定’ SUM
  • 34. 2018.12.22 Power BI 勉強会@東京 #11 34 「マスタ」を用意する ‘商品マスタ’ ★一意の値(重複しない) ★全ての値を含む リレーションシップ を掛ける(1対多) トランザクション 発生した出来事の記録 ディメンション テーブル 属性が格納される ファクトテーブル 数値(メジャー)が 格納される
  • 35. 2018.12.22 Power BI 勉強会@東京 #11 35 ダメな例2 マスタを用意してリレーション掛けたのに、 直らないどころかもっと変になっちゃった?
  • 36. 2018.12.22 Power BI 勉強会@東京 #11 36 そりゃそうですよ… 予定の商品列を 使っている リレーション が無い! フィルタ されない
  • 37. 2018.12.22 Power BI 勉強会@東京 #11 37 解決策 「親」の項目を 使う! フィルタは 「親」から「子」 へ伝播する 正しくなった!
  • 38. 2018.12.22 Power BI 勉強会@東京 #11 38 「子」の項目は非表示に 非表示 非表示 これを使う メジャーも整理する とこうなる
  • 39. 2018.12.22 Power BI 勉強会@東京 #11 39 まとめ ① ディメンジョン(分類)は、一意になる「マスタ」を用意する ② リレーションシップはマスタからトランザクション(出来事の 記録)へ、「1対多」でタコ足状につなぐ ③ フィルターは、リレーションシップの 「親(1)→子(多)」の一方向に伝播する ④ レポートビジュアルには、「親」の項目を使う
  • 40. 2018.12.22 Power BI 勉強会@東京 #11 40 リファレンス DAXガイド https://dax.guide/ Qiita  メジャー とはなんだろうと考える https://qiita.com/PowerBIxyz/items/94e171e05ef7beb83897  AVERAGEX 関数 (DAX) で 平均を求める https://qiita.com/PowerBIxyz/items/b1fa63e3502e5acaa1f6  メジャーの特性 や 見出しの階層に合わせて集計する には https://qiita.com/PowerBIxyz/items/17d5d531ea074a43867b  予算実績を集計比較する データモデル パターン https://qiita.com/PowerBIxyz/items/bb9b6dcc44721d77aad8 BIシステム構築実践入門(青い本) https://www.amazon.co.jp/dp/4798109312
  • 41. 2018.12.22 Power BI 勉強会@東京 #11 おわり Good Luck!

Editor's Notes

  1. PowerQuery(インポート) →テーブル(DAXで列やテーブルを補足、リレーション) →メジャー(DAXで計算を定義する) →ビジュアルに配置 インポート コネクタPowerQuery データモデル リレーションシップ/型/列やテーブルの追加 メジャーの設定 メジャー レポート ビジュアル
  2. PowerQuery(インポート) →テーブル(DAXで列やテーブルを補足、リレーション) →メジャー(DAXで計算を定義する) →ビジュアルに配置 インポート コネクタPowerQuery データモデル リレーションシップ/型/列やテーブルの追加 メジャーの設定 メジャー レポート ビジュアル
  3. テーブル