Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

DAX Boot Camp #0

727 views

Published on

DAXの基礎概念について

Published in: Technology
  • Be the first to comment

DAX Boot Camp #0

  1. 1. DAX Boot Camp DAXに関する知識の共有 2019/10/5
  2. 2. 2 コンテンツ 1. DAXとは 2. DAXの特徴 3. DAX学習Tips 4. DAXで苦労した点 ※デモあり
  3. 3. 33 DAXとは What is DAX D(どう) A(あがいても) X(無理) Data Analysis eXpression - Power BI, Analysis Service, - Excel Power Pivot用の言語 移動平均3ヶ月売上単価 = VAR PeriodCount = -3 VAR PeriodToUse = DATESINPERIOD ( dDate[Date], MAX ( dDate[Date] ), PeriodCount, MONTH ) VAR SalesQty = CALCULATE ( SUM ( Sales[SalesQuantity] ), PeriodToUse ) VAR SalesAmt = CALCULATE ( SUM ( Sales[SalesAmount] ), PeriodToUse ) VAR AveragePrice = DIVIDE ( SalesAmt, SalesQty ) RETURN AveragePrice 0 50 100 150 200 250 300 0 2 4 6 8 10 12 200701 200706 200711 200804 200809 200902 200907 200912 単価:ドル在庫:百万ドル 在庫・売上単価推移 在庫金額 直近3ヶ月平均売上単価
  4. 4. 44 DAXの特徴(全般) DAX in general  DAXはポータブル関数(一度定義すればどこでも使用可能)  DAXはExcelと同じ名称の関数が使われることが多い(入門しやすいが、途中から”迷子”に)  BI構築に際して必要とされる難易度によってDAXを学ぶ“深度”が変わってくる  DAXは最終的に基礎を学ぶ(知る)ことが最も重要 ※最終的にという意味は、どこかで必ず“原点に戻る”必要がある  DAXはシンプルだが、簡単ではない (by Marco Russo / Alberto Ferrari from SQLBI)  DAXに対する興味を持てるかどうか、 DAXをどこまで極めたいか次第 Marco Russo DAXの神様
  5. 5. 55 DAXの特徴(テクニカル面) What’s unique in DAX  関数言語とクエリ言語である(数値操作、テーブル操作)  Excelはセル単位、DAXは列単位で考える  DAXはデータ・モデリングとセットで考える必要がある(DAXの重要度 < モデリングの重要度) ※モデリングがしっかりしている場合、複雑なDAX数式を使う必要はない  Evaluation Contextの概念 - Row Context vs Filter Context(共存関係) - Context Transition(Row Contextの中でFilter Contextを発生させること)  Relationshipの定義(One-to-Many, One-to-One, Many-to-Many)  同じ計算結果でもパフォーマンスが異なる(DAX数式の最適化)  Row ContextはRelationshipとは関係ないが、Filter ContextではRelationshipの定義によって 自動的に生成される
  6. 6. 66 DAX学習Tips(参考書①) Tips in learning DAX DAXの全てを網羅1
  7. 7. 77 DAX学習Tips(参考書②) Tips in learning DAX 実践を試したい方2
  8. 8. 88 DAX学習Tips(参考書③) Tips in learning DAX データモデル中心3
  9. 9. 99 DAX学習Tips(参考書④) Tips in learning DAX Excel Power Pivot 4
  10. 10. 1010 DAX学習Tips(その他) Tips in learning DAX  最初は摘み食い、途中から原点に立ち返る - まず実践してみて、つまづいたら基礎に戻る(※基礎がないまま突っ走ると・・・)  DAXに関する不明点を検索しても出てこない? - 英語で検索するとかなりの割合で回答に辿り着ける。殆どがSQLBIにたどり着いてしまうので、 - 英語ベースで勉強することをオススメ  自分の興味ある分野に適用していく(効率良く試行錯誤)  Evaluation ContextとRelationshipを理解すること  VARを可能な限り使う - コードの見やすさ、クエリのパフォーマンスアップに繋がる  躓いた場合、現在のFilter Context(フィルターされているコンディション)が何かを考える
  11. 11. 1111 DAXで苦労した点 What makes you crazy in DAX  合計値が合わない(デモ) IF構文を使うと、合計数値が一致しない  DAXとRelationshipのコンボ(デモ) Filterの伝播方向の確認 (例:ProductCount = COUNTROWS( dProduct )をProductとDateでFilterした場合)  CALCULATEのフィルタ引数(Filter arguments)について(デモ) テーブルフィルタしか取らない(スカラー値 vs テーブルフィルターの混同)  Context Transitionによる混乱 - 数値のダブルカウント集計 - Row ContextにおけるContext Transitionの発生  数値を計算するのに、何が必要なのか(特にVARを使ってフィルタ引数を構築する場合)  ALL*(ALL family)の概念及びその使い分け

×