You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Power BI中计算两个独立表的月度收支差值(利润)

最优实现方法:计算月度利润(收入-支出)

针对你提到的两张分组求和后的收支表(多对多关系),以下是不同场景下的最优实现方案:

一、数据库SQL实现(最适合多对多关系场景)

核心用全连接(FULL JOIN) 结合COALESCE处理空值,确保所有月份数据都被保留:

  1. 假设表结构:

    • 收入表:year_month(年月格式,如'2024-01')、total_income(月度总收入)
    • 支出表:year_month、total_expense(月度总支出)
  2. 执行SQL语句:

SELECT
    COALESCE(i.year_month, e.year_month) AS year_month,
    COALESCE(i.total_income, 0) AS total_income,
    COALESCE(e.total_expense, 0) AS total_expense,
    COALESCE(i.total_income, 0) - COALESCE(e.total_expense, 0) AS profit
FROM
    income_table i
FULL JOIN
    expense_table e ON i.year_month = e.year_month
ORDER BY
    year_month;
  • 说明:
    • FULL JOIN:保留所有存在收入或支出的月份,避免遗漏数据
    • COALESCE:将空值替换为0,避免计算时出现NULL结果
    • 按年月排序后得到规整的结果表

二、Excel/Google Sheets实现

用XLOOKUP或VLOOKUP+IFERROR完成数据匹配:

  1. 操作步骤:

    • 提取唯一年月:将两张表的年月列合并,用UNIQUE函数去重,生成完整的年月列表
    • 匹配月度收入:在收入列输入=XLOOKUP(年月单元格, 收入表年月列, 收入表总收列, 0),无数据时返回0
    • 匹配月度支出:同理输入=XLOOKUP(年月单元格, 支出表年月列, 支出表总支出列, 0)
    • 计算利润:直接用「收入单元格 - 支出单元格」即可
  2. 示例公式(假设年月列表在A2:A10):

    • B2(总收入):=XLOOKUP(A2, 收入表!A:A, 收入表!B:B, 0)
    • C2(总支出):=XLOOKUP(A2, 支出表!A:A, 支出表!B:B, 0)
    • D2(利润):=B2-C2
    • 下拉填充得到所有月份结果

三、Python Pandas实现(适合大数据量或自动化需求)

用外连接合并表,填充空值后计算利润:

import pandas as pd

# 读取两张分组后的表(假设已加载为DataFrame)
income_df = pd.read_csv("income_table.csv")
expense_df = pd.read_csv("expense_table.csv")

# 按年月外连接合并,保留所有月份
merged_df = pd.merge(income_df, expense_df, on="year_month", how="outer")

# 空值填充为0,计算利润
merged_df["total_income"] = merged_df["total_income"].fillna(0)
merged_df["total_expense"] = merged_df["total_expense"].fillna(0)
merged_df["profit"] = merged_df["total_income"] - merged_df["total_expense"]

# 按年月排序
merged_df = merged_df.sort_values("year_month").reset_index(drop=True)

# 输出或保存结果
print(merged_df)
# merged_df.to_csv("profit_table.csv", index=False)

内容的提问来源于stack exchange,提问作者Henrique Oliveira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 21:45:00