ここからは、「レポートをさらに便利にする機能」に入ります。前置きが少し長くなりますが、どの機能を、どの回で学ぶのかを先にお伝えしておきます。
まずは、テーブルビューに関する機能を、もう少し詳しく見ていきます。
今回の第18回では、DAX式を使って「新しい列」を作成します。続く第19回では「クイック メジャー」、第20回では「データグループ(グループ化)」を学習します。
グループ化では、特定の列の値を基準としてデータをグループ化し、Power BI上で新しいグループを作成することができます。これが、けっこう便利です。
続いて、レポートビューに関する機能です。第2回で、「ドリルダウン」という機能があったのを覚えていますでしょうか?
実は、ここだけまだ詳しく触れていませんでした。そこで、第21回でドリルダウンとドリルアップについて学習します。
さらに、第22回では「フィルター」について見ていきます。Power BIにはさまざまな種類のフィルターがありますので、それぞれの使い方を確認していきましょう。
そして、ビジュアルの追加として、第23回で「地図」、第24回で「テーブル(とマトリックス)」を学習します。ここから先は、覚えておくと実務でも非常に便利な機能ばかりですね。
最後に、第25回でまとめ、第26回で演習としてサンプルダッシュボードを作成します。初級編ラストスパートですね! 先に全体の流れだけ説明させていただきました。
さて、ここからは今回のテーマ、DAX式の作成について触れていきます。
実際にPower BIを使っていると、「このデータを少し加工したい」「2つの列を組み合わせたい」「計算した結果を新しい列として出力したい」といった場面が出てきます。
そこで活用するのが、Power BIの「DAX」です。DAXとは、「Data Analysis Expressions」の略で、Power BIなどでデータを計算・加工するために使用する数式言語です。
Excelにも数式や関数がありますが、DAXはExcelの関数とは少し考え方や使い方が異なります。そのため、最初は少し特殊な数式に感じるかもしれません。
ただし、ここで一つ大きなメリットがあります。DAXの数式を、今の段階で一つひとつ暗記する必要はありません。
以前は、DAXの数式を作成するとき、公式ドキュメントなどを確認しながら、「こういう関数があるんだな」「この場合は、この書き方をするんだな」と調べながら数式を作成する必要がありました。
しかし現在では、Microsoft CopilotやOpenAIのChatGPT、AnthropicのClaudeなど、生成AIを利用することができます。
Power BIで使用するDAX程度であれば、無料版の生成AIでも、かなり具体的な数式を作成してもらうことができます。
例えば、次のように質問します。
「私は今、Power BIを使っています。データベースに2つの列名があります。この2つの列名を使って、ビジュアルのカードにこのような形式で表示したいです。それに対するDAX式はどのように記述すればよいでしょうか。必要なデータベースの列名をお伝えしますので、数式を作成してください。」
このように、やりたいことと実際の列名を生成AIに伝えるだけで、DAXの数式を作成してくれます。もちろん、毎回一発でうまくいくとは限りません。生成AIも自分の質問も万能ではありませんし、Power BIのバージョンや仕様によって、現在の環境では適切ではない数式が出てくる場合もあります。
そんなときは、「この数式ではうまく動作しませんでした。現在のPower BIの仕様を考慮して、数式をもう一度確認してください。」というように、生成AIにフィードバックしてみましょう。
すると、数式を修正して、別の方法を提案してくれることがあります。
そして、生成されたDAX式を確認したうえでコピーし、Power BIの数式バーに貼り付けます。これだけで、DAXを使った新しい列を作成することができます。本当に便利な時代になりました。
つまり、Excelでいうところの「関数を暗記しなくてもよい」という感覚に近いかもしれません。もちろん、DAXの基本的な考え方や、数式が何をしているのかを理解することは重要です。
ただし、すべての構文を暗記することに時間を使う必要はなくなったということですね。
「何をしたいのか」を明確にして、それを生成AIに正確に伝える。そして、生成された数式をPower BI上で確認し、必要に応じて修正する。これからのデータ分析では、このようなAIとの組み合わせも非常に重要になってきます。
それでは、実際にDAX式の基本的な入力方法を確認してみましょう。今回は、難しい計算をするわけではありません。「国」と「取引先名」という2つの列を使って、それぞれの値を結合してみましょう。
今回も、生成AIに質問してみました。「国」の列と「取引先名」の列を結合する式を聞くと、「&」を使えばよいと教えてくれます。
それでは、Power BIに戻りましょう。テーブルビューで「取引先マスタ」を選択した状態で、「テーブル ツール」から「新しい列」をクリックします。すると、空の列が追加され、数式バーが表示されます。
生成AIの出力結果を参考にして、数式バーに次のように入力してみましょう。
結合 = [国] & "_" & [取引先名]
Enterで確定すると、「韓国_ソウル商事」「日本_札幌商事」のように、2つの列の値を結合した新しい列が作成されました。
作成した列は、ほかの列と同じように、グラフの軸やスライサーとして使うことができます。ぜひいろいろな結合や計算を試してみてください。