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 所有。中文翻译、案例、习题由 计划工程师 独立创作。

广告位 · 合作联系