Microsoft Power BI で計算列を追加する方法 | TechRepublic

Microsoft Power BI で計算列を追加する方法 | TechRepublic
Samsung s8 上の Microsoft Power BI モバイル アプリ。
画像: dennizn/Adobe Stock

必要な情報がすべてテーブルにあるとは限りません。例えば、販売する製品の利益を知りたい場合、その値はテーブルレベルには保存されていない可能性があります。代わりに、製品の価格から製造コストや流通コストを差し引く式を使用する必要があります。通常、計算結果をテーブルに保存することはありません。むしろ、必要に応じて利益を返す式を使用します。

このチュートリアルでは、テーブルレベルでは保存されていない重要な情報を返す計算列を作成する方法を説明します。作成した計算列は、ビジュアライゼーションに追加したり、新しい列に基づいて新しいビジュアライゼーションを作成したりできます。

ジャンプ先:

  • 必要なもの
  • Power BI で計算列とメジャーのどちらを使用するかを決める方法
  • Power BI で計算列を追加する方法
  • Power BI でパーセンテージを含む計算列を追加する
  • IF関数を使った計算列を作成する方法
  • 関連テーブルの値を使用して計算列を作成する方法

1 Zohoアナリティクス

企業規模

企業規模ごとの従業員数

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

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

特徴

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

必要なもの

Windows 11 システムで Microsoft Fabric を使用して Power BI Desktop を使用しています。Power BI サービスは使用できますが、Fabric は必須ではありません。ただし、手順とスクリーンショットには微妙な違いがある可能性があります。

デモ用の.pbixファイル「AdventureWorks Sales」はGitHubからダウンロードできます。ダウンロードしたら、.pbixファイルをダブルクリックしてPower BIで開き、手順に従って操作するか、ご自身の.pbixファイルを使用してください。最終的な結果を少しだけ確認したい場合は、こちらのデモファイルをご覧ください。

Power BI で計算列とメジャーのどちらを使用するかを決める方法

Power BIのメジャーに馴染みのある方は、メジャーと計算列の違いについて疑問に思われるかもしれません。どちらもデータ分析式に基づいています。主な違いは、メジャーは通常、値バケットに追加することでビジュアライゼーションに追加されることです。一方、計算列はテーブルレベルの新しいフィールドであり、行、軸、凡例、グループに追加できます。

参照: Microsoft Power BI Desktop で複雑な計算用のクイックメジャーを追加する方法は次のとおりです。

計算列とメジャーは互換性があるように見えるかもしれませんが、実際にはどちらでも問題にならない場合もあります。どちらを使用するかを決める際には、状況が決定要因となります。

  • Power BI は視覚化でメジャーを使用し、フィルター適用後にメジャーを更新します。数式には、グループを評価するための集計関数が含まれることがよくあります。
  • Power BI はテーブル内のすべての行に計算列式を適用しますが、評価されるのは同一行内の値のみです。集計関数はありません。Power BI は結果の値をモデルに追加し、フィルターが適用される前に計算します。

計算列で何ができるのかがわかったので、計算列を作成してみましょう。

Power BI で計算列を追加する方法

計算列を追加する際、複数のテーブルを扱う場合は関連データを使用する必要があります。これらの値がすべて同じテーブルに存在する場合、リレーションシップは考慮されません。ここでは、計算列を使用して、デモ用の.pbixファイルのProductテーブルにある2つのフィールドに基づいて単純な利益率を計算します。これをご自身の作業に適用する際、2つ以上のテーブルを扱う場合は、モデルウィンドウでリレーションシップを確認してください。

製品テーブルに計算列を追加するには:

  1. フィールドペインで「Products」を右クリックし、「新しい列」を選択します。Power BI は新しい列にデフォルトで「列」という名前を付け、それに応じて数式バーを表示します。
  2. 数式バーに「Column =」を上書きして入力しますSimple Profit Margin = Product[List Price] - Product[Standard Cost]
  3. 左側のチェックマークをクリックして新しい列を追加します(図A)。Power BIによって新しい列が「フィールド」ペインに追加されます。

図A

Power BI データ メニューが開き、単純利益率が強調表示されます
Power BI の製品テーブルに計算列を追加します。

次に、新しいフィールドを視覚化で表示してみましょう。

  1. [視覚化] ペインで、[テーブル視覚化] をクリックします。
  2. 新しい計算列である「製品」、「標準原価」、「定価」、および「単純利益率」をチェックして、4 つのフィールドすべてをテーブルに追加します (図 B )。

図B

単純利益率関数を使用して Power BI のレポート データから作成されたテーブル
計算列をテーブル視覚化に追加します。

この簡単な数式は、定価から標準原価を差し引きます。製品テーブルをベースにビジュアライゼーションを作成し、そこに新しい列を追加すると、ユーザーがフィルターをクリックする前にPower BIが利益率を計算します。さらに、Power BIは利益値をモデルに保存するため、他のビジュアライゼーションで使用できます。

Power BI でパーセンテージを含む計算列を追加する

単純利益率の計算列では、適用された割引やその他の多くの要因は考慮されません。その名の通り、「単純」な利益率です。このままではこれらの値を見るだけではあまり役に立ちませんが、パーセンテージで表示すれば役立ちます。

各商品の利益率を返す計算列を追加しましょう。利益を単純にパーセンテージで表示すると分かりやすくなります。そのためには、図Cに示す数式を使用して、上記の手順を繰り返します。

Simple Profit Percentage = ('Product'[List Price] - 'Product'[Standard Cost]) / 'Product'[List Price]

図C

列の数式が入った Power BI の数式バー
列の数式を入力し、結果のフォーマットを変更します。

この列の形式を通貨からパーセンテージに変更するには、[フィールド] ウィンドウで [単純な利益パーセンテージ] を選択し、[列ツール] タブの [書式設定] グループの [形式] ドロップダウンから [パーセンテージ] を選択します。

参照:計算列を使用して Microsoft Power BI で利益率を計算する方法の詳細については、こちらをご覧ください。

この列を追加すると並べ替え順序が変わる可能性がありますが、心配はいりません。どちらの計算列も構造はシンプルですが、役立つ情報を返します。利益率は23%から64%以上までの範囲です。これは、最初の計算列で返された通貨利益よりもはるかに優れた情報です。幸いなことに、Power BIははるかに複雑な数式を処理できます。

IF関数を使った計算列を作成する方法

計算列はテーブル内のすべてのレコードの戻り値を評価します。しかし、だからといって結果をフィルタリングしたくないというわけではありません。幸いなことに、条件付きで結果を集計して、さらにフィルタリングを行うことは簡単です。

例として、利益率が40%を下回っているか上回っているかを示す計算列を追加してみましょう。まず、Productテーブルに新しい列を追加する手順を繰り返し、次の数式を入力します。

BenchmarkProfit = IF((Product[List Price] - Product[Standard Cost]) / Product[List Price] < .40,"Review","Good")

この単純な数式では、図 Dに示すように、利益率が 40% 以上であれば「Good」を返し、そうでない場合は「Review」を返します。

図D

Adding an IF function to the calculated column in Power BI
計算列で IF 関数を使用して条件値を返すことができます。

この時点で、並べ替えやフィルターを使用して、結果を希望どおりに表示できます。他の方法でも同様の操作は可能ですので、この状況では計算列が唯一の解決策ではありません。

ここまでで必要なものはすべて同じテーブルにありました。しかし、別のテーブルの値に依存する計算列を追加することもできます。計算列はテーブル内のすべてのレコードを評価するため、計算列よりも効率的な解決策があるかもしれません。

この柔軟性を示すために、2つの文字列を結合する計算列を追加してみましょう。具体的には、Salesテーブルに計算列を追加し、Salesテーブルの各レコードの商品名とサブカテゴリを表示します。サブカテゴリの値はProductテーブルに格納されています。

開始するには、ページ タブの近くにあるプラス記号をクリックして新しいページを追加し、次の操作を行います。

  1. フィールド ペインで、Sales テーブルを展開し、新しい列を追加するプロセスを開始します。
  2. 表示される数式バーに次のように入力します。ProductFullName = Sales[Product] & ": " & RELATED('Product'[Subcategory])
  3. 新しい列を追加するには、左側のチェックマークをクリックします (図 E )。

図E

A table in Power BI with a calculated column that draws data from a field in another table.
別のテーブル内のフィールドを参照する計算列を追加します。

この数式では、RELATED関数を使って、アクティブテーブル「Sales」に含まれていないテーブルを参照していることに気づくでしょう。この関数は関連テーブルのフィールドを参照し、現在の行を評価して値を返します。これで完了ですが、1つだけ条件があります。この関数を使用するには、両方のテーブル間に多対1のリレーションシップが必要です。リレーションシップが存在しない場合は、作成するか、別の解決策を見つける必要があります。幸いなことに、このリレーションシップは既に存在しています。

Tagged: