您的资产维护数据模板
您的资产维护数据模板
- 完整的维护属性列表
- 需要跟踪的关键流程里程碑
- 详细的技术提取指南
资产维护属性
| 名称 | 说明 | ||
|---|---|---|---|
| 事件时间戳 EventTimestamp | 活动发生的具体日期和时间。 | ||
| 说明 此属性记录事件发生的准确时刻,例如状态变更或人工记录的时间。它为所有绩效分析提供时间维度,包括周期时间和持续时间计算。 准确的时间戳对于计算“平均规划与审批周期时间”和确保事件顺序正确至关重要。在Maximo中,它通常对应状态记录的变更日期。 为什么重要 用于按时间顺序排列事件,并计算所有基于时间的KPI。 获取位置 表:WOSTATUS,列:CHANGEDATE 示例 2023-10-12T08:30:00Z2023-10-12T14:15:00Z2023-10-13T09:00:00Z | |||
| 活动 Activity | 工单生命周期中发生的具体事件或状态变更。 | ||
| 说明 此属性表示维护流程中执行的步骤,例如“工单已批准”或“人工已记录”。在IBM Maximo中,它通常来源于历史表中的状态变更,或人工报告等特定交易日志。 它构成流程图中的节点,用于展示步骤顺序。通过分析这些值,组织可以识别流程变体、循环以及偏离标准维护程序的情况。 为什么重要 它定义了流程中的“做什么”,是构建流程图和理解工作流执行情况的基础。 获取位置 表:WOSTATUS(列:STATUS)或WOLOG 示例 APPRINPRGCOMPCLOSEWMATL | |||
| 维护工单 WorkOrderNumber | 维护工单的唯一字母数字标识符。 | ||
| 说明 此属性是维护流程的核心案例标识符。在IBM Maximo系统中,它可唯一标识每张工单,并将所有相关活动、人工交易和物料使用记录关联到同一项已执行作业。 在流程挖掘分析中,该ID用于将单个事件归组为完整案例。借助它,分析人员可以跟踪维护任务从创建初始请求、审批、执行到最终管理结案的端到端生命周期。 为什么重要 它是重建流程顺序流的基础键,可用于跨部门跟踪具体工作。 获取位置 表:WORKORDER,列:WONUM 示例 WO100234WO100235CM-99281PM-11002 | |||
| 最后数据更新时间 LastDataUpdate | 数据提取或最后刷新的时间戳。 | ||
| 说明 表示记录最近一次为流程挖掘处理或提取的时间。这有助于评估数据的新鲜度和可靠性,确保分析反映维护运营的最新状态。 此属性对于增量数据加载至关重要,也可用于验证仪表板是否显示最新的工单状态和积压情况。 为什么重要 对于了解数据延迟和新鲜度至关重要。 获取位置 提取时的系统时间 示例 2023-11-01T00:00:00Z2023-11-01T12:00:00Z | |||
| 源系统 SourceSystem | 数据来源系统的名称。 | ||
| 说明 用于标识数据记录的源应用。在此场景中,通常为“IBM Maximo”。当合并多个维护系统的数据,或与ERP数据集成时,这一属性尤其有用。 如果流程挖掘项目涉及多个CMMS实例组成的复杂系统环境,分析人员可以按记录系统筛选视图。 为什么重要 确保多系统环境中的数据血缘和可追溯性。 获取位置 提取时硬编码 示例 IBM MaximoMaximo PRODMaximo Legacy | |||
| 优先级 Priority | 为工单分配的紧急程度。 | ||
| 说明 表示工单重要性和紧急程度的数值或分类值。在Maximo中通常为数字,数值越小往往表示紧急程度越高(例如,1表示紧急)。 此属性用于确定积压工作的优先级,也是“关键资产SLA绩效”仪表板的基础。它有助于判断高优先级工作是否确实以相应速度处理,而不是与低优先级任务采用相同节奏。 为什么重要 支持分析组织是否将资源集中于最紧急的任务。 获取位置 表:WORKORDER,列:WOPRIORITY 示例 1234 | |||
| 实际人工工时 ActualLaborHours | 所有技术员在该工单上实际投入的总工时。 | ||
| 说明 汇总记录在工单上的全部人工时间。该指标用于检验资源实际使用情况,并支持“技术员利用率偏差”KPI。 它用于计算人工成本,并根据具体任务的历史实际执行时长,优化未来的作业计划。 为什么重要 是分析人工成本和效率的主要指标。 获取位置 表:WORKORDER,列:ACTLABHRS 示例 2.55.012.0 | |||
| 实际完成日期 ActualFinishDate | 实体工作完成的日期和时间。 | ||
| 说明 记录维护任务技术上完成的时间。这与工单的管理结案时间不同。将此日期与“目标完成日期”比较,即可计算SLA合规情况。 它用于“工单管理周期时间”仪表板,衡量作业完成与系统中完成文档关闭之间的延迟。 为什么重要 标志着技术执行阶段结束。 获取位置 表:WORKORDER,列:ACTFINISH 示例 2023-10-15T16:00:00Z2023-10-16T10:30:00Z | |||
| 工单类型 WorkType | 将工单分类为预防性维护(PM)、纠正性维护(CM)或紧急维护(EM)。 | ||
| 说明 此属性用于分类维护任务的性质。Maximo中的常见值包括PM(预防性维护)、CM(纠正性维护)和EM(紧急维护)。这一分类是“主动式与被动式维护”仪表板的基础。 通过按此属性筛选,分析人员可以计算“紧急维护占比”KPI,并识别维护策略是否从被动抢修转向计划性可靠性维护。 为什么重要 区分计划内和计划外工作,是衡量维护成熟度的关键指标。 获取位置 表:WORKORDER,列:WORKTYPE 示例 PMCMEMCPMOD | |||
| 当前状态 Status | 工单当前所处的生命周期状态。 | ||
| 说明 工单当前的管理状态(例如“APPR”“WAPPR”“COMP”)。Activity属性记录状态变更历史,而此属性记录已知的最终状态。 它可用于筛选数据集,仅显示“未关闭”或“已关闭”工单,支持“维护工作量分布”分析。 为什么重要 提供当前工作量和积压情况的快照。 获取位置 表:WORKORDER,列:STATUS 示例 APPRCLOSEINPRG | |||
| 指定技术员 AssignedResource | 负责执行工作的具体人员或首席技术员。 | ||
| 说明 用于标识负责工单的人员或首席技术员。该信息可来自“Lead”字段,也可根据人工分配记录推导。它支持“资源与承包商生产率”仪表板。 分析此属性有助于在“维护工作量分布”视图中识别工作量不均衡,并比较不同技术员或班组的效率。 为什么重要 是分析人员生产率和均衡工作量的关键属性。 获取位置 表:WORKORDER,列:LEAD(或来自ASSIGNMENT表) 示例 JSMITHBPATELMRODRIGUEZ | |||
| 目标完成日期 TargetCompletionDate | 工单计划或要求完成的截止日期。 | ||
| 说明 工单预计完成的日期。该日期通常根据优先级和创建日期计算,是“关键资产SLA绩效”仪表板的基准。 将此字段与“实际完成日期”比较,分析人员可以确定按时完成率,并识别哪些资产类别经常错过维护时间窗口。 为什么重要 用于衡量SLA遵循情况和计划合规性的基准。 获取位置 表:WORKORDER,列:TARGCOMPDATE 示例 2023-10-20T17:00:00Z2023-10-25T08:00:00Z | |||
| 资产关键性 AssetCriticality | 表示资产对业务运营重要程度的评分。 | ||
| 说明 资产记录中的分类值(通常为1至10或A、B、C),用于表示资产故障的影响程度。该属性必须关联到工单视图。 此属性是“关键资产SLA绩效”仪表板的必需字段,确保分析聚焦于最重要的对象:关键发电机的延迟应比休息室咖啡机的延迟受到更高权重。 为什么重要 支持按业务风险细分流程绩效。 获取位置 表:ASSET,列:PRIORITY(通过ASSETNUM关联) 示例 1510 | |||
| 资产编号 AssetNumber | 待维护设备或资产的唯一标识符。 | ||
| 说明 指作为维护对象的具体机器、车辆或设施部件。它将流程数据与实体资产层级关联起来,对于识别频繁发生故障的“问题资产”至关重要。 在“维护质量与返工率”分析中,此属性用于按资产汇总工单,计算平均故障间隔时间(MTBF),并识别长期存在的可靠性问题。 为什么重要 将流程执行与实体基础设施绩效关联起来。 获取位置 表:WORKORDER,列:ASSETNUM 示例 PUMP-101HVAC-02FLEET-99 | |||
| 位置 Location | 执行工作的功能位置或实体现场。 | ||
| 说明 指定资产所在的实体区域或功能位置代码。它比具体资产编号覆盖范围更广,有助于开展地理或区域分析。 在“维护工作量分布”仪表板中,该属性用于展示维护活动热点,并规划技术员在不同现场之间移动时的物流安排。 为什么重要 为物流和资源分配提供地理空间背景。 获取位置 表:WORKORDER,列:LOCATION 示例 BRILER-RMPLANT-AOFFICE-1 | |||
| 供应商 Vendor | 分配给工单的第三方承包商,如适用。 | ||
| 说明 用于标识负责维护任务的外部公司。外包工作时填写此字段。它是“承包商执行效率”KPI的关键属性。 分析此属性可以比较不同供应商之间,以及供应商与内部团队之间的绩效,包括成本、速度和质量。 为什么重要 支持供应商管理和外包绩效分析。 获取位置 表:WORKORDER,列:VENDOR 示例 ACME SERVICESSIEMENSFAST REPAIR INC | |||
| 实际总成本 TotalActualCost | 工单的人工、物料、服务和工具成本总和。 | ||
| 说明 表示维护任务造成的总体财务影响。在Maximo中,它由各项成本组成:人工+物料+服务+工具。 此属性支持基于成本的流程挖掘,将流程低效因素(如延迟或返工)直接与财务损失关联起来,并帮助识别成本最高的维护类型或资产类别。 为什么重要 将运营活动与财务结果关联起来。 获取位置 表:WORKORDER,列:ACTMATCOST+ACTLABCOST+ACTSERVCOST+ACTTOOLCOST 示例 150.002500.500.00 | |||
| 报告日期 ReportedDate | 问题首次报告或请求创建的日期和时间。 | ||
| 说明 表示维护需求首次被识别并录入系统的时间戳,是客户体验时间线真正的起点。 通过衡量从报告日期到实际开始工作的时长,它用于计算“平均规划与审批周期时间”,并帮助评估维护组织的响应速度。 为什么重要 为整个维护生命周期的响应性确立起点。 获取位置 表:WORKORDER,列:REPORTDATE 示例 2023-10-10T08:00:00Z2023-10-10T09:15:00Z | |||
| 故障代码 FailureCode | 描述资产故障原因的标准化代码。 | ||
| 说明 技术员选择的结构化代码,用于分类故障原因,例如“磨损”“电气故障”或“操作员错误”。这是根因分析(RCA)的重要依据。 汇总这些代码有助于工程团队识别资产群体中的系统性问题,推动“维护质量与返工率”分析,并为预防性维护策略调整提供依据。 为什么重要 是可靠性工程和故障分析的主要数据点。 获取位置 表:WORKORDER,列:FAILURECODE 示例 泄漏过热振动 | |||
| 是否紧急 IsEmergency | 表示工单是否为紧急工单的标志。 | ||
| 说明 根据工单类型或优先级计算的布尔标志。如果工单类型为“EM”(紧急)或优先级为1,则值为true。 此简化属性便于在仪表板中筛选紧急工单,无需在可视化层执行复杂逻辑即可查看“紧急维护占比”。 为什么重要 简化被动式维护分析的筛选。 获取位置 根据WORKTYPE计算 示例 truefalse | |||
| 是否违反SLA IsSlaBreached | 表示实际完成日期是否超过目标日期的标志。 | ||
| 说明 通过比较“实际完成日期”和“目标完成日期”计算的布尔字段。如果实际日期晚于目标日期,则值为true。 这一预计算指标简化了“关键资产SLA绩效”仪表板,无需在运行时计算日期差,即可立即统计未达标的SLA数量。 为什么重要 即时了解绩效合规情况。 获取位置 根据ACTFINISH和TARGCOMPDATE计算 示例 truefalse | |||
| 站点ID SiteId | 多站点Maximo实施中的高层级站点标识符。 | ||
| 说明 在大型组织中,Maximo通常按“站点”划分。此属性在数据库层面区分不同工厂或设施。 它对于“标准维护流程合规性”分析中跨业务单元进行绩效基准比较至关重要,可确保比较基于正确的运营环境。 为什么重要 对于多站点部署中的数据范围限定至关重要。 获取位置 表:WORKORDER,列:SITEID 示例 BEDFORDNASHUATEXAS | |||
| 预计人工工时 EstimatedLaborHours | 工单计划所需的人工时间。 | ||
| 说明 规划阶段预计完成任务所需的总工时。该值会与“实际人工工时”在“人工估算准确性仪表板”中进行比较。 该值与实际值之间的较大偏差,通常表明规划不充分、缺少标准作业程序,或资产状况超出预期、需要投入更多工作。 为什么重要 对于评估规划准确性和预测资源需求至关重要。 获取位置 表:WORKORDER,列:ESTLABHRS 示例 2.04.58.0 | |||
资产维护活动
| 活动 | 说明 | ||
|---|---|---|---|
| 创建维护请求 | 工单在系统中生成时产生的初始事件,通常源自服务请求或自动计划。该事件可从WORKORDER表中的创建时间戳,或WOSTATUS历史中的初始记录中明确获取。 | ||
| 为什么重要 标志着流程实例开始,并为衡量总解决时间和初始响应速度设定基准。 获取位置 WORKORDER.REPORTDATE或WOSTATUS表中的初始记录,通常为状态WAPPR 采集 交易创建WO记录时记录 事件类型 explicit | |||
| 工作已开始 | 标志着技术人员实际开始现场作业。当用户将状态变更为表示工作进行中时,系统会明确记录该事件。 | ||
| 为什么重要 这是区分计划时间与执行时间的关键节点,用于计算平均计划与审批前置时间。 获取位置 WOSTATUS表中STATUS='INPRG' 采集 交易将状态变更为INPRG时记录 事件类型 explicit | |||
| 工单已关闭 | 生命周期中的最终事件,表示工单已完成财务结算并变为只读状态。之后无法再计入费用。 | ||
| 为什么重要 标志着行政前置时间结束。此处延误会影响财务报告。 获取位置 WOSTATUS表中STATUS='CLOSE' 采集 交易将状态变更为CLOSE时记录 事件类型 explicit | |||
| 工单已取消 | 由于工作被判定为不必要、重复或无法执行,流程提前结束。这是终止状态。 | ||
| 为什么重要 为工单取消分析仪表板提供数据。取消率过高表明请求生成环节存在上游流程问题。 获取位置 WOSTATUS表中STATUS='CAN' 采集 交易将状态变更为CAN时记录 事件类型 explicit | |||
| 工单已完成 | 技术人员确认现场工作已完成。该状态变化会停止执行时间KPI的计时。 | ||
| 为什么重要 技术执行的主要结束时间戳,用于计算SLA合规率和技术人员利用率。 获取位置 WOSTATUS表中STATUS='COMP' 采集 交易将状态变更为COMP时记录 事件类型 explicit | |||
| 工单已批准 | 表示工单已通过必要的计划和财务授权检查。该事件源自系统历史中的状态变化。 | ||
| 为什么重要 这是计算计划与审批前置时间KPI的关键节点。此处延误表明存在行政瓶颈。 获取位置 WOSTATUS表中STATUS='APPR' 采集 比较变更前后的状态字段,以识别APPR状态转换 事件类型 explicit | |||
| 已发放物料 | 记录从库存向工单实际领用或发放备件的情况,确认备件已到位并投入使用。 | ||
| 为什么重要 用于验证供应链流程,并影响维护作业的总成本分析。 获取位置 MATUSETRANS表中ISSUETYPE='ISSUE' 采集 MATUSETRANS中发生交易时记录 事件类型 explicit | |||
| 已提交物料申请 | 表示已为维护任务申请备件或耗材。可根据状态变更为Waiting on Material,或创建物料需求明细进行推断。 | ||
| 为什么重要 这是物料就绪仪表板的重要数据,用于识别阻碍工作执行的供应链延误。 获取位置 WOSTATUS表中STATUS='WMATL',或WPMATERIAL表中创建记录 采集 根据状态变更为WMATL进行推断 事件类型 inferred | |||
| 已记录人工工时 | 表示技术人员在特定工单上实际投入的时间。同一工单可能因不同技术人员参与而产生多条记录。 | ||
| 为什么重要 为人工估算准确性仪表板提供实际工时,用于与预计工时进行比较。 获取位置 LABTRANS表中与工单关联的记录 采集 LABTRANS中发生交易时记录 事件类型 explicit | |||
| 检查已完成 | 表示在生命周期内已完成安全检查或技术检查。通常通过状态变化或检查清单测量完成记录进行识别。 | ||
| 为什么重要 安全与合规文档仪表板的关键数据,确保监管步骤未被跳过。 获取位置 WOSTATUS变更为'INSP'或类似自定义状态,或MEASUREMENT记录完成 采集 比较变更前后的状态字段 事件类型 inferred | |||
| 目标日期已更新 | 记录计划完成日期或SLA目标的变更,有助于识别为应对延误而调整目标的情况。 | ||
| 为什么重要 用于分析关键资产SLA绩效,并识别通过调整日期规避SLA违约的行为。 获取位置 TARGETCOMPDATE或SCHEDFINISH字段的审计轨迹 采集 交易更新日期字段时记录 事件类型 explicit | |||
| 质量检查未通过 | 已完成的工作在审核中被驳回时发生,通常会将状态退回In Progress,代表返工循环。 | ||
| 为什么重要 直接支持维护质量与返工率仪表板,用于突出流程失败。 获取位置 根据WOSTATUS从COMP退回INPRG或WAPPR的状态转换进行推断 采集 通过比较WOSTATUS历史中的字段,推导出反向状态转换 事件类型 inferred | |||
| 资源已排程 | 指为工单分配具体人工或作业团队的节点。当系统生成分配记录或状态变更为Waiting Schedule时进行跟踪。 | ||
| 为什么重要 支持计划与审批周期分析仪表板,用于单独衡量寻找可用技术人员所需的时间。 获取位置 ASSIGNMENT表创建记录,或WOSTATUS变更为'WSCH' 采集 根据与WO关联的Assignment记录创建时间推导 事件类型 inferred | |||
提取指南
步骤
建立数据库视图策略:由于ProcessMind需要扁平事件日志,而Maximo以层级结构存储数据(WORKORDER中的表头、WOSTATUS中的历史记录、WOLABTRANS中的成本),最稳妥的方法是先在Maximo数据库中创建Database View。该视图将作为Integration Framework的数据源。
创建SQL视图:在数据库管理工具(SQL Developer、SSMS)中执行Query部分提供的SQL。该查询会将
WORKORDER、WOSTATUS、WOLABTRANS、MATUSETRANS和A_WORKORDER(审计)整合为单一扁平结构。在Maximo中注册视图:以管理员身份登录Maximo。依次进入System Configuration、Platform Configuration、Database Configuration。创建名为
PM_WO_EVENTLOG的新对象,并将其映射到上一步创建的数据库视图。运行ConfigDB完成注册(视图通常无需停机,但请根据您的流程确认)。创建对象结构:依次进入Integration、Object Structures。创建名为
MX_PM_EVENTS的新Object Structure。添加PM_WO_EVENTLOG作为源对象。如果系统提供该选项,请确认已启用Flat Structure支持。配置发布通道:依次进入Integration、Publish Channels。创建新通道
PC_PM_EVENTS,并将其关联到MX_PM_EVENTSObject Structure。如有需要,您可以在此定义处理规则。设置外部系统:依次进入Integration、External Systems。选择目标系统,或创建通用EXTSYS。将
PC_PM_EVENTSPublish Channel添加到该系统。启用数据导出:在External Systems应用中打开Data Export功能选项卡。选择
PC_PM_EVENTS通道。您可以在此指定SQL Where子句(例如EVENTTIMESTAMP >= '2023-01-01'),以限制导出范围。导出数据:点击Export。系统将根据配置的End Point生成文件(XML或CSV)。对于ProcessMind,建议使用CSV。请确保您的End Point(例如
MXFLATFILE)已配置为输出CSV。验证输出:打开生成的CSV文件。确保表头与查询中定义的属性(WorkOrderNumber、Activity等)一致,并确认不再包含层级XML标签。
最终格式处理:如果Maximo的CSV导出包含标准系统元数据列(如
OWNER1、ORGID),请在不需要时将其删除。然后将清理后的CSV加载到ProcessMind。
配置
- Maximo状态同义词:Maximo允许自定义状态代码(如APPR、WAPPR)。查询假设使用标准内部值。请检查WOSTATUS域的
SYNONYMDOMAIN,以正确映射自定义状态。 - 审计表:“目标日期更新”的提取依赖
A_WORKORDER审计表。如果未为WORKORDER对象启用审计,此活动将不会返回任何行。如该信息重要,请在Database Configuration中启用审计。 - 日期范围:首次加载时,请按
EVENTTIMESTAMP筛选最近6至12个月的数据。通过Integration Framework网页界面加载大量历史数据可能超时;超过5万行的数据集请使用后台处理。 - 站点和组织筛选:Maximo支持多站点。若流程分析针对特定设施,请始终按
SITEID筛选。 - 性能:
UNION ALL查询会占用较多资源。请确保WOSTATUS.WONUM、WOLABTRANS.REFWO和MATUSETRANS.REFWO上存在数据库索引。
a 示例查询 sql
/* Create a Database View or Run directly to extract Event Log */
/* 1. Maintenance Request Created */
SELECT
W.WONUM AS WorkOrderNumber,
'Maintenance Request Created' AS Activity,
W.REPORTDATE AS EventTimestamp,
'Maximo' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
W.WORKTYPE AS WorkType,
W.WOPRIORITY AS Priority,
W.ASSETNUM AS AssetNumber,
W.LEAD AS AssignedResource,
W.ACTFINISH AS ActualFinishDate,
W.TARGCOMPDATE AS TargetCompletionDate,
0 AS ActualLaborHours,
W.ASSETLOCPRIORITY AS AssetCriticality,
W.STATUS AS Status
FROM WORKORDER W
WHERE W.REPORTDATE IS NOT NULL
UNION ALL
/* 2. Status Driven Activities (Approved, Scheduled, Commenced, Completed, Closed, Cancelled, etc.) */
SELECT
S.WONUM AS WorkOrderNumber,
CASE
WHEN S.STATUS = 'APPR' THEN 'Work Order Approved'
WHEN S.STATUS = 'WMATL' THEN 'Material Requisition Submitted'
WHEN S.STATUS = 'WSCH' THEN 'Resources Scheduled'
WHEN S.STATUS = 'INPRG' THEN 'Work Commenced'
WHEN S.STATUS = 'INSP' THEN 'Inspection Completed' /* Verify Synonym */
WHEN S.STATUS = 'COMP' THEN 'Work Order Completed'
WHEN S.STATUS = 'REJECT' THEN 'Quality Check Failed' /* Verify Synonym */
WHEN S.STATUS = 'CLOSE' THEN 'Work Order Closed'
WHEN S.STATUS = 'CAN' THEN 'Work Order Cancelled'
ELSE 'Status Change: ' || S.STATUS
END AS Activity,
S.CHANGEDATE AS EventTimestamp,
'Maximo' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
W.WORKTYPE AS WorkType,
W.WOPRIORITY AS Priority,
W.ASSETNUM AS AssetNumber,
S.CHANGEBY AS AssignedResource,
W.ACTFINISH AS ActualFinishDate,
W.TARGCOMPDATE AS TargetCompletionDate,
0 AS ActualLaborHours,
W.ASSETLOCPRIORITY AS AssetCriticality,
S.STATUS AS Status
FROM WOSTATUS S
JOIN WORKORDER W ON S.WONUM = W.WONUM AND S.SITEID = W.SITEID
WHERE S.STATUS IN ('APPR', 'WMATL', 'WSCH', 'INPRG', 'INSP', 'COMP', 'REJECT', 'CLOSE', 'CAN')
UNION ALL
/* 3. Labor Hours Recorded */
SELECT
L.REFWO AS WorkOrderNumber,
'Labor Hours Recorded' AS Activity,
L.STARTDATE AS EventTimestamp,
'Maximo' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
W.WORKTYPE AS WorkType,
W.WOPRIORITY AS Priority,
W.ASSETNUM AS AssetNumber,
L.LABORCODE AS AssignedResource,
W.ACTFINISH AS ActualFinishDate,
W.TARGCOMPDATE AS TargetCompletionDate,
L.REGULARHRS AS ActualLaborHours,
W.ASSETLOCPRIORITY AS AssetCriticality,
W.STATUS AS Status
FROM WOLABTRANS L
JOIN WORKORDER W ON L.REFWO = W.WONUM AND L.SITEID = W.SITEID
UNION ALL
/* 4. Material Issued */
SELECT
M.REFWO AS WorkOrderNumber,
'Material Issued' AS Activity,
M.TRANSDATE AS EventTimestamp,
'Maximo' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
W.WORKTYPE AS WorkType,
W.WOPRIORITY AS Priority,
W.ASSETNUM AS AssetNumber,
M.ISSUETO AS AssignedResource,
W.ACTFINISH AS ActualFinishDate,
W.TARGCOMPDATE AS TargetCompletionDate,
0 AS ActualLaborHours,
W.ASSETLOCPRIORITY AS AssetCriticality,
W.STATUS AS Status
FROM MATUSETRANS M
JOIN WORKORDER W ON M.REFWO = W.WONUM AND M.SITEID = W.SITEID
WHERE M.ISSUETYPE = 'ISSUE'
UNION ALL
/* 5. Target Date Updated (Requires Audit Table) */
SELECT
A.WONUM AS WorkOrderNumber,
'Target Date Updated' AS Activity,
A.AUDITSTAMP AS EventTimestamp,
'Maximo' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
W.WORKTYPE AS WorkType,
W.WOPRIORITY AS Priority,
W.ASSETNUM AS AssetNumber,
A.AUDITUSER AS AssignedResource,
W.ACTFINISH AS ActualFinishDate,
A.TARGCOMPDATE AS TargetCompletionDate,
0 AS ActualLaborHours,
W.ASSETLOCPRIORITY AS AssetCriticality,
W.STATUS AS Status
FROM A_WORKORDER A
JOIN WORKORDER W ON A.WONUM = W.WONUM AND A.SITEID = W.SITEID
WHERE A.TARGCOMPDATE IS NOT NULL
AND A.TARGCOMPDATE <> COALESCE((SELECT TOP 1 PREV.TARGCOMPDATE FROM A_WORKORDER PREV WHERE PREV.WONUM = A.WONUM AND PREV.AUDITSTAMP < A.AUDITSTAMP ORDER BY PREV.AUDITSTAMP DESC), '1900-01-01') 步骤
数据库连接:通过JDBC或ODBC建立到IBM Maximo后端数据库(通常为DB2、Oracle或SQL Server)的只读连接。确保用户拥有WORKORDER、WOSTATUS、LABTRANS和MATUSETRANS表的SELECT权限。
确定范围:确定需要提取的具体SITES或ORGIDS。Maximo是多站点系统,只有将工单编号WONUM与SITEID结合后才具有唯一性。确定日期范围,通常按REPORTDATE(创建日期)或STATUSDATE筛选。
了解数据模型:WORKORDER表充当表头;WOSTATUS表包含生命周期变更历史;LABTRANS表保存详细人工记录;MATUSETRANS表保存物料移动记录。必须使用UNION ALL将这些数据合并为单一事件流。
处理同义词:Maximo在SYNONYMDOMAIN中为状态定义内部值(MAXVALUE)和显示值(VALUE)。为确保不同站点使用不同显示标签时仍保持逻辑一致,查询最好按内部MAXVALUE筛选。
准备查询:复制Query部分提供的SQL。将[Your Database Schema]和[Start Date]等占位符替换为实际值。如果您的环境为Inspection或Quality Checks使用特定自定义状态代码,请更新相应部分的WHERE子句。
执行提取:运行查询。根据数据量,您可能需要分批执行,例如按月提取,以避免数据库超时。
验证数据:检查每个工单是否都存在“维护请求已创建”事件。确保时间戳格式与ProcessMind兼容,建议使用ISO 8601格式。
后处理:Maximo时间戳通常包含毫秒。请保留毫秒,以维持快速连续发生事件的正确排序。
导出:将结果保存为CSV或Parquet文件。列标题必须与查询输出中定义的属性一致。
上传到ProcessMind:将文件导入ProcessMind。将WorkOrderNumber映射为Case ID,将Activity映射为Activity Name,将EventTimestamp映射为Timestamp。
配置
- 数据库平台:Maximo通常运行在IBM DB2、Oracle或SQL Server上。所提供的语法为标准SQL,但根据具体平台,可能需要对日期函数进行少量调整(例如TO_DATE与CAST)。
- 日期筛选:使用WORKORDER表中的REPORTDATE列定义流程实例范围。通常采用最近12个月的滚动时间窗口。
- 站点ID的重要性:不要仅依赖WONUM保证唯一性。分析多个站点时,请始终拼接WONUM和SITEID,或将SITEID作为案例属性纳入分析。
- 状态逻辑:Maximo允许自定义状态值。如果WMATL或COMP等标准状态未返回结果,请检查SYNONYMDOMAIN表。
- 性能:LABTRANS和MATUSETRANS表可能非常庞大。请确保这些表已按REFWO和SITEID建立索引。
a 示例查询 sql
SELECT
W.WONUM AS WorkOrderNumber,
'Maintenance Request Created' AS Activity,
W.REPORTDATE AS EventTimestamp,
'Maximo' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
W.WORKTYPE AS WorkType,
W.WOPRIORITY AS Priority,
W.ASSETNUM AS AssetNumber,
W.LEAD AS AssignedResource,
W.ACTFINISH AS ActualFinishDate,
W.TARGCOMPDATE AS TargetCompletionDate,
W.ACTLABHRS AS ActualLaborHours,
W.ASSETLOCPRIORITY AS AssetCriticality,
W.STATUS AS Status
FROM
WORKORDER W
WHERE
W.REPORTDATE >= '2023-01-01'
UNION ALL
SELECT
WS.WONUM AS WorkOrderNumber,
CASE
WHEN WS.STATUS = 'APPR' THEN 'Work Order Approved'
WHEN WS.STATUS = 'WMATL' THEN 'Material Requisition Submitted'
WHEN WS.STATUS = 'WSCH' THEN 'Resources Scheduled'
WHEN WS.STATUS = 'INPRG' THEN 'Work Commenced'
WHEN WS.STATUS = 'INSP' THEN 'Inspection Completed'
WHEN WS.STATUS = 'COMP' THEN 'Work Order Completed'
WHEN WS.STATUS = 'REJECT' THEN 'Quality Check Failed'
WHEN WS.STATUS = 'CLOSE' THEN 'Work Order Closed'
WHEN WS.STATUS = 'CAN' THEN 'Work Order Cancelled'
ELSE 'Status Change: ' || WS.STATUS
END AS Activity,
WS.CHANGEDATE AS EventTimestamp,
'Maximo' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
W.WORKTYPE AS WorkType,
W.WOPRIORITY AS Priority,
W.ASSETNUM AS AssetNumber,
WS.CHANGEBY AS AssignedResource,
W.ACTFINISH AS ActualFinishDate,
W.TARGCOMPDATE AS TargetCompletionDate,
W.ACTLABHRS AS ActualLaborHours,
W.ASSETLOCPRIORITY AS AssetCriticality,
WS.STATUS AS Status
FROM
WOSTATUS WS
JOIN
WORKORDER W ON WS.WONUM = W.WONUM AND WS.SITEID = W.SITEID
WHERE
W.REPORTDATE >= '2023-01-01'
AND WS.STATUS IN ('APPR', 'WMATL', 'WSCH', 'INPRG', 'INSP', 'COMP', 'REJECT', 'CLOSE', 'CAN')
UNION ALL
SELECT
L.REFWO AS WorkOrderNumber,
'Labor Hours Recorded' AS Activity,
L.STARTDATE AS EventTimestamp,
'Maximo' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
W.WORKTYPE AS WorkType,
W.WOPRIORITY AS Priority,
W.ASSETNUM AS AssetNumber,
L.LABORCODE AS AssignedResource,
W.ACTFINISH AS ActualFinishDate,
W.TARGCOMPDATE AS TargetCompletionDate,
W.ACTLABHRS AS ActualLaborHours,
W.ASSETLOCPRIORITY AS AssetCriticality,
W.STATUS AS Status
FROM
LABTRANS L
JOIN
WORKORDER W ON L.REFWO = W.WONUM AND L.SITEID = W.SITEID
WHERE
W.REPORTDATE >= '2023-01-01'
UNION ALL
SELECT
M.REFWO AS WorkOrderNumber,
'Material Issued' AS Activity,
M.TRANSDATE AS EventTimestamp,
'Maximo' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
W.WORKTYPE AS WorkType,
W.WOPRIORITY AS Priority,
W.ASSETNUM AS AssetNumber,
M.ENTERBY AS AssignedResource,
W.ACTFINISH AS ActualFinishDate,
W.TARGCOMPDATE AS TargetCompletionDate,
W.ACTLABHRS AS ActualLaborHours,
W.ASSETLOCPRIORITY AS AssetCriticality,
W.STATUS AS Status
FROM
MATUSETRANS M
JOIN
WORKORDER W ON M.REFWO = W.WONUM AND M.SITEID = W.SITEID
WHERE
W.REPORTDATE >= '2023-01-01'
AND M.ISSUETYPE = 'ISSUE'
UNION ALL
SELECT
WC.WONUM AS WorkOrderNumber,
'Target Date Updated' AS Activity,
WC.CHANGEDATE AS EventTimestamp,
'Maximo' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
W.WORKTYPE AS WorkType,
W.WOPRIORITY AS Priority,
W.ASSETNUM AS AssetNumber,
WC.CHANGEBY AS AssignedResource,
W.ACTFINISH AS ActualFinishDate,
W.TARGCOMPDATE AS TargetCompletionDate,
W.ACTLABHRS AS ActualLaborHours,
W.ASSETLOCPRIORITY AS AssetCriticality,
W.STATUS AS Status
FROM
WOCHANGE WC
JOIN
WORKORDER W ON WC.WONUM = W.WONUM AND WC.SITEID = W.SITEID
WHERE
W.REPORTDATE >= '2023-01-01'
AND (WC.MODIFIEDATTRIBUTE = 'TARGCOMPDATE' OR WC.MODIFIEDATTRIBUTE = 'SCHEDFINISH') 立即转变资产维护,减少停机
将维护周期时间缩短30%,消除瓶颈
免费试用14天,无需信用卡