Model: Maintenance - Specifications for Fact Table: WORK TASK ACTUALS COST

On this page you will find the specifications regarding the Model: Maintenance and Fact Table: WORK TASK ACTUALS COST.

This model fact represents actuals in Work Order and is based on the IFS Applcations fact FACT_WO_TASK_ACTUALS_COST.

Note: Please refer to documentation of each model to find out about attributes used in referenced models.

Attributes

Attribute Description (where applicable)

Measures (table to be generated as far as possible)

Aggregation of measures is based on SUM if not explicitly noted.

This section describes the basic measures in the cube. These are either measures defined in the core Information Source, in the model itself or in the ETL process. The columns have the following meaning:

Measure Calculated Y/N Contains Time Intelligence Y/N Definition/Note (where applicable) Aggregation Type Hidden Y/N Measure Expression
Corrective Hours ActualNYSUMNSUM([Corrective_Hours_Actual])
Cost Amount ActualNYSUMNSUM([COST_AMOUNT])
Installation Cost Amount ActualNYSUMNSUM([Installation_Amount_Actual])
Installation Hours ActualNYSUMNSUM([Installation_Hours_Actual])
Material Cost Amount ActualNYSUMNSUM([Material_Cost_Amount_Actual])
Material Quantity ActualNNSUMNSUM([Material_Quantity_Actual])
Modification Cost Amount ActualNYSUMNSUM([Modification_Amount_Actual])
Modification Hours ActualNYSUMNSUM([Modification_Hours_Actual])
Other Cost Amount ActualNYSUMNSUM([Other_Cost_Amount_Actual])
Other Hours ActualNYSUMNSUM([Other_Hours_Actual])
Preventive Cost Amount ActualNYSUMNSUM([Preventive_Cost_Amount_Actual])
Preventive Hours ActualNYSUMNSUM([Preventive_Hours_Actual])
Project Cost Amount ActualNYSUMNSUM([Project_Cost_Amount_Actual])
Project Hours ActualNYSUMNSUM([Project_Hours_Actual])
Qty ActualNNSUMNSUM([QTY])
Service Cost Amount ActualNYSUMNSUM([Service_Cost_Amount_Actual])
Service Hours ActualNYSUMNSUM([Service_Hours_Actual])
Total Hours ActualNYSUMNSUM([Total_Hours_Actual])
Corrective Cost Amount ActualNYSUMNSUM([Corrective_Cost_Amount_Actual])
WORK TASK ACTUALS COST CountNNCOUNTROWSNCOUNTROWS('WORK TASK ACTUALS COST')
Reactive Cost Amount ActualNSUM([Reactive_Cost_Amount_Actual])
Reactive Hours ActualNSUM([Reactive_Hours_Actual])
Corrective Cost Amount Rate %YNNIF([Cost Amount Actual]>0,[Corrective Cost Amount Actual]/[Cost Amount Actual], BLANK())
Corrective Hours Rate %YNNIF([Total Hours Actual]>0,[Corrective Hours Actual]/[Total Hours Actual], BLANK())
Installation Cost Amount Rate %YNNIF([Cost Amount Actual]>0,[Installation Cost Amount Actual]/[Cost Amount Actual], BLANK())
Installation Hours Rate %YNNIF([Total Hours Actual]>0,[Installation Hours Actual]/[Total Hours Actual], BLANK())
Modification Cost Amount Rate %YNNIF([Cost Amount Actual]>0,[Modification Cost Amount Actual]/[Cost Amount Actual], BLANK())
Modification Hours Rate %YNNIF([Total Hours Actual]>0,[Modification Hours Actual]/[Total Hours Actual], BLANK())
Other Cost Amount Rate %YNNIF([Cost Amount Actual]>0,[Other Cost Amount Actual]/[Cost Amount Actual], BLANK())
Other Hours Rate %YNNIF([Total Hours Actual]>0,[Other Hours Actual]/[Total Hours Actual], BLANK())
Preventive Cost Amount Rate %YNNIF([Cost Amount Actual]>0,[Preventive Cost Amount Actual]/[Cost Amount Actual], BLANK())
Preventive Hours Rate %YNNIF([Total Hours Actual]>0,[Preventive Hours Actual]/[Total Hours Actual], BLANK())
Project Cost Amount Rate %YNNIF([Cost Amount Actual]>0,[Project Cost Amount Actual]/[Cost Amount Actual], BLANK())
Project Hours Rate %YNNIF([Total Hours Actual]>0,[Project Hours Actual]/[Total Hours Actual], BLANK())
Service Cost Rate %YNNIF([Cost Amount Actual]>0,[Service Cost Amount Actual]/[Cost Amount Actual], BLANK())
Service Hours Rate %YNNIF([Total Hours Actual]>0,[Service Hours Actual]/[Total Hours Actual], BLANK())
Actual Cost to Planning Estimate %NCALCULATE(DIVIDE([Cost Amount Actual],[Cost Amount Planned]),FILTER('WORK ORDER','WORK ORDER'[STATE_DB]="FINISHED"))
Corrective Maintenance Cost %NCALCULATE(DIVIDE(([Corrective Cost Amount Actual]+[Reactive Cost Amount Actual]),[Cost Amount Actual]),FILTER('WORK TASK ACTUALS COST','WORK TASK ACTUALS COST'[Dim_Work_Order_ID]<>BLANK()))
Actual Hours to Planning Estimate %NCALCULATE(DIVIDE([Total Hours Actual],[Total Hours Planned]),FILTER('WORK ORDER','WORK ORDER'[STATE_DB]="FINISHED"))
Maintenance Material Cost %NCALCULATE(DIVIDE([Material Cost Amount Actual],[Cost Amount Actual]),FILTER('WORK TASK ACTUALS COST','WORK TASK ACTUALS COST'[Dim_Work_Order_ID]<>BLANK()))
Corrective Maintenance Hours %NCALCULATE(DIVIDE(([Corrective Hours Actual]+[Reactive Hours Actual]),[Total Hours Actual]),FILTER('WORK TASK ACTUALS COST','WORK TASK ACTUALS COST'[Dim_Work_Order_ID]<>BLANK()))
Reactive Work %NCALCULATE(DIVIDE([Reactive Hours Actual],[Total Hours Actual]),FILTER('WORK TASK ACTUALS COST','WORK TASK ACTUALS COST'[Dim_Work_Order_ID]<>BLANK()))
Proactive Work %NCALCULATE ( DIVIDE ( ( [Corrective Hours Actual] + [PM Hours Actual] ), [Total Hours Actual] ), FILTER ( 'WORK TASK ACTUALS COST', 'WORK TASK ACTUALS COST'[Dim_Work_Order_ID] <> BLANK () ) )
PM Hours ActualNCALCULATE ( [Total Hours Actual], FILTER ( 'WORK TASK ACTUALS COST', 'WORK TASK ACTUALS COST'[Dim_Source_Connection_ID] = "PmAction" || 'WORK TASK ACTUALS COST'[HAS_PM_STEP] = 1 ) )
PM Cost Amount ActualNCALCULATE ( [Cost Amount Actual], FILTER ( 'WORK TASK ACTUALS COST', 'WORK TASK ACTUALS COST'[Dim_Source_Connection_ID] = "PmAction" || 'WORK TASK ACTUALS COST'[HAS_PM_STEP] = 1 ) )
Preventive Maintenance Cost %NDIVIDE([PM Cost Amount Actual],[Cost Amount Actual])
Preventive Maintenance Hours %NDIVIDE([PM Hours Actual],[Total Hours Actual])
PM & PdM YieldNDIVIDE ( CALCULATE ( [PM & PdM Corrective Hours Actual], FILTER ( 'WORK ORDER', 'WORK ORDER'[STATE_DB] IN { "FINISHED", "REPORTED", "WORKDONE" } ) ), CALCULATE ( [PM Hours Actual], FILTER ( 'WORK ORDER', 'WORK ORDER'[STATE_DB] IN { "FINISHED", "REPORTED", "WORKDONE" } ) ) )
Planned Work %NDIVIDE ( CALCULATE ( [Total Hours Actual], FILTER ( 'WORK TASK', 'WORK TASK'[ROWSTATE_DB] = "FINISHED" ), FILTER ( 'WORK TASK ACTUALS COST', 'WORK TASK ACTUALS COST'[TASK_PLAN_LINE_SEQ] <> BLANK() ) ), CALCULATE ( [Total Hours Actual], FILTER ( 'WORK TASK', 'WORK TASK'[ROWSTATE_DB] = "FINISHED" ) ) )
PM & PdM Corrective Hours ActualNCALCULATE ( [Total Hours Actual], FILTER ( 'WORK TASK ACTUALS COST', 'WORK TASK ACTUALS COST'[SRC_WO_HAS_PM_TASK] = 1 || 'WORK TASK ACTUALS COST'[SRC_WO_HAS_PM_STEP] = 1 ) )
Condition-Based Maintenance Cost %NDIVIDE ( CALCULATE ( [Cost Amount Actual], FILTER ( 'WORK TASK ACTUALS COST', 'WORK TASK ACTUALS COST'[Dim_Source_Connection_ID] = "PmAction" || 'WORK TASK ACTUALS COST'[HAS_PM_STEP] = 1 ), FILTER ( 'WORK TASK', 'WORK TASK'[GENERATION_TYPE] = "3" ) ), [Cost Amount Actual] )
Condition-Based Maintenance Hours %NDIVIDE ( CALCULATE ( [Total Hours Actual], FILTER ( 'WORK TASK ACTUALS COST', 'WORK TASK ACTUALS COST'[Dim_Source_Connection_ID] = "PmAction" || 'WORK TASK ACTUALS COST'[HAS_PM_STEP] = 1 ), FILTER ( 'WORK TASK', 'WORK TASK'[GENERATION_TYPE] = "3" ) ), [Total Hours Actual] )
Corrective Cost Amount Actual RCYNSUMNSUM([REP_CURR_CORRECTIVE_COST_AMOUNT_ACTUAL])/[Currency Rate]
Cost Amount Actual RCYNSUMNSUM([REP_CURR_AMOUNT_ACTUAL])/[Currency Rate]
Installation Cost Amount Actual RCYNSUMNSUM([REP_CURR_INSTALLATION_AMOUNT_ACTUAL])/[Currency Rate]
Material Cost Amount Actual RCYNSUMNSUM([REP_CURR_MATERIAL_COST_AMOUNT_ACTUAL])/[Currency Rate]
Modification Cost Amount Actual RCYNSUMNSUM([REP_CURR_MODIFICATION_AMOUNT_ACTUAL])/[Currency Rate]
Other Cost Amount Actual RCYNSUMNSUM([REP_CURR_OTHER_COST_AMOUNT_ACTUAL])/[Currency Rate]
Preventive Cost Amount Actual RCYNSUMNSUM([REP_CURR_PREVENTIVE_COST_AMOUNT_ACTUAL])/[Currency Rate]
Project Cost Amount Actual RCYNSUMNSUM([REP_CURR_PROJECT_COST_AMOUNT_ACTUAL])/[Currency Rate]
Service Cost Amount Actual RCYNSUMNSUM([REP_CURR_SERVICE_COST_AMOUNT_ACTUAL])/[Currency Rate]

Time Intelligence Measures

Time based measures are calculated in the cube with respect to other measures. The table below defines the meaning/definition of  the different time measures. These measures need to be used with a specific time dimension hierarchy [REPORTING_DATE].[RepDateMFHy].

Measure Meaning
YTD Aggregated value for current month in current  year. E.g. for period 202010 Ytd represents sum of periods 202000-202010.
R12 For a given period, the sum all months from one year back up to the previous month. E.g. Rolling 12 for 202010 is the sum of months 201910 - 202009
PY Previous Year
The value of the corresponding month one year back. E.g. for month 202010, the value of month 201910.
YTD PY Year to Date Previous Year
Aggregated value for corresponding month one year back. E.g. for month 202010 YTD Previous Year represents sum of months 201901-201910.
R12 PY Rolling 12 (completed) Months Previous Year
For a given month, first going one year back, then taking the sum of all months from one (more) year back up to the previous month. E.g. for month 202010 the sum of month 201810-201909
Avg XXX Ytd Sum XXX YTD/Count XXX YTD
Avg XXX R12 Sum XXX R12/Count XXX R12
XXX % YTD Count XXX YTD/Count YYY YTD
XXX % R12 Count XXX R12/Count XXX R12

USED BY MODEL(S)

Model Name

Data source Information

The data source for this object is defined using IFS Developer Tool. Further Transformations are done using Power BI.

Additional information can be found in the online documentation of Information Sources.

Model Table BI Access View Referenced Information Source Recommended Access Type
WORK TASK ACTUALS COSTFACT_WORK_TASK_ACT_COST_PQ_BIFACT_WORK_TASK_ACT_COST_PQOn Line