Power BIでは関数が使える? Excel PowerPivot、Power BI Desktopで使える計算式DAXのご紹介
Excelには「関数」機能があり、短い計算式を入れることで、合計値や平均値などをすばやく計算することができます。ExcelからPower BIへ集計データの移行を考えている人が持つ疑問に、「Power BIには関数があるの?」というものがあります。
そこで今回は、Power BI で使える計算式について紹介します。
Power BIではDAXを利用する
Power BIでも関数は使えます。ただ、Excelとは違って、DAXという計算式を使います。
DAXは、Data Analysis Expressionsの略で、2009年にPowerPivot for Excel 2010用にはじめて公開された、Microsoft SQL Server Analysis Servicesや、Excel Power Pivot、Power BI Desktopで使える計算式と演算子の集合です。
DAXは、PowerPivotで使えることから、Excelのマニュアルなどでも使い方が紹介されています。Power BIでは、Windowsのローカルソフトとして使用するPower BI Desktopでのクエリエディター内で使用できます。
クエリエディターでDAXを入力する列を作成・選択し数式バーから関数を入力します。「モデリング」リボンの「新しいメジャー」ボタンからも同様に実行できます。
エクセル関数とどのくらい違う?
上記の図で確認いただいたように、SUMやAVERAGEなど、DAX と Excel の数式で、同じ関数、演算子、および構文を使用することがよくあります。基本的なシンタックスは以下のようになっています。
メジャー名
メジャー名はこの式の命名のようなものです。DAX関数を指定する列名がそのままメジャー名になります。
関数
メジャー名のあとに=でつなぎ、関数を入力します。
引数
関数の引数として( )に囲み、指定する列などを当てはめます。クエリ名(テーブル名)は、同じクエリ内であれば省略することもできます。また、計算対象の列名を引数として、 [ ]で囲んで指定します。
DAXは、Microsoft SQL Serverで使えることからもわかるとおり、リレーショナルデータを処理し、動的に計算を実行できるように設計されている点で、Excel関数とは大きく異なります。DAXには200種類を超える関数があり、計算や統計、フィルターなどの処理が実行できます。
Power BIでは、複数のデータを掛け合わせ、分析業務を行う場合があります。クエリをデータベースから直接、または逐次読み込んでいる場合、元データだけでは計算値が足りない場合があります。
そのような時にDAXの関数を使うことで、元データを編集し直すことなく、複数のデータベースをレポートに利用しやすいように加工できます。そして、Power BI上で新規にクエリを作成すれば、元データを加工しないで済むため、データを読み込むたびに計算をやり直す必要がなく、常に最新のデータに適用されるようになります。
DAXをはじめるときのオンライン情報
DAX関数を勉強してみたい場合は、Power BIとExcelのオンラインヘルプなどが役に立つでしょう。以下にいくつか参考サイトをご紹介します。
Power BI Desktop の計算テーブル
https://powerbi.microsoft.com/ja-jp/documentation/powerbi-desktop-calculated-tables/
Power BI Desktop における DAX の基本事項
https://powerbi.microsoft.com/ja-jp/documentation/powerbi-desktop-quickstart-learn-dax-basics/
Data Analysis Expressions リファレンス
https://technet.microsoft.com/ja-jp/library/gg413422(v=sql.105).aspx
Power BI Desktop でDAXをバリバリ使うとなると、かなり上級者向けの作業になってきますが、共通点も多いExcel関数を使いこなしている方にとっては、案外、馴染みやすいものかもしれません。ぜひ、スキルアップや分析業務の内容充実にお役立てください。