Financial Reporting in Power BI: P&L, Balance Sheet, Cash Flow

Build complete financial statements in Power BI — Profit & Loss, Balance Sheet, and Cash Flow waterfall — with DAX time intelligence formulas and CFO-ready dashboard design.

E
ECOSIRE Research and Development Team
|2026年3月19日6 分で読める1.3k 語数|

Power BI での財務報告: 損益計算書、貸借対照表、キャッシュ フロー

静的な Excel 財務パッケージを Power BI ダッシュボードに置き換えた CFO は、月末締めの報告時間が 60 ~ 80% 短縮されたと報告しています。その理由は、手動で損益表を作成し、貸借対照表をフォーマットし、PDF を電子メールで送信する代わりに、取締役会メンバー、部門責任者、投資家といったすべての関係者が、関連するビューにフィルターされたライブ データを一度に公開しているためです。

Power BI での財務諸表の構築は、販売ダッシュボードや運用ダッシュボードの構築とはアーキテクチャ的に異なります。財務諸表には、正確な勘定科目のマッピング、セント単位での期間の比較、監査証跡の透明性が必要です。このガイドでは、データ モデル、口座分類、損益構造、貸借対照表の視覚化、キャッシュ フロー ウォーターフォール、およびそれらすべてを機能させる DAX タイム インテリジェンスの数式など、完全な実装を示します。

重要なポイント

  • 財務報告には GL トランザクション レベルのデータ モデルが必要です (事前に集計されたレポートの抽出ではありません)
  • 勘定科目分類表は、勘定科目表を損益/貸借対照表/キャッシュ フロー カテゴリにマッピングします。
  • 計算列を含む行列ビジュアルは、ステートメント形式に最適な Power BI ビジュアルです
  • タイム インテリジェンス: DATESYTD、SAMEPERIODLASTYEAR、および PARALLELPERIOD はすべての期間の比較を処理します
  • キャッシュフロー計算書は間接法を使用しています:純利益→運転資本調整→営業CF
  • 差異分析指標 (実績対予算) は管理レポートに不可欠です
  • 補助ディメンションの行レベルのセキュリティにより、各リーダーにどのエンティティが表示されるかを制御します
  • ページ分割されたレポート (Power BI レポート ビルダー) は、ボード パック用にピクセルパーフェクトなステートメントを PDF にエクスポートします。

財務報告用のデータ モデル

コアテーブル

GL_Transactions (ファクト テーブル — 仕訳入力行ごとに 1 行):

コラムタイプ説明
コード0テキスト仕訳または取引番号
コード0内部トランザクション内の行番号
コード0テキスト勘定科目表への FK
コード0日付取引日
コード0日付GL への投稿日
コード0テキスト会計期間 (例: "2026-03")
コード010 進数借方金額 (正)
コード010 進数クレジット金額 (正)
コード010 進数借方 - 貸方
コード0テキスト子会社へのFK
コード0テキスト部門へのFK
コード0テキストプロジェクトへの FK (オプション)
コード0テキスト取引メモ

勘定科目表 (ディメンション):

コラム説明
コード0内部アカウントコード
コード0口座番号を表示
コード0アカウント名
コード0資産、負債、資本、収益、費用
コード0流動資産、固定資産、原価、営業費用等
コード0損益計算書、貸借対照表、またはキャッシュ フロー
コード0収益、COGS、売上総利益、営業費用、EBITDA、純利益
コード0流動資産、固定資産、流動負債、長期負債、資本
コード0運営、投資、財務
コード0カスタムステートメントの順序付けの場合
コード0階層ロールアップの場合
コード0除外エントリのフラグ

予算 (オプションのファクトテーブル):

コラム説明
コード0勘定科目表への FK
コード0決算期
コード0予算額
コード0予算、予測、修正
コード0子会社へのFK

損益計算書の構造

損益計算書の勘定科目分類

損益セクションの構造では、勘定科目表を標準の損益カテゴリにマッピングする必要があります。

Revenue
  - Product Revenue
  - Service Revenue
  - Other Revenue
Cost of Goods Sold
  - Product COGS
  - Direct Labor
  - Manufacturing Overhead
= Gross Profit
Operating Expenses
  - Sales & Marketing
  - General & Administrative
  - Research & Development
  - Depreciation & Amortization
= EBITDA / Operating Income
Other Income / Expense
  - Interest Income
  - Interest Expense
  - Foreign Exchange
= Net Income Before Tax
  - Income Tax Expense
= Net Income

DAX による損益対策

// Core GL amount measure (handles sign convention)
GL Amount =
SUMX(
    GL_Transactions,
    SWITCH(
        RELATED(Chart_of_Accounts[AccountType]),
        "Revenue", GL_Transactions[CreditAmount] - GL_Transactions[DebitAmount],
        "Expense", GL_Transactions[DebitAmount] - GL_Transactions[CreditAmount],
        "Asset", GL_Transactions[DebitAmount] - GL_Transactions[CreditAmount],
        "Liability", GL_Transactions[CreditAmount] - GL_Transactions[DebitAmount],
        "Equity", GL_Transactions[CreditAmount] - GL_Transactions[DebitAmount],
        GL_Transactions[NetAmount]
    )
)

// Revenue
Total Revenue =
CALCULATE([GL Amount], Chart_of_Accounts[PLSection] = "Revenue")

// COGS
Total COGS =
CALCULATE([GL Amount], Chart_of_Accounts[PLSection] = "COGS")

// Gross Profit
Gross Profit = [Total Revenue] - [Total COGS]

// Gross Margin %
Gross Margin % = DIVIDE([Gross Profit], [Total Revenue], 0)

// Operating Expenses
Total OpEx =
CALCULATE([GL Amount], Chart_of_Accounts[PLSection] = "Operating Expense")

// EBITDA
EBITDA = [Gross Profit] - [Total OpEx]

// D&A (addback for EBITDA from EBIT)
DA Addback =
CALCULATE(
    [GL Amount],
    Chart_of_Accounts[AccountName] IN {"Depreciation", "Amortization"}
)

// Net Income
Net Income =
[EBITDA] +
CALCULATE([GL Amount], Chart_of_Accounts[PLSection] = "Other Income/Expense") -
CALCULATE([GL Amount], Chart_of_Accounts[PLSection] = "Tax Expense")

損益時間インテリジェンス

// Prior Year same period
PY Revenue = CALCULATE([Total Revenue], SAMEPERIODLASTYEAR(Date[Date]))

// YTD Revenue
YTD Revenue = CALCULATE([Total Revenue], DATESYTD(Date[Date]))

// Prior YTD Revenue
PY YTD Revenue = CALCULATE([YTD Revenue], SAMEPERIODLASTYEAR(Date[Date]))

// Budget Variance
Revenue Budget Variance =
[Total Revenue] -
CALCULATE(SUM(Budget[BudgetAmount]), Budget[ScenarioID] = "Budget")

// Budget Variance %
Revenue Budget Var % =
DIVIDE([Revenue Budget Variance],
    CALCULATE(SUM(Budget[BudgetAmount]), Budget[ScenarioID] = "Budget"), 0)

// Rolling 12-Month Revenue
R12M Revenue =
CALCULATE(
    [Total Revenue],
    DATESINPERIOD(Date[Date], LASTDATE(Date[Date]), -12, MONTH)
)

損益マトリックスのビジュアルデザイン

損益計算書に推奨されるビジュアルはマトリックスです。

  • : 損益項目 (Chart_of_Accounts[PLSection] からの小計)
  • : 期間 (月、四半期、YTD)
  • : 実際の金額、予算金額、差異 $、差異 %

マトリックスを構成します。

  1. セクションレベルで小計を有効にします (収益合計、COGS 合計など)。
  2. 条件付き書式を使用します: 赤 = 不利な差異、緑 = 有利
  3. Chart_of_Accounts[SortOrder] を介してカスタムの並べ替え順序を適用します。
  4. 数値のフォーマット: 千の場合は £#,##0K、パーセンテージの場合は 0.0%

貸借対照表の視覚化

貸借対照表の構造

Assets
  Current Assets
    - Cash and Equivalents
    - Accounts Receivable
    - Inventory
    - Prepaid Expenses
  Fixed Assets
    - Property, Plant & Equipment (net)
    - Intangible Assets
    - Goodwill
= Total Assets

Liabilities
  Current Liabilities
    - Accounts Payable
    - Accrued Expenses
    - Deferred Revenue
    - Short-term Debt
  Long-term Liabilities
    - Long-term Debt
    - Deferred Tax
= Total Liabilities

Equity
  - Common Stock
  - Retained Earnings
  - Additional Paid-In Capital
= Total Equity
= Total Liabilities + Equity

貸借対照表の DAX 対策

貸借対照表のメジャーでは、期間金額ではなく残高 (累計) が使用されます。開始から選択した日付までのすべての取引が使用されます。

// Balance Sheet uses cumulative amounts (not period totals)
BS Amount =
CALCULATE(
    [GL Amount],
    FILTER(
        ALL(Date),
        Date[Date] <= MAX(Date[Date])
    )
)

// Total Current Assets
Current Assets =
CALCULATE([BS Amount], Chart_of_Accounts[BSSection] = "Current Assets")

// Total Fixed Assets (net of depreciation)
Fixed Assets =
CALCULATE([BS Amount], Chart_of_Accounts[BSSection] = "Fixed Assets")

// Total Assets
Total Assets = [Current Assets] + [Fixed Assets]

// Total Current Liabilities
Current Liabilities =
CALCULATE([BS Amount], Chart_of_Accounts[BSSection] = "Current Liabilities")

// Total Equity
Total Equity =
CALCULATE([BS Amount], Chart_of_Accounts[BSSection] = "Equity")

// Balance Sheet Check (must equal 0 for a balanced BS)
BS Balance Check =
[Total Assets] - ([Current Liabilities] +
    CALCULATE([BS Amount], Chart_of_Accounts[BSSection] = "Long-term Liabilities") +
    [Total Equity])

// Key Ratios
Current Ratio = DIVIDE([Current Assets], [Current Liabilities], 0)
Quick Ratio =
DIVIDE(
    [Current Assets] -
    CALCULATE([BS Amount], Chart_of_Accounts[AccountSubType] = "Inventory"),
    [Current Liabilities],
    0
)
Debt to Equity = DIVIDE([Current Liabilities], [Total Equity], 0)

貸借対照表の視覚化パターン

ビジュアルを組み合わせて使用します。

  1. 完全な貸借対照表表の マトリックス (損益マトリックスと同じ構造)
  2. 資産対負債 + 資本の 積み上げ棒グラフ (12 か月にわたる傾向)
  3. 流動比率、当座比率、負債/資本の KPI カード
  4. 運転資本と目標の ゲージ

キャッシュフロー計算書(間接法)

間接法では、純利益から開始し、非現金項目と運転資本の変動を調整します。

Operating Activities:
  + Net Income
  + Depreciation & Amortization
  + / - Changes in Working Capital:
    + Decrease / - Increase in Accounts Receivable
    + Decrease / - Increase in Inventory
    - Decrease / + Increase in Accounts Payable
    - Decrease / + Increase in Accrued Expenses
= Net Cash from Operations

Investing Activities:
  - Capital Expenditures (PP&E additions)
  + Proceeds from Asset Sales
= Net Cash from Investing

Financing Activities:
  + Debt Proceeds
  - Debt Repayments
  - Dividends Paid
  + Equity Raised
= Net Cash from Financing

= Net Change in Cash
+ Beginning Cash Balance
= Ending Cash Balance

キャッシュフロー DAX 対策

// Period-over-Period change in Accounts Receivable
AR Change =
VAR CurrentAR = CALCULATE([BS Amount], Chart_of_Accounts[AccountSubType] = "Accounts Receivable")
VAR PriorAR = CALCULATE(
    [BS Amount],
    Chart_of_Accounts[AccountSubType] = "Accounts Receivable",
    DATEADD(Date[Date], -1, MONTH)
)
RETURN PriorAR - CurrentAR  // Decrease in AR = positive cash impact

// Change in Inventory
Inventory Change =
VAR CurrentInv = CALCULATE([BS Amount], Chart_of_Accounts[AccountSubType] = "Inventory")
VAR PriorInv = CALCULATE([BS Amount], Chart_of_Accounts[AccountSubType] = "Inventory",
    DATEADD(Date[Date], -1, MONTH))
RETURN PriorInv - CurrentInv

// Capital Expenditures (negative — cash outflow)
CapEx =
-CALCULATE(
    [GL Amount],
    Chart_of_Accounts[AccountSubType] = "Fixed Asset Addition",
    Chart_of_Accounts[CFSection] = "Investing"
)

// Net Cash from Operations
Operating Cash Flow =
[Net Income] +
[DA Addback] +
[AR Change] +
[Inventory Change] +
CALCULATE([GL Amount], Chart_of_Accounts[AccountSubType] = "Accounts Payable Change")

// Free Cash Flow
Free Cash Flow = [Operating Cash Flow] + [CapEx]

キャッシュ フロー ウォーターフォール チャート

ウォーターフォール チャートは、キャッシュ フローを視覚的に示す理想的なものです。

  1. キャッシュ フロー項目とその金額を含む計算表を作成します。
  2. ウォーターフォール チャート ビジュアルを使用する (Power BI に組み込まれている) 3.「増加」および「減少」カテゴリを設定して、各項目の寄与度を表示します
  3. 小計として「営業からの純キャッシュ」、「投資からの純キャッシュ」、「財務からの純キャッシュ」をマークします。 5.「期末現金残高」を合計としてマークします。

差異分析: 実績対予算対予測

// Scenario selector (works with a scenario slicer)
Selected Measure =
SWITCH(
    SELECTEDVALUE(Scenario[Scenario]),
    "Budget", SUM(Budget[Amount]),
    "Forecast", CALCULATE(SUM(Budget[Amount]), Budget[ScenarioID] = "Q2 Forecast"),
    [Total Revenue]  -- default to Actual
)

// Traffic light variance
Variance Status =
VAR Var% = [Revenue Budget Var %]
RETURN
SWITCH(TRUE(),
    Var% >= 0.05, "Favorable",
    Var% >= -0.05, "On Track",
    "Unfavorable"
)

よくある質問

Power BI は既存の ERP 財務報告モジュールを置き換えることができますか?

Power BI は、ほとんどの標準的な財務レポート (損益計算書、貸借対照表、キャッシュ フロー、AR エイジング) を、より柔軟で対話型の同等のレポートに置き換えることができます。ただし、法定財務諸表 (GAAP/IFRS 認定)、署名管理を備えた監査対応レポート、およびトランザクション転記機能は ERP に残ります。最適なアプローチ: トランザクション制御とコンプライアンスには ERP を使用し、管理レポートと取締役会レベルの分析には Power BI を使用します。

Power BI の損益が ERP と正確に一致していることを確認するにはどうすればよいですか?

最も一般的な調整の問題は符号規則です。ERP は収益アカウントの通常残高が貸方または借方のどちらであるかを定義し、Power BI は同じロジックを適用する必要があります。すべての総勘定元帳エントリ (借方 + 貸方) を合計するテスト メジャーを作成し、それがクローズされた期間でゼロに等しいことを確認します。次に、損益合計を ERP のネイティブ損益レポートと期間ごとに一致するまで比較します。

複数の子会社を 1 つの Power BI 財務レポートに統合できますか?

はい。これは、多くの ERP 財務報告モジュールに比べて、Power BI の大きな利点の 1 つです。 SubsidiaryID 列を使用してすべての子会社から GL データをインポートし、子会社全体を合計する連結メジャーを構築します。会社間消去の場合は、勘定科目表で会社間勘定科目にフラグを付け、連結メジャーから除外します。通貨換算には、取引日に結合された為替レート テーブルが必要です。

Power BI からボードパック品質の PDF レポートを作成するにはどうすればよいですか?

Power BI Report Builder (ページ分割されたレポート) は、プロフェッショナルな書式設定、改ページ、ヘッダー/フッター、正確な表レイアウトなど、ピクセル完璧な PDF 出力を作成します。これは Power BI Desktop とは別のものですが、同じデータセットを使用します。ボード パックの場合は、Word で管理コメントを作成し、ページ分割されたレポートを介して財務表を生成し、Power Automate を介して月次スケジュールで結合します。ページ分割されたレポートには、Power BI Premium または PPU ライセンスが必要です。

暦年と一致しない会計年度を処理する最善の方法は何ですか?

DAX または Power Query で、会計年度の開始月に基づいて Fiscal Year、FiscalQuarter、FiscalPeriod 列を含むカスタム日付テーブルを作成します。 Power BI でこのテーブルを日付テーブルとしてマークします。 DATESYTD を会計年度終了日パラメーターとともに使用します: CALCULATE([Revenue], DATESYTD(Date[Date], "3/31")) は、3 月の会計年度末の場合です。すべてのタイム インテリジェンス関数は、このオプションの年末パラメータを受け入れます。


次のステップ

Power BI の財務レポートには、運用ダッシュボードよりも慎重なデータ モデリングが必要です。勘定科目の記号規則、貸借対照表の累積ロジック、およびキャッシュ フロー間接法の計算はすべて正確に実装する必要があります。正しく実行すると、数週間にわたる Excel 作業を数分間の探索に置き換える CFO ダッシュボードが作成されます。

ECOSIRE は、Power BI の専門知識と会計および財務の深い知識を組み合わせています。当社の Power BI ダッシュボード開発サービス には完全な財務諸表設計が含まれており、会計サービス には財務ダッシュボードの信頼性を高めるデータ品質と勘定科目表の構造が含まれています。

財務分析チームにお問い合わせください して、財務レポートの要件について話し合い、経営陣に必要な財務の可視性を提供する Power BI アーキテクチャを設計します。

E

執筆者

ECOSIRE Research and Development Team

ECOSIREでエンタープライズグレードのデジタル製品を開発。Odoo統合、eコマース自動化、AI搭載ビジネスソリューションに関するインサイトを共有しています。

WhatsAppでチャット