Skip to content

5.4 更新结果到 P6 · 建立风险调整基线

阅读提示: 本章深入讲解如何将 PRA 风险分析结果(P80 日期、关键度指数、工期敏感度等)回写到 P6 数据库,以及如何管理多个版本的风险基线。前提是已完成数据库连接的配置。所有菜单、按钮、字段名保留英文原文。

风险分析的真正价值不在于"算出概率",而在于将分析结果嵌入日常项目管理流程。本章教你如何把风险量化的成果——P80 日期、关键度指数、成本分位数——写回 P6,让它成为计划工程师和项目经理看得见、用得到的数据。


输出映射(Output Mappings)

输出映射就是将 PRA 的风险结果字段映射到 P6 的用户自定义字段。映射分为两个级别:活动级(Activity Level)和项目级(Project Level)。

建议的活动级输出字段

Oracle 建议在 P6 中新建以下用户字段来存储风险输出数据:

风险输入字段(从 P6 到 PRA)

P6 新建用户字段PRA 字段数据类型
Risk Input - Minimum DurationMinimum DurationStart Date
Risk Input - Likely DurationLikely DurationStart Date
Risk Input - Maximum DurationMaximum DurationStart Date
Risk Input - Duration FunctionDuration FunctionText
Risk Input - Duration CorrelationDuration CorrelationText
Risk Input - Probabilistic BranchProbabilistic BranchText
Risk Input - Task ExistenceTask ExistenceNumber
Risk Input - Resource FunctionsResource FunctionsText
Risk Input - Minimum / Likely / Maximum Expense通过导入映射创建分布Number
Risk Input - Minimum / Likely / Maximum Labor通过导入映射创建分布Number
Risk Input - Minimum / Likely / Maximum NonLabor通过导入映射创建分布Number
Risk Input - Minimum / Likely / Maximum Material通过导入映射创建分布Number

风险输出字段(从 PRA 到 P6)

P6 新建用户字段PRA 字段数据类型
Risk - P80 Start DateP80 Start DateStart Date
Risk - P80 Finish DateP80 Finish DateStart Date
Risk - P50 Start DateP50 Start DateStart Date
Risk - P50 Finish DateP50 Finish DateStart Date
Risk - Mean Start DateRisk Mean Start DateStart Date
Risk - Mean Finish DateRisk Mean Finish DateStart Date
Risk - Criticality IndexCriticality IndexNumber
Risk - Duration SensitivityDuration SensitivityNumber
Risk - Duration CrucialityDuration CrucialityNumber
Risk - Cost SensitivityCost SensitivityNumber

建议的项目级输出字段

P6 项目用户字段PRA 风险结果说明
Project User Cost 14 & 15选定分位数 - 项目成本如 P50 Cost、P80 Cost
Project User End Date 1 & 2选定分位数 - 项目完成日期如 P50 Finish、P80 Finish
Project User Number 10满足项目完成日期的概率Deterministic Finish Probability
Project User Number 9满足最新基线日期的概率Baseline Finish Probability
Project User Number 8满足项目成本的概率Deterministic Cost Probability
Project User Number 7满足预算成本的概率Budget Cost Probability

更新操作步骤

前提条件

关键前提:更新前,务必在 P6 中关闭目标项目。如果项目在 P6 中处于打开状态,更新可能部分失败。

操作流程

步骤操作
1在 PRA 中完成风险分析
2`File
3配置输出映射(使用 Add / Remove 按钮调整)
4点击 Update Now
5在警告对话框中选择 Yes(确认覆盖)
6按提示登录 P6 数据库
7等待更新完成

更新内容范围

PRA 可以更新到 P6 的数据包括:

类别具体内容级别
风险输出P50/P80 日期、Mean 日期、Criticality Index、Duration/Cost Sensitivity、Duration Cruciality活动级
风险输出项目完工日期分位数、项目成本分位数、完工概率项目级
风险输入Minimum / Maximum 工期等(将 PRA 中的修改同步回 P6)活动级

风险输入也可以反向更新——如果你在 PRA 中调整了某些活动的 Min/Max Duration 或 Duration Correlation,这些修改可以写回 P6,保持两边数据一致。

映射编辑注意事项

  • 无法编辑已有映射行:必须先用 Remove 删除旧映射,再 Add 新映射
  • 只能修改目标 P6 字段:不能修改 PRA 侧的源字段
  • 建议使用统一命名前缀:所有风险相关字段加 Risk -Risk Input -` 前缀,方便查找和管理

图:设置风险值映射到 P6


在 P6 中查看更新的结果

活动级结果查看

创建「Risk Outputs」布局:

步骤操作
1P6 中打开项目 → Activities 视图
2右键列头 → Columns... → 添加风险输出列
3`View

推荐的输出列组合:

内容用途
Activity ID活动编号唯一标识
Activity Name活动名称描述
Original Duration原工期对比基准
Risk - P50 FinishP50 完成日期中位数风险评估
Risk - P80 FinishP80 完成日期保守风险评估
Risk - Criticality Index关键度指数优先级排序
Risk - Duration Sensitivity工期敏感度风险驱动力识别

创建「Risk Output - Dates」布局(带甘特图条):

步骤操作
1右键甘特图区域 → Bars...
2添加两个条:P50 Start→Finish(绿色)、P80 Start→Finish(橙色)
3Row 值设为 2 和 3(避免与确定性 Plan Bar 重叠)
4`View

现在甘特图中可以看到:

  • Plan Bar(第一行):P6 确定性进度
  • P50 Bar(第二行):50% 置信度的风险调整进度
  • P80 Bar(第三行):80% 置信度的风险调整进度

图:P6 甘特图中确定性进度下方的 P50 和 P80 风险进度条

项目级结果查看

方法一:导入预置布局

步骤操作
1P6 中 `Enterprise
2`View
3选择 PRA 安装目录 Others 文件夹中的 Risk - Project Level Results.plf
4Open → Available to: All Users → Save → Apply

方法二:手动配置

步骤操作
1P6 中 `Enterprise
2`View
3添加 User Defined 列,使用 Edit Column 修改标题
4OK

手动配置完成后,Project 屏幕会以类似表格的形式显示项目级风险结果。


风险基线的版本管理

将 P80 日期写回 P6 后,就拥有了两套进度日期:

日期类型来源含义
确定性日期(Deterministic Dates)P6 进度计算单一值,不考虑不确定性
P80 风险日期(P80 Dates)PRA 蒙特卡洛模拟80% 置信度下不晚于此日期
P50 风险日期(P50 Dates)PRA 蒙特卡洛模拟中位数,50% 置信度

版本管理策略

建议建立以下版本命名规范:

版本标识内容更新频率
vYYYYMM_PlanP6 确定性计划每次进度更新后
vYYYYMM_Risk_P50风险分析 P50 结果每次风险分析后
vYYYYMM_Risk_P80风险分析 P80 结果每次风险分析后
vYYYYMM_Risk_Report完整风险分析报告每次风险分析后

为什么要管理多个版本

  1. 趋势分析:观察 P80 延期量是收窄还是扩大(风险是在被消化还是在累积)
  2. 业主沟通:用 P80 日期作为内部底线,避免对外承诺太紧
  3. 变更管理:重大范围变更后对比新旧 P80 日期,量化变更对风险的影响
  4. 审计追溯:保留每次风险分析的完整记录

实操建议

  • 在 P6 中建立专用的 "风险输出"视图,一键切换到 P80 甘特图
  • P80 日期列可作为 P6 中新建 Baselines 的日期来源
  • 每月更新后,比较上月和本月的 P80 日期差异

P6 中的进度计算差异处理

Import Check 的工作原理

每次从 P6 导入项目到 PRA 时,PRA 会在 Import Check 工作表中显示两类日期对比:

检查列来源对比目标
Start CheckP6 计算的开始日期PRA 计算的开始日期
Finish CheckP6 计算的结束日期PRA 计算的结束日期

可能出现差异的原因:

原因表现是否影响分析
导入前未在 P6 中做进度计算大量活动差异否(但不便于排查真差异)
零工期活动Finish 差 1 天
P3 项目中的 Expected FinishFF 逻辑被覆盖
SF(开始-完成)逻辑关系调度结果不一致可能
PRA 不支持的调度选项具体看差异项视情况

务必在 P6 中先做进度计算(F9)再导出/导入! 如果导入的是未做进度计算的项目,Import Check 会产生大量"人为差异",掩盖真正的调度不一致问题。

PRA 不支持的 P6 调度选项

P6 调度选项PRA 处理方式
Ignore relationships to and from other projects不读取。单项目导入时显示警告并施加约束模拟
Make open-ended activities critical不自动支持。可手动设置 Always Critical 约束
Use Expected Finish Dates不读取。PRA 中 Expected Finish 不覆盖 FF 逻辑(P6 v6/v7 同)
Schedule automatically when a change affects dates不读取。PRA 默认自动调度
Level resources during scheduling不读取。手动使用 Plan
Recalculate assignment costs after scheduling不读取。PRA 始终重新计算
Actual Dates(进度更新方式)不支持。仅支持 Retained Logic 和 Progress Override
Compute Total Float asPRA 始终取 Total Start Float 和 Total Finish Float 中较小者

调度选项详解

进度覆盖方式

PRA 支持以下两种方式处理已开始但尚未完成的作业:

方式行为适用场景
Retained Logic(保留逻辑)剩余工期严格按原逻辑关系执行大多数工程场景(推荐)
Progress Override(进度覆盖)忽略原逻辑关系,剩余工期尽可能早开始需紧急赶工时

PRA 不支持 P6 的 Actual Dates 选项。

计算 SS Lags 的起始点

支持两种方式:

  • Actual Start:从实际开始时间计算 Start-to-Start 滞后
  • Early Start:从最早开始时间计算

PRA 会读取 P6 中此选项的设置。

定义关键路径

PRA 支持两种方式(不读取 P6 设置):

方式PRA 中设置路径
Total Float ≤ X days(默认 0)`Plan
Longest Path(最长路径)`Plan

实战案例:某 EPC 项目的风险基线建立

案例:中东某燃气电站 EPC 项目的风险基线管理

项目背景

中东某 2×650MW 燃气联合循环电站 EPC 项目,合同金额 $5.2 亿,合同工期 28 个月(含 2 个月调试)。P6 Professional 管理约 4,500 条作业。业主合同要求:每季度提交风险量化分析报告,并提供 P80 置信度工期

风险基线构建策略

基线类型日期来源用途更新频率
BL1 - Contract(合同基线)合同里程碑对外(业主)不变(除非变更令)
BL2 - Deterministic(确定性基线)P6 进度计算对内(计划)月度
BL3 - P50 Risk(风险中位数基线)PRA 分析 → P6 回写对内(控制)季度
BL4 - P80 Risk(风险保守基线)PRA 分析 → P6 回写对内(底线)季度

季度更新流程

  1. P6 中完成季度进度更新(实际日期、剩余工期、变更单更新)
  2. 导出当前 Data Date 的 P6 状态 → PRA 打开
  3. 重新评估风险数据:
    • 已完成活动:移除不确定性(已无风险)
    • 正在进行的活动:调整 Min/Max 范围(部分风险已消除)
    • 未来活动:根据最新外部条件更新分布参数
  4. 运行风险分析(1000 次迭代)
  5. 对比本季度 BL3/BL4 与上季度:
    • P80 延期缩小 → 风险管理有效
    • P80 延期扩大 → 需重点关注原因
  6. 更新 BL3/BL4 到 P6:File | Primavera | Update Primavera P6 Project...`
  7. 在 P6 中切换到 "Risk Output - Dates" 视图,确认 BL3/BL4 甘特条显示正确

四个季度的趋势数据

季度BL2 确定性完工BL3 P50 完工BL4 P80 完工P80-BL2 差距趋势
Q1-20242025-06-152025-09-202026-01-05+6.7 月初始基线
Q2-20242025-08-012025-11-102026-02-15+6.5 月轻微改善
Q3-20242025-10-012025-12-202026-03-10+5.3 月风险收窄
Q4-20242025-12-152026-02-012026-03-25+3.3 月显著改善

BL2 确定性完工日期也在推迟——说明实际施工进度也有延误。但 P80-BL2 差距从 6.7 月降至 3.3 月,说明剩余风险的不确定性正在被消化

向业主的报告策略

报告内容使用的基线理由
合同里程碑完成百分比BL1 vs Actual合规要求
进度偏差分析BL2 vs Actual项目管理层面
风险量化报告BL3 & BL4不向业主展示——仅内部控制用
向业主承诺的预计完工日期BL2 + 经验缓冲基于确定性基线外加管理评估,避免直接暴露 P80 日期

踩坑记录

  • **坑1:**第一次更新回 P6 时,只映射了 P80 Finish 日期,漏了 P80 Start。导致 P6 甘特条的 P80 条只有结束端正确、开始端用的是确定性开始日期——两个 P80 条看起来"不成比例"。教训: 映射时 P80 Start 和 P80 Finish 成对配置。
  • **坑2:**某季度更新后 P6 中 P80 日期全部显示为 N/A。排查发现 PRA 分析选项中 "Create Task Percentiles" 被误关掉了。教训: 建立分析 Checklist,每次运行前确认关键选项。
  • **坑3:**P60 结果从 PRA 看是 2025-06-01,但更新到 P6 后显示 2025-06-02。原因是 P6 的日历与 PRA 的日历存在 1 天差异(P6 在某些假日定义上不一致)。教训: 更新后用 Import Check 交叉验证,容许 ±1 天的舍入差异。

成果总结

12 个月的季度更新后:

  • P80 延期从 6.7 月缩小到 3.3 月——风险驱动因素在项目执行中被逐步消除
  • 风险分析成为季度管理评审会的规定议题,Top 10 关键活动列入重点监控清单
  • P6 中的 P80 甘特图视图成为项目控制团队的标准工作视图

本章小结

要点一句话
输出映射将 PRA 结果(P80 日期、关键度、敏感度)映射到 P6 用户字段
两级映射活动级(每条作业的风险输出)+ 项目级(整体完工概率和分位数)
更新前提P6 中关闭目标项目,避免更新失败
映射编辑Remove → Add,不可直接编辑已有映射
P6 查看"Risk Outputs" 布局看数字,"Risk Output - Dates" 布局看甘特图条
版本管理BL1 合同基线 + BL2 确定性基线 + BL3 P50 + BL4 P80
趋势分析每期对比 P80 延期量是扩大还是缩小
调度差异Import Check 排查差异,导入前务必在 P6 中做 F9 进度计算

英文原版内容版权归 Oracle Corporation 所有。中文翻译、案例、习题由 计划工程师 独立创作。

广告位 · 合作联系