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

DAX:日期范围每日值汇总及Primavera P6 S曲线数据转换需求

处理流程与实现方案

一、从原始表格到按日拆分表格

核心计算规则

  • 活动持续天数:结束日期 - 开始日期 + 1(包含活动首尾两日)
  • 单日单活动成本:单项活动总成本 / 持续天数(遵循Primavera P6默认的均匀成本分摊逻辑)

代码实现(Python + Pandas)

假设原始数据为CSV格式,以下代码完成数据转换:

import pandas as pd
from datetime import timedelta

# 读取原始活动数据
raw_df = pd.read_csv("raw_activity_data.csv")
# 转换日期列格式
raw_df["开始日期"] = pd.to_datetime(raw_df["开始日期"])
raw_df["结束日期"] = pd.to_datetime(raw_df["结束日期"])

# 计算持续天数与单日成本
raw_df["持续天数"] = (raw_df["结束日期"] - raw_df["开始日期"]).dt.days + 1
raw_df["单日成本"] = raw_df["单项活动成本"] / raw_df["持续天数"]

# 拆分生成按日数据
daily_records = []
for _, row in raw_df.iterrows():
    # 生成活动覆盖的所有日期
    date_sequence = pd.date_range(start=row["开始日期"], end=row["结束日期"], freq="D")
    for date in date_sequence:
        daily_records.append({
            "Activity ID": row["Activity ID"],
            "日期": date.date(),
            "单日成本": row["单日成本"]
        })

# 转换为DataFrame并保存
daily_df = pd.DataFrame(daily_records)
daily_df.to_csv("daily_activity_cost.csv", index=False)

二、生成Primavera P6风格成本S曲线

曲线生成逻辑

  1. 按日期分组,汇总当日所有活动的总成本
  2. 计算每日累计成本(从项目开始日到当日的总成本累加)
  3. 以日期为横轴、累计成本为纵轴绘制折线图,即得到P6风格的S曲线

绘图代码(Python + Matplotlib)

import matplotlib.pyplot as plt

# 计算每日总成本与累计成本
daily_summary = daily_df.groupby("日期")["单日成本"].sum().reset_index()
daily_summary["累计成本"] = daily_summary["单日成本"].cumsum()

# 绘制S曲线
plt.figure(figsize=(12, 7))
plt.plot(daily_summary["日期"], daily_summary["累计成本"], color="#0066CC", linewidth=2, label="累计成本S曲线")
plt.xlabel("项目日期")
plt.ylabel("累计总成本")
plt.title("Primavera P6风格成本-日期S曲线")
plt.grid(True, linestyle="--", alpha=0.6)
plt.legend()
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()

三、相关研究文献

  • 《Primavera P6 for Construction Project Management》:深入讲解P6中成本加载、分摊规则及S曲线生成的底层机制,涵盖进度与成本的关联模型
  • 《Project Cost Control Using S-Curve Analysis》:对比包括P6在内的主流工具的S曲线应用,分析曲线在成本偏差预警、进度管控中的实践价值
  • 《Quantitative Analysis of Construction Project Cost S-Curve》:从统计学角度推导P6风格S曲线的拟合方法,验证均匀成本分摊下的曲线特征与应用场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 11:42:17