Microsoft Power BI で年初来累計を追加する方法

Microsoft Power BI で年初来累計を追加する方法

年初来合計を計算することは、収入を追跡する際によく行われるタスクです。幸いなことに、Power BI レポートに簡単に追加できます。これは累計の一種で、特定の年における値の発生に応じて加算または減算され、継続的に調整される合計です。このような合計が必要な場合、データ分析式のコードを求めてインターネットをくまなく探す必要はありません。どちらのタイプの累計にもクイックメジャーが用意されているからです。

このチュートリアルでは、Power BI のシンプルなデータセットに、単純な累計と年累計を追加する方法を説明します。Windows 11 64 ビットシステムで Microsoft Power BI を使用しており、シンプルな .pbix デモファイルをダウンロードできます。最初から作成したい場合は、データを含む .xlsx ファイルをダウンロードして、Power BI にインポートできます。

1 Zohoアナリティクス

企業規模

企業規模ごとの従業員数

マイクロ(0~49)、スモール(50~249)、ミディアム(250~999)、ラージ(1,000~4,999)、エンタープライズ(5,000以上)

あらゆる規模の企業 あらゆる規模の企業

特徴

アドホック分析、コラボレーションツール、ダッシュボードなど

Power BIでデータセットを準備する方法

デモ用に、一意の日付列を含むシンプルなデータセットを使用します。必要に応じて独自のデータを使用することもできますが、デモ用の日付は一意であるため、違いが顕著になります。独自のデータを使用する場合は、Dateテーブルを追加する必要はおそらくありません。Power BIファイル内に既に存在している可能性が高いからです。

参照: Microsoft Power Platformについて知っておくべきことは次のとおりです

図Aは、ファクトテーブル「Sales」とカスタム日付テーブル「Date」の関係を示しています。具体的には、「Sales Date」(「Sales」テーブル)と「Date」(「Date」テーブル)の間には1対1の関係があります。

図A

Power BI に 2 つのテーブルがあります。1 つは売上用、もう 1 つは日付用です。
デモ ファイルには 2 つのテーブルが含まれています。

図 B は、日付テーブルを作成するために使用されるリスト A の関数を示しています。

図B

ADDCOLUMNS 関数を使用して Power BI でカスタム日付テーブルを作成します。
この関数を実行してカスタム日付テーブルを作成します。

リストA

Date = ADDCOLUMNS ( CALENDAR (DATE (2020, 1, 1), DATE (2022, 12, 31)), "Year", YEAR([Date]), "MonthNumber", FORMAT([Date], "MM"), "Quarter", FORMAT ([Date], "Q" ), "DayOfWeek", FORMAT ([Date], "dddd" ) )

日付テーブルで最も重要な部分はYEAR関数です。ファクトテーブルには2021年と2022年の日付が含まれているため、この関数は2021年から2022年までの日付を返します。CALENDAR関数を使用した場合のように2020年を含める必要はありませんが、含めても問題ありません。ただし、独自の日付テーブルを作成する際にこの関数が正しく機能するには、データ内の既存の年の値を考慮する必要があります。

日付テーブルについて詳しくない場合は、「Power BI の使用時に自動日付テーブルが適切かどうかを確認する方法」または「Microsoft Power BI で日付テーブルを作成する方法」をお読みください。

テーブルと関係が整えば、データの分析を開始する準備が整います。

参照: Power BI でダッシュボードを作成する方法を学習します

Power BIで単純な累計を計算する方法

さて、図Cに示すシンプルなテーブルビジュアライゼーションに累計を追加するように求められたとします。必要なDAXコードを自分で作成しようとするかもしれませんが、Power BIには累計を計算するクイックメジャーが用意されているので、その必要はありません。

図C

グラフ メニュー アイコンが丸で囲まれた Power BI のデータセット。
このデータセットに実行合計を追加してみましょう。

データセットに累計メジャーを追加するには、レポート ビューで次の操作を行います。

1. データ ペインで Sales テーブルをクリックして、このテーブルにメジャーを追加します。

2. [表ツール] コンテキスト タブをクリックします。

3. [計算] グループで、[クイック測定] をクリックします。

4. 表示されるダイアログで、「計算」ドロップダウンから「実行合計」を選択します。

5. 必要に応じて、データ ペインで Sales テーブル (右側) を展開し、Amount フィールドを Base Value バケットに追加します。

6. SalesDate フィールドをフィールド バケットに追加します (図 D )。

図D

累計のクイックメジャーを設定します。
累計のクイックメジャーを設定します。

7. 「追加」をクリックします。

Power BI によって、Sales テーブルにクイックメジャーが追加されます(図 E)。データ ペインでクイックメジャーにチェックを入れると、テーブルの視覚エフェクトに追加されます。DAX コードを表示するには、数式バーのドロップダウン矢印をクリックします。新しい列では、すべてのレコードの現在の値が前の合計に加算されていることがわかります。

図E

このローリング合計列を追加するのにほとんど手間はかかりませんでした。
このローリング合計列を追加するのにほとんど手間はかかりませんでした。

参照: Microsoft Power BI で計算列を追加する方法をご覧ください

基礎となるDAXコードを調べる

クイック メジャーはコードよりも実装がはるかに簡単なので、基礎となる DAX コードがどのように動作するかを少し見てみましょう。

  • 最初の行はデフォルト名です。データ ペインでメジャーを右クリックし、[名前の変更] を選択すると変更できます。
  • SUM 関数は、クイック メジャーの作成時に指定した Sales テーブルの Amount フィールドを評価します。
  • FILTER 関数は少し驚くかもしれませんが、現在の値と上記のすべてを指定して大変な作業を行うのは ISONORAFTER 関数です。

確かに、多くのことが行われています。そのため、DAX コードを自分で記述する前に、簡単な対策を確認することをお勧めします。

ここで、Power BI が YTD 列を返すために何を提供しているかを見てみましょう。

参照: Microsoft Power BI で DAX の基本を学びましょう

Power BIで年累計を計算する方法

YTD合計は、同じ年の値を持つ値を評価します。ここでは、新しい年の値に遭遇すると0にリセットされ、最初からやり直す別のクイックメジャーを使用します。これは累計に似ていますが、1つの連続した累計ではなく、一連の累計です。幸いなことに、累計と同じくらい簡単に作成できます。

1. データ ペインで Sales テーブルをクリックして、このテーブルにメジャーを追加します。

2. [表ツール] コンテキスト タブをクリックします。

3. [計算] グループで、[クイック測定] をクリックします。

4. 表示されるダイアログで、「計算」ドロップダウンから「年累計」を選択します。

5. Sales テーブル (右側) を展開し、Amount フィールドを Base Value バケットに追加します。

6. Date テーブルを展開し、フィールド バケットに Date を追加します (図 F )。

図F

YTD クイックメジャーを設定します。
YTD クイックメジャーを設定します。

7. 「追加」をクリックします。

新しいメジャー「Amount YTD」をビジュアライゼーションに追加します(図G)。返される値は、2022年2月17日までは累計列の値と同じであることに注目してください。これは、年が2021年から2022年に変わったためです。

図G

YTD メジャーは、いつ計算を 0 にリセットして最初からやり直す必要があるかを認識します。
YTD メジャーは、いつ計算を 0 にリセットして最初からやり直す必要があるかを認識します。

興味深いことに、今回の DAX コードははるかにシンプルです。

  • 最初の行はメジャーのデフォルト名です。
  • 2 行目では、TOTALYTD 関数を使用して、年ごとの金額値を計算します。

参照: Microsoft Power BI Desktop で複雑な計算のためのクイックメジャーを追加する方法について説明します

単純な累計メジャーはSalesテーブルから金額と日付を取得し、YTD累計メジャーはSalesテーブルから金額を取得し、Dateテーブルから日付を取得していることに気づいたかもしれません。これは、ファクトテーブルSalesに年の値がないためです。ここで、この記事の冒頭で説明した関係性が作用します。

実は、単純な累計にはデータテーブルの日付列も使用できます。日付が重複している場合は、単純な累計を求める際に日付列を使用することをお勧めします。

ファクトテーブルに重複した日付があり、ファクトテーブルのSalesDate列を使用する場合、メジャーは重複した日付から計算を再開し、累計の中に累計が返されます。これは必ずしも望ましい結果とは限りません。そのため、累計を追加する際には、2つのテーブル間の関係性を理解することが重要です。

DAXコードを自分で書く前に、どんなクイックメジャーが使えるか必ず確認することをお勧めします。その機能の多さに驚くかもしれません。

Tagged: