2024 Power BI 学習記録など

メリークリスマス

皆さん、メリークリスマスです。
今年も、あっという間に一年が過ぎようとしています。
2024年はAIの進化のスピードが速い事に本当に驚かされた年でもありました。
娘が先にchatGPTを使い始めて、その便利さを聞くにつれ、私も使ってみたいと思い色々やってみました。
その中で、今までどうしても前になかなか進めなかったPower BIについての学習にとても良い事があったので書き留めておこうと思います。

Power BIを学び始めたばかりの方たち、学んでもなかなか進めない私のような人たちにもおすすめだと思います。
2024年にPowerBI学習としてやってみた事、読んでみた本などと一緒に記録しておきます。

Udemyで学んだこと

実は、何年も前からUdemyでPower BI関係のレッスンを受講していました。
でも、最後まで終了できたのは石川さんのレッスンだけでした。
他にどんなレッスンを購入していたかというと、

とかでしたが、いかんせん英語が苦手で今一つ理解できませんでした。
英語をなんとか翻訳しようと努力もしましたが、Power BI関連の英文を日本語訳すると用語まで適当な日本語にされてしまって、かえって何を言っているのかわからなくなるという始末。途中で断念してしまう大きな理由でした。
このレッスンを終了できずにいるまま、今年また新たにレッスンを始めました。
それが、こちらです。

前回購入した方と同じ先生です。
Aaron Parry(アーロン・パリー)氏は、ビジネスインテリジェンス(BI)とマーケティング分析の分野で10年以上の経験を持つ、プロフェッショナルなアナリティクスコンサルタントであり、Microsoft Power BIの専門家です。Maven Analyticsのパートナー兼最高顧客責任者(CCO)であり、リードPower BIインストラクターとして活動しています。さらに、彼はMedium上で「Learning Data」というシリーズを執筆しており、Power BIの活用方法やデータ分析に関する記事を公開しています。彼の教育スタイルは、実践的でプロジェクトベースのアプローチを重視しており、受講者が実際のビジネスシナリオで必要となるスキルを習得できるよう設計されています。Aaron Parryさんは、データ分析の初心者から上級者まで、幅広い層に向けて質の高い教育コンテンツを提供していることで知られています。
ChatGPTを使ったこんなコースもあるようです。
chatGPT and Power BI
AChatGPTとPower BIを組み合わせて、データ分析の効率を向上させ、よりスマートな意思決定を行う方法を学ぶコースです。

私が学習しているコースもとても分かりやすいと思います。
DAXについてのレッスン、当然オールEnglishでしたが、chatGPTを利用して学んだら、今までになくとても分かりやすかったので今日はその辺りを書こうと思います。技術的な内容ではないので、まだ勉強を始めたばかりの人たちにちょっとでも役に立てたら嬉しいです。


このコースではDAXについて学ぶ事ができます。
今まで英語が苦手な私は、英語でのレッスンや書籍を読むのは大変でした。
ただでさえ、Power BIについて理解が浅いのに、英語を日本語訳すると用語もすべて日本語化されてしまうので、その文章は支離滅裂でなにがなんだかわからない状態でした。ところがchatGPTに翻訳してもらう事で、飛躍的に理解しやすくなりました。
最初に「あなたは、Power BIのインストラクターです。」と定義しておくことで、Power BIでよくつかう用語をPower BI的に翻訳してくれます。
それだけでなく、どんな場面で使用するかなど例題もしめしてくれます。

例えば Iterator とはどういう意味か?と聞くと普通に検索して調べていた時は

イテレータ(iterator)とは?意味をわかりやすく簡単に解説 – trends

イテレータとは
プログラミングに関係する専門用語であるイテレータ(反復子)とは、データ集合の要素に順番にアクセスするための仕組みです。

イテレータは繰り返し処理を行う際に次の要素を指し示すためのポインタのようなもので、for文やwhile文でよく使用されます。

例えば、リストや配列、辞書などのデータ構造に対してイテレータを使用することで、全ての要素に簡単かつ効率的にアクセスできます。

また、データ構造から要素を取り出すための標準的なインターフェースを提供することでアルゴリズムとデータ構造を分離するのに役立ちますので、様々なデータ構造に対して同じ処理を適用することが可能となりコードの再利用性や保守性が向上します。

イテレータは効率的なデータ処理を実現するために広く活用されており、特に大規模なデータセットを扱う際にはイテレータを使用することでメモリ使用量を抑えつつ、高速な処理が可能となります。

ITデジタル用語のオンライン辞典より

などでした。これだと何のことかよく理解できませんでした。
でもchatGPTだと、こんな風に返してくれます。

Power BIでのIterator(イテレーター)の意味

Power BIでは、DAX(Data Analysis Expressions)関数の一部として、イテレーター関数が登場します。これらは、行ごとに計算を行い、その結果を集計する際に使用されます。


イテレーター関数の特徴

  • 行ごとにカスタム計算を実行:
    • 通常の集計関数(SUMAVERAGEなど)は、特定の列全体を直接計算します。
    • イテレーター関数(SUMXAVERAGEXなど)は、各行ごとに計算を行い、その結果を集計します。
  • テーブルを操作:
    • イテレーター関数は、まずテーブルのすべての行を処理し、それぞれの行で計算を実行します。
  • 柔軟な計算:
    • 列を使ったシンプルな集計だけでなく、複雑な計算式も使用可能です。

Power BIでのイテレーター関数の例

1. SUMX

  • 概要: テーブル内の各行で計算を行い、その結果を合計します。
  • : 売上(Revenue)に割引(Discount)を適用した合計を計算する。 Total Revenue After Discount = SUMX( Sales, Sales[Revenue] * (1 - Sales[Discount]) )
    • 各行で Revenue * (1 - Discount) を計算し、その合計を返します。

2. AVERAGEX

  • 概要: テーブル内の各行で計算を行い、その平均を求めます。
  • : 売上ごとの利益率(Profit / Revenue)の平均を計算する。 Average Profit Margin = AVERAGEX( Sales, Sales[Profit] / Sales[Revenue] )
    • 各行で利益率を計算し、その平均を返します。

3. MAXX

  • 概要: テーブル内の各行で計算を行い、その中で最大値を返します。
  • : 各商品の売上(Revenue)の最大値を取得する。 Max Revenue = MAXX( Sales, Sales[Revenue] )

通常の関数との違い

通常の関数イテレーター関数
列全体を対象とする行ごとに計算を行う
入力: 列のみ入力: テーブルと計算式
シンプルな計算向け複雑なカスタム計算が必要な場合

使用される場面

  1. 行ごとに異なる計算をしたい場合:
    • 各行で利益率や割引後の価格を計算する。
  2. カスタム集計が必要な場合:
    • 列の単純な合計や平均ではなく、計算後の値を基に集計を行いたいとき。
  3. 複雑な計算ロジックを適用したい場合:
    • 売上に基づいて条件を変える計算など。

まとめ

Power BIでの**イテレーター(Iterator)**とは、行ごとに計算を行い、その結果を集計するためのDAX関数を指します。SUMXAVERAGEXMAXXなどが代表例です。

具体的なケースや式のサンプルが必要であれば、さらに詳しく説明します!😊

なんて素敵!ただ、英語をそのまま翻訳された日にはそこからまた調べるの連続で2年前は途中であきらめてしまいましたが、今は仕事の合間にですが、少しずつ進めています。また、途中で小テストなどもでますが、質問を翻訳して解説してもらいながら進めています。いままでうっすらこうかなぁと思ってきたことが、詳しい説明もしてくれて納得しながら学習できます。

例えば先ほどchatGPTの答えのなかで、もう少し詳しく SUMとSUMXやAVERAGEとAVERAGEX  の違いについて知りたいと質問してみると

SUM / AVERAGESUMX / AVERAGEX の違い

SUMAVERAGE と、SUMXAVERAGEX の主な違いは、どのように計算を行うか行コンテキストの扱い方にあります。以下に、それぞれの違いを分かりやすく説明します。


1. SUMAVERAGE

概要

  • 列全体の合計または平均を計算するシンプルな関数です。
  • 特定の列を指定するだけで、フィルターコンテキストに基づいた計算を行います。
  • 行ごとの計算(行コンテキスト)を直接的には扱いません

使い方

Total Sales = SUM(Sales[Amount])
Average Sales = AVERAGE(Sales[Amount])

動作の仕組み

  • SUM: 指定した列(Sales[Amount])のすべての値を合計します。
  • AVERAGE: 指定した列のすべての値の平均を計算します。

適用例

  • 売上金額の合計や平均を単純に計算したい場合。

2. SUMXAVERAGEX

概要

  • 行ごとに計算を実行した後、それを合計または平均する関数です。
  • 行コンテキストを理解し、各行でカスタム計算を実行できます。

使い方

Total Profit Margin = SUMX(Sales, Sales[Profit] / Sales[Revenue])
Average Profit Margin = AVERAGEX(Sales, Sales[Profit] / Sales[Revenue])

動作の仕組み

  1. SUMXAVERAGEX は最初に指定されたテーブル(この例では Sales)の各行に対して計算を実行します。
  2. 行ごとの計算結果をまとめて合計(SUMX)または平均(AVERAGEX)を取ります。

適用例

  • 売上ごとの利益率(Profit ÷ Revenue)など、列単位では直接計算できない値を使いたい場合。

SUM / AVERAGESUMX / AVERAGEX の比較

機能SUM / AVERAGESUMX / AVERAGEX
目的列全体を対象に合計・平均を計算行ごとにカスタム計算を実行後、合計・平均を計算
入力列名のみテーブルと式(各行で計算する式)
行コンテキストの扱い行コンテキストを理解しない行コンテキストを理解する
使い方の例SUM(Sales[Amount])SUMX(Sales, Sales[Profit] / Sales[Revenue])
用途単純な合計や平均の計算複雑なカスタム計算が必要な場合

具体例での比較

データ例

ProductRevenueProfit
A10030
B20050
C30090

1. SUM

Total Revenue = SUM(Sales[Revenue])
  • 100 + 200 + 300 = 600
    結果: 600

2. SUMX

Total Profit Margin = SUMX(Sales, Sales[Profit] / Sales[Revenue])
  • 行ごとの計算:
    • Product A: 30 / 100 = 0.3
    • Product B: 50 / 200 = 0.25
    • Product C: 90 / 300 = 0.3
  • 合計: 0.3 + 0.25 + 0.3 = 0.85
    結果: 0.85

結論

  • SUM / AVERAGE: 単純に列全体の合計や平均を求める場合に使用します。
  • SUMX / AVERAGEX: 行ごとに計算を行い、その結果を集計する場合に使用します。

この違いを理解すると、DAXでのカスタム計算がより簡単になります!😊
追加の質問があればお気軽にどうぞ!

と、ここまで具体例までだして教えてくれます。まさに、私の専属インストラクターのようです。

おかげで、すごーく前から加賀田さんお勧めのこの本を、なかなか読めずにいましたが、こちらも少しずつ読み進めています。

kindleのWEB版を使用しながら、すすめています。

AIにまつわるニュースが沢山あふれた2024年。chatGPTが話題になった時は自分にあまり関係あるように感じませんでしたが、こんな風に学習できるようになるとは思ってもみませんでした。ちなみに私は課金してchatGPT Pro を使用しています。速くて丁寧な解答でとても便利です。
残念ながら今年中にレッスンを終えられるか微妙ですが、来年の目標はもう一つ購入しているレッスンを終了することです。

オフライン勉強会 Power BI名古屋

今年のオフライン活動では、久しぶりにPower BI勉強会 名古屋に参加できたことです。
私は2018年だったと思いますが初めて参加させていただいたのが「Power BI勉強会 758」でした。
そこからここまで様々な出会いの中で、今日があります。
8月に行われたこの、Power BI勉強会名古屋では、Excel界から 大御所 田中亨先生も登壇というスペシャルな会でした。
私にとっても、お世話になっている方々が勢ぞろいの会となりそういう面でも嬉しい勉強会となりました。

コロナでめっきり減ってしまったオフラインの勉強会ですが、やっぱりいいですね。なんていうか士気があがります。
勉強しよっってきもちになりますね。来年もぜひ名古屋でお目にかかれるよう頑張りたいと思います。
そこで何かしらLT枠などで発表できるようになりたいなと思います。
私、来年還暦なのでその記念にWW

そして、来年こそ自分の会社の中にPower BIを使って何かしら作ってみたいと思います。
最近は、PowerPlatform製品や、Power BIといった言葉を知ってますといってくださる人が増えました。
先日、教室の子どものお母さんが仕事で使っていますとおっしゃってくださって、一緒に勉強会しましょうという話になりました。
身近な人たちと学べる楽しみが増えました。そんな事を楽しみに新年を迎えたいと思います。

最後にもう一度、みなさんメリークリスマス!
今年も大変お世話になりました。引き続き来年もどうぞよろしくお願いいたします。
よいお年をお迎えください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA