Appearance
5.2 XER 文件风险教程 · 三步完成离线分析
阅读提示: 本教程使用 PRA 自带的样例文件
TutorialPrimaveraWithRiskData.xer,无需安装 P6 软件即可完成全部操作。所有菜单路径和按钮名称保留英文原文。
XER 文件方式是 PRA 风险分析的最低门槛入口——不需要 P6 安装,不需要数据库配置,只要有一个 .xer 文件就能做完整的风险分析。本章带你走通全部流程:打开项目 → 配置映射 → 运行模拟 → 解读结果。
教程概述
使用 XER 文件进行 P6 项目风险分析只需要 PRA 软件即可,无需额外的软件安装或配置。
本教程包含三个步骤:
- 在 PRA 中打开 XER 项目
- 运行风险分析
- 解读风险结果
如果需要打印参考,PRA 安装目录下的 Documentation 文件夹提供了 PDF 格式的教程文档。
教程准备
PRA 自带一个预置了完整风险数据的 XER 样例文件。打开方式:
Help | Open Samples...
找到 TutorialPrimaveraWithRiskData.xer 并点击 Open。
该文件通常安装在
C:\Program Files\Oracle\Primavera Risk Analysis\Samples目录下。
这个文件包含一个名为 "HOUSE" 的住宅建造项目(房屋翻新工程),作业中已预填了三点估算工期、概率分支、工期相关性和费用风险数据。
第一步:打开 XER 项目
导入选项设置
打开 XER 文件后,会弹出 Primavera XER Import Options 对话框:
| 设置项 | 选择 | 说明 |
|---|---|---|
| Planning Unit | Day | 按天导入 |
| One day equals | 8 hours | 样例项目日历为 8 工作小时/天 |
| Organize by WBS | 勾选 | 按 WBS 结构组织项目 |
XER 文件可包含多个项目。此样例只有一个项目 "HOUSE"。
点击 OK 后进入字段映射设置。
配置输入映射
样例 XER 文件中部分活动的用户自定义字段已填入风险数据。要使用这些数据,需要设置正确的映射关系。
Tasks 选项卡映射:
将 P6 用户字段映射到 PRA 的风险输入字段:
| PRA 字段 | 映射来源 |
|---|---|
| Minimum Duration | P6 中对应用户字段(最小工期) |
| Likely Duration | P6 中对应用户字段(最可能工期) |
| Maximum Duration | P6 中对应用户字段(最大工期) |
| Duration Correlation | P6 中对应用户字段(工期相关性) |
| Duration Function | P6 中对应用户字段(分布函数) |

注意:XER 文件只包含有值的用户字段。如果某个用户字段在 P6 中创建了但没有为任何活动赋值,则该字段不会出现在 XER 文件中,PRA 的映射下拉列表中也就无法选择该字段。这是 XER 格式的限制。
Probabilistic 选项卡映射:
| PRA 字段 | 映射来源 |
|---|---|
| Probabilistic Branch | P6 中对应用户字段(概率分支) |
| Task Existence | P6 中对应用户字段(任务存在概率) |
打开项目
点击 OK 开始导入。导入完成后出现 Save As 对话框,使用默认名称和位置保存,或自行修改。
如果勾选了 "Organize by WBS",可能需要在甘特图中展开顶层作业才能查看详情——双击最左侧的加号展开全部子活动。

Import Check 验证
导入完成后,PRA 会加载默认工作区 Primavera.wkspc`,其中包含 Import Check 工作表。
| 验证列 | 内容 |
|---|---|
| Start Check | P6 开始日期 vs PRA 开始日期的差异 |
| Finish Check | P6 结束日期 vs PRA 结束日期的差异 |
| 灰色条(Graphical) | P6 进度日期 |
| 灰色条上方条 | PRA 进度日期 |
里程碑或零工期活动可能有 1 天的差异——这不影响分析结果。
查看已导入的风险数据
两种方式:
- 查看所有风险输入:
Risk | Risk Summary - 查看单项活动的风险数据:点击活动 → 在 Task Details 中选择 Risk and Uncertainty 选项卡
点击 Risk Inputs 工作表查看甘特图列中的已导入不确定性数据。
第二步:运行风险分析
启动分析
Risk | Run Risk Analysis 或点击工具栏按钮。
配置分析选项
点击 Options... 打开 Risk Analysis Options 对话框,设置以下参数:
| 选项 | 推荐设置 |
|---|---|
| Number of Iterations | 1000(或按项目复杂度调整) |
| Create Task Percentiles | 勾选(生成 P50/P80 日期) |
| Resource level after each iteration | 按需启用 |
配置分位数
点击 Percentiles... 按钮,设置需要计算的分位数值:

例如设置 P50 和 P80,PRA 会在每次迭代后计算并保存这些分位值到活动用户字段中。
开始分析
点击 Analyze 按钮启动蒙特卡洛模拟。
警告信息解读
分析启动后可能出现警告对话框:
"The duration for '0100 - Electrics fail' is outside the range of the distribution."
这是正常现象——概率活动的工期被设为零(在 P6 计划中),目的是让它们不影响项目的确定性完成日期。PRA 在建模概率活动时会在运行时动态插入。
同理适用于 '0140 - Dry Rot' 活动。

Step 模式 vs Complete 模式
| 模式 | 按钮 | 特点 |
|---|---|---|
| Step | Step | 每次迭代后重绘甘特图,可以观察活动出现/消失、关键路径变化 |
| Complete | Complete | 不重绘,运行速度快得多 |
建议: 用 Step 模式查看前几次迭代,确认分析按预期运行后,再用 Complete 模式完成剩余迭代。特别是可以观察概率活动(如 '0100 - Electrics fail' 和 '0090 - Electrics pass')交替出现和消失,以及项目成本和关键路径的实时变化。
第三步:解读风险结果
分布图(Distribution Graph)
分析完成后自动弹出 Distribution Graph。可显示以下维度的分布:
- Finish Dates(结束日期)
- Start Dates(开始日期)
- Durations(工期)
- Total Float(总浮时)
- Resources(资源)
- Costs(成本)
查看项目完工概率:
| 步骤 | 操作 |
|---|---|
| 1 | 选择 Finish Date 选项卡 |
| 2 | 右侧 Highlighters 区域查看 Deterministic Probability(确认性完工概率 = 19%) |
| 3 | 查看 80% 日期(P80 = 5 Jul) |
查看单个活动完工概率:
| 步骤 | 操作 |
|---|---|
| 1 | 从左侧任务树中选择活动(如 '0160 - Recover roof') |
| 2 | 查看 Deterministic Probability(19%) |
| 3 | 查看 80% 日期(P80 = 21 May) |
返回甘特图:关闭 Distribution Graph 即可。
风险输出列(Risk Outputs)
点击 Risk Outputs 工作表,甘特图列中显示如下指标:
| 指标 | 含义 |
|---|---|
| Criticality Index | 活动在关键路径上出现的频率(百分比)。越高越可能导致延期 |
| Duration Sensitivity | 活动工期与项目总工期之间的相关程度。越高越可能导致延期 |
| Cost Sensitivity | 活动成本与项目总成本之间的相关程度。越高越可能超支 |
| Task Existed | 概率活动在分析中出现的频率 |
解读要点: Duration Sensitivity 需要和 Criticality Index 结合看。一个高 Duration Sensitivity 但低 Criticality Index 的活动,说明工期波动大但不在关键路径上——实际影响可能有限。
P50 和 P80 甘特图
P50/P80 日期存储在活动的用户字段中(P50 Start、P50 Finish、P80 Start、P80 Finish)。
使用预定义视图:
| 步骤 | 操作 |
|---|---|
| 1 | 关闭 Distribution Graph |
| 2 | View |
| 3 | 勾选 "Insert View as New Sheet" |
| 4 | 选择 'Gantt Chart: P50 - P80 Markers' |
| 5 | 点击 OK |
现在可以看到显示 P50 和 P80 风险进度的条或标记。
前提条件:必须在分析选项中勾选Create Task Percentiles 才能生成这些日期。如果没勾选,用户日期字段不会被填充,也就无法绘制标记。
自定义任务条的设置可在 Format | Custom Task Bars` 中查看和修改。
龙卷风图(Tornado Graph)
龙卷风图可图形化显示 Duration Sensitivity、Cost Sensitivity、Criticality Index、Duration Cruciality 和 Schedule Sensitivity Index。
操作:Reports | Tornado Graph
选择 Duration Sensitivity 选项卡即可看到最可能影响项目完成的活动排名。

双击龙卷风图中的任一柱子可跳转到甘特图中对应的活动。
XER 文件的完整导入流程(参考用)
Step 1:从 P6 导出 XER
| 步骤 | 操作 |
|---|---|
| 1 | 在 P6 中打开目标项目 |
| 2 | `File |
| 3 | 选择 XER 格式,按导出向导完成 |
详细导出步骤请参考 P6 官方文档。
Step 2:在 PRA 中导入 XER
| 步骤 | 操作 |
|---|---|
| 1 | 启动 PRA |
| 2 | `File |
| 3 | 定位并选择 .xer 文件 |
| 4 | 如果 P6 中有用户字段存储风险数据,映射对应字段 |
| 5 | PRA 显示导入进度和警告 |
| 6 | PRA 加载工作区,显示 Import Check |
Step 3:运行风险分析
| 步骤 | 操作 |
|---|---|
| 1 | 如尚未映射风险数据,在 PRA 中手工输入或用 `Risk |
| 2 | `Risk |
| 3 | 生成 P50/P80 日期、Criticality Index、Sensitivity 等指标 |
实战案例:某高速公路项目 XER 风险分析
案例:西南某高速公路第3标段 XER 风险分析
项目背景
西南山区某高速公路第 3 标段(K45+000 ~ K78+500),全长 33.5km,包含 7 座桥梁、3 条隧道。合同工期 36 个月,合同金额 ¥18.7 亿。P6 计划有 3,200 条作业,由总包计划部维护。
分析需求
业主在中期检查时要求提供工期风险量化评估。总包方没有 P6-PRA 数据库直连环境(P6 在总部服务器上,现场只有客户端),于是选择 XER 方式。
操作步骤
- 总部导出 XER:File | Export` → XER 格式,导出工程主计划和 3 级 WBS
- 文件传输:3,200 条作业的 .xer 文件约 18MB,通过企业网盘传至现场
- 现场 PRA 导入:Planning Unit = Day,One day = 8h,Organize by WBS
- 输入风险数据:
- 桥梁基础:Min=80% / Likely=Original / Max=150%(雨季施工风险)
- 隧道开挖:Min=70% / Likely=Original / Max=200%(地质条件不确定)
- 路面铺装:Duration Quick Risk 批量设置 ±20%
- 概率分支:雨季道路中断(15% 概率,+15d)
- 运行分析:1000 次迭代,Risk Analysis Options 勾选 Create Task Percentiles
分析结果
| 指标 | 确定性计划 | 风险分析结果 | 结论 |
|---|---|---|---|
| 完工日期 | 2025-06-30 | P50 = 2025-08-15 | 有 50% 概率延期 1.5 个月 |
| 完工日期 | — | P80 = 2025-10-20 | 有 80% 概率在 10 月底前完工 |
| Top 3 敏感活动 | — | 隧道 K58 开挖(DS=0.68)、桥梁 5# 基础(DS=0.52)、K72 高边坡(DS=0.41) | 隧道和桥梁是关键风险驱动力 |
成果交付
生成的风险分析报告包含:
- 工期分布图(用于向业主展示 80% 置信度工期)
- 龙卷风图(识别 Top 10 风险驱动活动)
- P80 进度甘特图(作为内部控制的"风险预留基线")
- 结论建议:在隧道作业中预留 2.5 个月缓冲,桥梁基础预留 1 个月
教训
- XER 文件中 WBS 结构被正确导入,但部分自定义日历(雨季特殊日历)因 XER 格式限制丢失了细节。解决方案是让总部导出前在 P6 中将日历信息核对完整。
- 3,200 条作业导入耗时约 5 分钟(含映射配置),资源数据较大是主因。
本章小结
| 要点 | 一句话 |
|---|---|
| 最低门槛 | XER 方式只需 PRA,无需安装 P6 |
| 样例文件 | Help |
| 导入设置 | Planning Unit + One day equals + Organize by WBS |
| 字段限制 | XER 只含赋过值的用户字段,未赋值的字段不会出现 |
| Import Check | Start/Finish Check 列验证导入一致性,0 工期活动有 1 天差异属正常 |
| Step vs Complete | Step 逐迭代观察,Complete 快速完成 |
| 分布图 | 查看 Finish Date / Cost 分布和 P50/P80 值 |
| 龙卷风图 | 识别 Top 敏感活动,双击跳转对应作业 |
| P50/P80 甘特图 | 需勾选 Create Task Percentiles 才能生成 |
英文原版内容版权归 Oracle Corporation 所有。中文翻译、案例、习题由 计划工程师 独立创作。
