
これから分析するデータをエクセルに取り込みます
エクセルの新規ファイルを立ち上げます。名前を「PowerPivotDax」とします
リボン/データ/データの取得/ファイルから/ブックから
「Data-Sample.xlsx」を選択
ナビゲーターウィンドウが開きます。売上データを選択し、データの変換
データ型、クエリ名を確認
リボン/ホーム/閉じて読み込む/閉じて次に読み込む
データのインポートウィンドウが開きます。接続の作成のみ、このデータをデータモデルに追加する、をクリックし、OK
読み込まれたデータ行数を確認。元データの行数を確認
(行数が多い場合)クエリと接続ウィンドウの売上データをダブルクリック
もし、クエリと接続ウィンドウが出ていない場合は、リボン/データ/クエリと接続をクリック
「地域」をフィルターをかけ、nullをアンチェックし、再度閉じて読み込む
読み込まれたデータ行数を確認
ここで上書き保存
これからDAXを作っていく、Power Pivotを起動します
セルB2にて、リボン/挿入/ピボットテーブル
ピボットテーブルの作成ウィンドウが開くので、「このブックのデータモデルを使用する」をチェックし、OK
ピボットテーブルのフィールドの説明
おススメのレイアウト
アクティブとすべてについて
売上の集計メジャーの作成をします
Power Pivotタブのある方は「新しいメジャー」より
Power Pivotタブの出し方の説明
もしくはフィールドのクエリ名の上で右クリックし、メジャーの追加
メジャーウィンドウが開きます
テーブル名とはそのメジャーがどのクエリの下に配置されるか?を示します。後から簡単に移動できます
メジャーの名前を「売上合計」とします
値の説明は、お好みです
=SUM('売上データ'[売上]) と入れます
シングルクォーテーションで囲まれたものは、クエリ名
[ ]で囲まれたものは項目名です。
ですので '売上データ'[売上] は、売上データクエリ内の売上項目、という意味です
いきなり[売上]と選べますが、メジャーとごっちゃになることを避けるために、クエリ名も入れておくのがベストプラクティスです
DAX式を確認で、エラーがないか確認します
わざとカッコを外して、エラーメッセージを見てみます
カテゴリにて、数値を選択します
書式にて桁区切りを入れ、10進数を選択した上でOKとします
新しくできたメジャーには、項目の横にアイコンがつきます
条件を設定して集計ができるCALCULATEの基本動作を見てみます
どういう集計ができるのか?を示すために、まずは通常のピボットテーブルを作ります
行に「国名」
列に「商品セグメント」
値に「売上合計」を入れます
CALCULATEによって、今作成した表の行と列がぶつかる部分をいきなり計算できます
例. アメリカのアパレル売上
アメリカの売上をCALCULATEにて集計してみます
売上データクエリの上で右クリックし、メジャーの追加
メジャーの名前を「アメリカの売上」とします
数式に =CALCULATE('売上データ'[売上合計],'売上データ'[国名]="アメリカ") と入れます
カテゴリを数値、桁区切りを入れてOK
エクセル関数のSUMIFSと非常に似ています
確認のために、もう一つピボットテーブルを設定し、「アメリカの売上」を入れてみます
今度は、条件を複数にします。アメリカのアパレルの売上をCALCULATEにて集計してみます
売上データクエリの上で右クリックし、メジャーの追加
メジャーの名前を「アメリカのアパレル売上」とします
数式に =CALCULATE('売上データ'[売上合計],'売上データ'[国名]="アメリカ",'売上データ'[商品セグメント]="アパレル") と入れます
カテゴリを数値、桁区切りを入れてOK
確認のために、先ほど作った2つ目のピボットテーブルに、「アメリカのアパレル売上」を入れててみます
ワークシートを「CALCULATE基本動作」とします
売上の累計をCALCULATEを使って算出します
前のレクチャーで使ったワークシートを「条件付き書式」とし、新たにワークシートを開きます
セルB2にカーソルを置き、リボン/挿入/ピボットテーブルをクリック
「このブックのデータテーブルを使用する」にチェックが入っていることを確認してOK
行に「販売日」、値に「売上合計」を入れます。「売上合計」は前のレクチャーで作ったメジャーの方ですのでご注意ください
売上累計を計算するメジャーを作ります
売上データの上で右クリック、メジャーの追加
メジャーウィンドウが開きます
メジャーの名前、売上累計
数式に =CALCULATE('売上データ'[売上合計],DATESYTD('売上データ'[販売日])) と入れます
ネスト構造になったことで、閉じカッコが忘れ気味です
わざと閉じカッコをしない状態で、DAX式を確認、を押してみます
書式にて、数値、桁区切り、10進数を選びOK
新しくできたメジャー「売上累計」を値に入れます
「売上累計」をビジュアリゼーションします
「売上累計」の列を選択します
リボン/ホーム/条件付き書式/データバー
暦の上の累計から、会計年度の累計へ切り替えるDAXを作ってみます
既存のDAX式をコピーします
「売上累計」の上で右クリック、メジャーの編集
数式をコピーし、キャンセル、により閉じます
売上データの上で右クリック、メジャーの追加
メジャーの名前を「売上累計(会計年度)」とします
先ほどコピーした数式をペーストします。その上で、数式を =CALCULATE('売上データ'[売上合計],DATESYTD('売上データ'[販売日],"3/31")) とします。最後に”3/31”が加わっただけです
書式により、数値、桁区切り、10進数を選びOK
新しくできたメジャー「売上累計(会計年度)」を値に入れます
「売上累計」をビジュアリゼーションします
「売上累計(会計年度)」の列を選択します
リボン/ホーム/条件付き書式/データバー
DATESYTDの応用として、DATESMTD, DATESQTDを紹介します
既存のDAX式をコピーします
「売上累計」の上で右クリック、メジャーの編集
数式をコピーし、キャンセル、により閉じます
売上データの上で右クリック、メジャーの追加
メジャーの名前を「売上累計(MTD)」とします
注意!メジャーの名前のカッコは全角にする
先ほどコピーした数式をペーストします。その上で、数式を =CALCULATE('売上データ'[売上合計],DATESMTD('売上データ'[販売日])) とします
書式により、数値、桁区切り、10進数を選びOK
QTDも同様です
メジャーの名前を「売上累計(QTD)」とします
注意!メジャーの名前のカッコは全角にする
先ほどコピーした数式をペーストします。その上で、数式を =CALCULATE('売上データ'[売上合計],DATESQTD('売上データ'[販売日])) とします
書式により、数値、桁区切り、10進数を選びOK
新しくできたメジャーを値に入れます
「売上累計(MTD/QTD)」をビジュアリゼーションします
当該の列を選択します
リボン/ホーム/条件付き書式/データバー
項目が見やすくなるように、表示でウィンドウ枠を固定します
確認ができたら、ワークシート名を「Calculateによる累計計算」に変えます
CALCULATEとDATESYTDが最初から一緒になってるDAX、TOTALYTDを紹介します
新しくワークシートを開きます
売上の累計をTOTALYTDを使って算出します
セルB2にカーソルを置き、リボン/挿入/ピボットテーブルをクリック
ALT + N + V のショートカットで開くと少しカッコいいです
「このブックのデータテーブルを使用する」にチェックが入っていることを確認してOK
行に「販売日」、値に「売上合計」を入れます。「売上合計」は前のレクチャーで作ったメジャーの方ですのでご注意ください
売上累計をTOTALYTDで計算するメジャーを作ります
売上データの上で右クリック、メジャーの追加
メジャーウィンドウが開きます
メジャーの名前、売上累計 by TOTALYTD
数式に =TOTALYTD('売上データ'[売上合計],'売上データ'[販売日]) と入れます
書式にて、数値、桁区切り、10進数を選びOK
新しくできたメジャー「売上累計 by TOTALYTD」を値に入れます
暦の上の累計から、会計年度の累計へ切り替えるDAXを作ってみます
既存のDAX式をコピーします
「売上累計 by TOTALYTD」の上で右クリック、メジャーの編集
数式をコピーし、キャンセル、により閉じます
売上データの上で右クリック、メジャーの追加
メジャーの名前を「売上累計 by TOTALYTD(会計年度)」とします
先ほどコピーした数式をペーストします。その上で、数式を =CALCULATE('売上データ'[売上合計],DATESYTD('売上データ'[販売日],"3/31")) とします。最後に”3/31”が加わっただけです
書式により、数値、桁区切り、10進数を選びOK
「売上累計 by TOTALYTD」「売上累計 by TOTALYTD(会計年度)」をビジュアリゼーションします
列を選択します
リボン/ホーム/条件付き書式/データバー
CALCULATEを使って、一年前の売上を出してみます
新たにワークシートを開きます
セルB2にカーソルを置き、リボン/挿入/ピボットテーブルをクリック
「このブックのデータテーブルを使用する」にチェックが入っていることを確認してOK
行に「販売日」、値に「売上合計」を入れます。「売上合計」は前のレクチャーで作ったメジャーの方ですのでご注意ください
1年前の売上を計算するメジャーを作ります
売上データの上で右クリック、メジャーの追加
メジャーウィンドウが開きます
メジャーの名前、一年前の売上合計
数式に =CALCULATE('売上データ'[売上合計],SAMEPERIODLASTYEAR('売上データ'[販売日])) と入れます
カッコ閉じに注意です。DAX式を確認を利用しましょう
書式にて、数値、桁区切り、10進数を選びOK
本当に一年前の売上が出ているか?確認しています
確認ができたら、ワークシート名を「SAMEPERIODLASTYEARによる前年売上」に変えます
前のレクチャーで作った前年売上を使って、前年対比の差額、そして成長率をDAXを使って作ってみます
売上データの上で右クリック、メジャーの追加
メジャーウィンドウが開きます
メジャーの名前、対前年売上成長額
数式に ='売上データ'[売上合計]-'売上データ'[一年前の売上合計] と入れます
書式にて、数値、桁区切り、10進数を選びOK
作成したメジャーをピボットテーブルに入れて、本当に差額が出ているか?検証します
今度は、成長率を出してみます
売上データの上で右クリック、メジャーの追加
メジャーウィンドウが開きます
メジャーの名前、対前年売上成長率
数式に =DIVIDE('売上データ'[売上合計],'売上データ'[一年前の売上合計])と入れます
単純にやると、 / による割り算もできますが、割り算の時はDIVIDEを使うことがおススメです
書式にて、数値、パーセンテージを選びOK
今回はパーセンテージなので注意です
一年前の売上の累計を出してみます
新たにワークシートを開きます
セルB2にカーソルを置き、リボン/挿入/ピボットテーブルをクリック
「このブックのデータテーブルを使用する」にチェックが入っていることを確認してOK
行に「販売日」、値に「売上累計」を入れます
売上データの上で右クリック、メジャーの追加
メジャーウィンドウが開きます
メジャーの名前、前年売上累計
数式に =CALCULATE('売上データ'[売上合計],SAMEPERIODLASTYEAR(DATESYTD('売上データ'[販売日]))) と入れます
書式にて、数値、桁区切り、10進数を選びOK
新しくできたメジャーをピボットテーブルに入れて、検証します
今年と去年の売上累計について、差額と成長率を出してみます
売上データの上で右クリック、メジャーの追加
メジャーウィンドウが開きます
メジャーの名前、対前年売上累計成長額
数式に ='売上データ'[売上累計]-'売上データ'[前年売上累計] と入れます
書式にて、数値、桁区切り、10進数を選びOK
売上データの上で右クリック、メジャーの追加
メジャーウィンドウが開きます
メジャーの名前、対前年売上累計成長率
数式に =DIVIDE('売上データ'[売上累計],'売上データ'[前年売上累計]) と入れます
書式にて、数値、パーセンテージを選びOK
ワークシートの名前を「前年売上累計」とします
CALCULATEを使って、前月売上を出してみます
新たにワークシートを開きます
セルB2にカーソルを置き、リボン/挿入/ピボットテーブルをクリック
「このブックのデータテーブルを使用する」にチェックが入っていることを確認してOK
行に「販売日」、値に「売上合計」を入れます
売上データの上で右クリック、メジャーの追加
メジャーウィンドウが開きます
メジャーの名前、前月売上
数式に =CALCULATE('売上データ'[売上合計],DATEADD('売上データ'[販売日],-1,MONTH)) と入れます
書式にて、数値、桁区切り、10進数を選びOK
新しくできたメジャーをピボットに入れて検証します
DATEADDの応用編を見てみます。前日の売上を出してみます
前月売上、の数式をコピーします
売上データの上で右クリック、メジャーの追加
メジャーウィンドウが開きます
メジャーの名前、前日売上
数式に =CALCULATE('売上データ'[売上合計],DATEADD('売上データ'[販売日],-1,DAY)) と入れます
DATEADDの応用編を見てみます。全四半期の売上を出してみます
前月売上、の数式をコピーします
売上データの上で右クリック、メジャーの追加
メジャーウィンドウが開きます
メジャーの名前、前四半期売上
数式に =CALCULATE('売上データ'[売上合計],DATEADD('売上データ'[販売日],-1,QUARTER)) と入れます
ワークシートの名前を「DATEADDを使った前月売上」とします
DATESBETWEENを使って、特定期間の売上を集計します
メジャー名:特定の期間の合計
直近五日間の売上を集計してみます
まずは計算対象となるシートを用意します
ヘッダー
日付、売上
TODAY関数を使って、受講日から遡って15日くらいの売上データを作ります
作ったシートをエクセルに取り込みます
リボン/データの取得/ファイルから/ブックから
ナビゲーターウィンドウが開きますので、テストを指定し、データの変換
データ型を確認し、リボン/ホーム/閉じて読み込む/閉じて次に読み込む
接続の作成のみ、このデータをデータモデルに追加する、をクリックして、OK
新たにワークシートを開きます
セルB2にカーソルを置き、リボン/挿入/ピボットテーブルをクリック
「このブックのデータテーブルを使用する」にチェックが入っていることを確認してOK
まずは、テストの方の売上の集計用メジャーを作ります
わざと、売上データのクエリに作ってみます
売上データの上で右クリック、メジャーの追加
メジャーウィンドウが開きます
メジャーの名前、テスト売上合計
数式に =SUM('テスト'[売上]) と入れます
書式にて、数値、桁区切り、10進数を選びOK
テスト売上合計が、売上データの方に入っています。テストに移動させます
テスト売上合計の上で右クリック、メジャーの編集、テーブル名をテストに変更して、OK
ここから、直近五日間の売上を集計してみます
行に「販売日」、値に「テスト売上合計」を入れます
テストの上で右クリック、メジャーの追加
メジャーウィンドウが開きます
メジャーの名前、直近5日間の売上
数式に =CALCULATE('テスト'[テスト売上合計],DATESBETWEEN('テスト'[日付],TODAY()-4,TODAY())) と入れます
書式にて、数値、桁区切り、10進数を選びOK
新しくできたメジャーをピボットテーブルに入れて、検証します
もし、直近五日間という場合に、今日は含まない場合をやってみます
直近5日間の売上メジャーの上で右クリック
数式を修正してOK =CALCULATE('テスト'[テスト売上合計],DATESBETWEEN('テスト'[日付],TODAY()-5,TODAY()-1))
再度検証します
ワークシートの名前を「TODAYを使った直近5日間の売上」とします
継続的に過去5日間を集計してみます
説明のためにピボットテーブルを用意します
過去五日間というのは、どういう意味か?説明します
ローリング的に集計することで、日々の増減をならし傾向を見るために使います
メジャーを作ります
メジャー名:継続的に過去5日間を集計
DATESINPERIODというDAXを使います。これは指定した期間を返すDAXです。
MAXというDAXも使います
【DAXをなんとかしたい!】
Power Pivotの大きなウリの一つであるDAX。いくらエクセル関数と似ていると言われても、どうもとっつきにくい。構文の説明を聞いても、どうもイメージがわかない。
そんなお悩みありませんか?
イキナリですが質問です
みなさんがエクセル関数を覚えた時、説明書をじっくり読んで、十分腹落ちしてから、やっと使い始めたでしょうか?
違いますよね。まずはとにかく使ってみて、使っていくうちに慣れていったハズです。
このコースでは、同じことをDAXでもやっていきます。
【超重要DAXーCALCULATEに特化します】
とにかく使ってみて、DAXに慣れます。しかし、ただ闇雲に手を広げるわけではありません。
DAXの中でも、特に重要なCALCULATEに一点集中します。このコースは、DAX、そしてDAXの中でも特に重要な、CALCULATEに特化したコースです。
なぜCALCULATEなのか?それはCALCULATEを起点に、ほかのDAXと組み合わせることで、できることの幅がぐっと広がるからです。条件を絞った計算、累計、昨年実績集計などCALCULATEはそれを一つ覚えることで、実務ですぐ使える集計ができる大変コスパの高いDAXです。
【ハンズオンが一番!】
手を動かし、操作に慣れつつ受講することに勝る学習体験はありません。このコースでは、コースで使うデータを提供しています。一緒に手を動かしながら受講いただけます。私自身、DAX を始めた時は、どうもとっつきにくい、よく分からんという状況でした。
でも、とにかく使ってるうちに、こんなにできることの幅が広がるんだ!食わず嫌いで使わないなんてもったいない!と思うようになりました。このコースで、みなさんにも同じことを感じていただきたいと思います。
それではコースでお会いしましょう!