年初来合計を計算することは、収入を追跡する際によく行われるタスクです。幸いなことに、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

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

リスト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

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

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

興味深いことに、今回の DAX コードははるかにシンプルです。
- 最初の行はメジャーのデフォルト名です。
- 2 行目では、TOTALYTD 関数を使用して、年ごとの金額値を計算します。
参照: Microsoft Power BI Desktop で複雑な計算のためのクイックメジャーを追加する方法について説明します。
単純な累計メジャーはSalesテーブルから金額と日付を取得し、YTD累計メジャーはSalesテーブルから金額を取得し、Dateテーブルから日付を取得していることに気づいたかもしれません。これは、ファクトテーブルSalesに年の値がないためです。ここで、この記事の冒頭で説明した関係性が作用します。
実は、単純な累計にはデータテーブルの日付列も使用できます。日付が重複している場合は、単純な累計を求める際に日付列を使用することをお勧めします。
ファクトテーブルに重複した日付があり、ファクトテーブルのSalesDate列を使用する場合、メジャーは重複した日付から計算を再開し、累計の中に累計が返されます。これは必ずしも望ましい結果とは限りません。そのため、累計を追加する際には、2つのテーブル間の関係性を理解することが重要です。
DAXコードを自分で書く前に、どんなクイックメジャーが使えるか必ず確認することをお勧めします。その機能の多さに驚くかもしれません。