Appearance
附录D · 练习题答案
基础题
第1题
PRA 读取 P6 项目的两种方式:
XER 文件方式:
- 优势:无需安装 P6 软件,操作简单,入门门槛低
- 局限:只能读取不能回写(单向导入);资源始终以单项资源方式导入,无法按类别汇总
数据库直连方式:
- 优势:支持双向读写(读取风险输入 + 回写分析结果);可按 Labor/Non-Labor/Material/Expense 汇总资源
- 局限:需要 P6 已安装并配置好连接(通过 Connection Wizard)
第2题
在 P6 中打开任意项目后,运行:Tools | Primavera Risk Analysis
此命令会生成 BREBootStrap.xml 配置文件,PRA 通过此文件实现 Native Connection。文件位置可通过 PRA 中的 Help | Support Files | Show Application Data Folder 查看。
如果不打开任何项目,该菜单命令会呈灰色不可用状态。
第3题
XER 文件只包含被赋过值的用户字段。如果在 P6 中创建了该字段但没有为任何活动赋值,导出 XER 时该字段不会被写入文件,PRA 自然无法在映射下拉列表中显示。
解决方法:在 P6 中确保至少有一条活动在该字段中有值,然后重新导出 XER。
第4题
Duration Dependent(工期依赖): 适用于劳动力(Labor)和非劳动力(Non-Labor)成本,因为工期越长,投入的人力和设备越多,成本越高。这些成本随工期成比例变化。
Duration Independent(工期独立): 适用于材料(Material)和费用(Expense)成本,因为这些是固定量——材料用量不变,不管工期是 10 天还是 20 天。
同一作业可以同时使用两种类型,这在工程实践中很常见。
第5题
必须在 P6 中关闭目标项目。如果项目在 P6 中处于打开状态,PRA 更新时可能部分失败。
进阶题
第6题
PRA 中的 P80 Cost 等于 50,000 × 汇率 的 P80 值。
原因:PRA 始终使用 P6 的 Base Currency(基准货币)。P6 数据库中以 Base Currency 存储实际值。本例中 Base Currency = USD,Viewing Currency = EUR,所以即便 P6 界面显示 50,000,数据库实际存储值是 50,000 × 汇率 ≈ 某个美元数值。PRA 从数据库读取的就是这个美元值。
如果要避免换算混乱,建议将 P6 的 Base Currency 与 Viewing Currency 设为一致。
第7题
三种优化措施:
- 增大 Connection Timeout:从默认值调到 120-180 秒或更高,给大项目足够的加载时间
- 调整 Batch Size:设为 1024(Oracle 推荐值),一次性加载更多数据减少往返次数
- 如果是远程连接,尝试 Compression 模式(压缩传输)或排查网络瓶颈(带宽、延迟)
- 资源导入选择按类别汇总(Import Activity Costs summarized as...),而不是导入全部单项资源,大幅减少数据量
第8题
排查步骤:
- 确认第三个活动不是零工期活动(零工期活动差 1 天是正常的)
- 检查该活动的逻辑关系类型——如果是 SF(开始-完成)类型,PRA 与 P6 之间可能有调度差异
- 检查该活动是否有 PRA 不支持的约束类型(如 Expected Finish、Secondary Constraint)
- 在 P6 中检查该活动的日历设置是否特殊(如不同的工作日历、假日定义)
- 确认该活动是否依赖于跨项目链接(单项目导入时跨项目链接会被忽略并施加约束模拟)
- 如果仍有疑问,可用
Reports | Schedule Check Report生成详细报告
第9题
合理。 这是一个典型的高 Duration Sensitivity + 低 Criticality Index 的活动。
解读:
- Criticality Index = 0%:该活动在 1000 次迭代中从未出现在关键路径上。它有足够的 Total Float,延期不会立即影响项目完工。
- Duration Sensitivity = 0.65:该活动的工期波动与项目总工期的波动有较强的统计相关性(r = 0.65),但这不一定意味着它是关键路径活动。
可能的解释:该活动虽然不是关键路径活动,但它的工期波动与其他关键活动的工期波动存在共变关系(例如受同一资源或工序连锁影响)。也可能是样本中部分迭代该活动接近关键路径(虽然未在关键路径上),造成统计相关性。
项目管理建议:不要只看 Duration Sensitivity 就判定活动风险高——必须结合 Criticality Index 综合判断。该活动只需常规监控,不需要额外资源投入。
第10题
P6 用户字段命名规范:
输入字段:RiskInput_[类型]_[内容]
RiskInput_Dur_Min(最小工期)RiskInput_Dur_Likely(最可能工期)RiskInput_Dur_Max(最大工期)RiskInput_Dur_Function(工期分布函数)RiskInput_Dur_Corr(工期相关性)RiskInput_Prob_Branch(概率分支)RiskInput_Task_Exist(任务存在概率)
输出字段:RiskOutput_[类型]_[内容]
RiskOutput_Date_P50Start(P50 开始日期)RiskOutput_Date_P50Finish(P50 完成日期)RiskOutput_Date_P80Start(P80 开始日期)RiskOutput_Date_P80Finish(P80 完成日期)RiskOutput_Date_MeanStart(平均开始日期)RiskOutput_Date_MeanFinish(平均完成日期)RiskOutput_CI(关键度指数)RiskOutput_DS(工期敏感度)RiskOutput_CS(成本敏感度)RiskOutput_DCruc(工期关键度)
四个版本基线:
| 基线 | 定义 | 来源 | 更新频率 |
|---|---|---|---|
| BL1 Contract | 合同里程碑日期 | 签署的合同文件 | 仅在变更令时修改 |
| BL2 Deterministic | P6 进度计算得出 | P6 F9 | 月度 |
| BL3 P50 Risk | 50% 置信度风险日期 | PRA 分析 → 回写 P6 | 月度或季度 |
| BL4 P80 Risk | 80% 置信度风险日期 | PRA 分析 → 回写 P6 | 月度或季度 |
综合应用题
第11题
需要准备的数据和图表:
- 工期分布图(Distribution Graph - Finish Date):向管理层直观展示完工日期的不确定性范围
- 龙卷风图(Tornado Graph - Duration Sensitivity):识别对完工日期影响最大的 Top 10 活动
- 风险输出表:列出 Top 20 敏感活动及其 Criticality Index、Duration Sensitivity
- P80 甘特图:与 BL1(合同基线)和 BL2(确定性计划)叠加对比
- 关键路径变化分析:对比确定性关键路径和 P80 风险关键路径的差异
- 预算风险分析(Cost Distribution):如有成本风险数据,同步展示成本超预算概率
在 P6 中展示 P80 风险进度的操作步骤:
- 确认风险分析已完成:PRA 中勾选了 Create Task Percentiles,P50/P80 日期已生成
- PRA 中执行更新:
File | Primavera | Update Primavera P6 Project... - 配置活动级输出映射:P80 Start → UDF_P80_Start,P80 Finish → UDF_P80_Finish,P50 Start → UDF_P50_Start,P50 Finish → UDF_P50_Finish
- 点击 Update Now 完成回写
- 打开 P6 → Activities 视图 → 创建 "Risk Output - Dates" 布局
- 右键甘特图 → Bars... → 添加 P50 条(绿色)和 P80 条(橙色),Row 设为 2 和 3
- 现在甘特图中可以看到三层条:
- 第一行:确定性进度(Original Plan Bar)
- 第二行:P50 风险调整进度(50% 概率不晚于此)
- 第三行:P80 风险调整进度(80% 概率不晚于此)
P80 延期扩大的解释和建议:
如果 P80 延期从 5.2 月扩大到 6.8 月,从以下维度分析:
数据层面:
- 对比两期 Top 10 敏感活动的变化——哪些新增的高风险活动导致了延期扩大?
- 确认是否有外部因素:新发现的现场条件、供应商延期、天气影响
- 确认输入数据是否正确:是否某个月的三点估算被异常修改导致了系统性偏移?
管理层面:
- 识别 P80 延期扩大的根因驱动因素:是新风险出现,还是原有风险加大?
- 评估是否有可控的缓解措施:对 Duration Sensitivity 最高的 3-5 个活动制定专项应对方案
- 考虑是否需要增加资源投入或调整施工方案来压缩关键路径
报告建议:
- "P80 延期从 5.2 月扩大到 6.8 月,主要原因是 X 活动因 Y 因素风险加大(DS 从 0.45 升至 0.72)"
- "建议对 Top 5 敏感活动实施专项管控,增加周进度审查频率"
- "即使采取缓解措施,建议内部预留 7 个月缓冲"
第12题
XER 文件中的日历信息会被 PRA 保留吗?
部分保留。XER 文件包含日历的基本结构信息(工作日定义、标准假日),但:
- 不支持 "Make nearest workday a holiday" 选项
- "hours per day" 设置不记录在 XER 文件中(默认 = 8 小时/天,需手工确认)
- 日历中非工作时间的精度在导入时会被 PRA 的 Planning Unit(Day/Hour/Quarter Hour)舍入
日历丢失/变化的影响:
- 如果 "hours per day" 设置不一致(如 P6 中 10h/day,PRA 默认 8h/day),所有工期换算会出现系统性偏差
- 特殊日历(如雨季日历中的每日非工作时间段)如果丢失,活动工期可能被错误计算
- 舍入导致的微小差异通常不影响分析结果,但会让 Import Check 产生额外差异项
验证和处理方法:
- 导入前向总包确认 P6 项目的 "hours per day" 设置值,导入时手动设为一致
- 导入后重点检查 Import Check 工作表——如果差异集中在使用了特殊日历的活动上,说明日历信息有丢失
- 核对几个代表性活动的工期值:在 P6(通过总包提供的信息)和 PRA 中分别查看,确认是否一致
- 如果日历差异较大且无法修复,调整策略:在 PRA 中重新设置受影响活动的三点估算范围来补偿日历差异
- 向总包反馈:请求导出时包含完整的日历定义信息(或使用数据库直连方式避免此问题)
英文原版内容版权归 Oracle Corporation 所有。中文翻译、案例、习题由 计划工程师 独立创作。
