Project Health Assessment Dashboard

Description: The Project Health Assessment dashboard provides an overall assessment of your projects, portfolios, and activities using project metrics to measure the project schedule

Default Canvas: Assessment

Canvas/Dashboard Name: Project Health – Assessment

Data Source(s): P6 - EPPM

Subject Area: P6 – Activity

Datasets: NA

Dashboards: 2

Table 41: Project Health Assessment - Dimensions

Canvas Dimension / Attribute Is Calculated Field Subject Area / Dataset
Assessment Portfolio Name No P6 – Activity
Project Worksheet Project Name No P6 – Activity
Activity Worksheet Activity Name No P6 – Activity
All Canvas Missing Logic (%) Yes P6 – Activity
All Canvas Negative Lags (%) < Yes P6 – Activity
All Canvas Lags (%) < Yes P6 – Activity
All Canvas Long Lags (hours) > Yes P6 – Activity
All Canvas Long Lags (%) < Yes P6 – Activity
All Canvas FS Relationships (%) > Yes P6 – Activity
All Canvas Hard Constraints (%) < Yes P6 – Activity
All Canvas Soft Constraints (%) < Yes P6 – Activity
All Canvas Large Float (hours) > Yes P6 – Activity
All Canvas Large Float (%) < Yes P6 – Activity
All Canvas Negative Float (%) < Yes P6 – Activity
All Canvas Large Durations (hours) > Yes P6 – Activity
All Canvas Large Durations (%) < Yes P6 – Activity
All Canvas Invalid Progress (%) < Yes P6 – Activity
All Canvas Resource / Cost (%) < Yes P6 – Activity
All Canvas Late Activiites (%) < Yes P6 – Activity
All Canvas BEI (%) > Yes P6 – Activity

Table 42: Project Health Assessment – Measures

Canvas Fact / Measure Measure Type Subject Area / Dataset
All Canvas Missing Logic Calculated from Fact P6 – Activity
All Canvas Negative Lags Calculated from Fact P6 – Activity
All Canvas Lags Calculated from Fact P6 – Activity
All Canvas Long Lags Calculated from Fact P6 – Activity
All Canvas FS Rel. Calculated from Fact P6 – Activity
All Canvas Hard Constraints Calculated from Fact P6 – Activity
All Canvas Soft Constraints Calculated from Fact P6 – Activity
All Canvas Large Float Calculated from Fact P6 – Activity
All Canvas Negative Float Calculated from Fact P6 – Activity
All Canvas Large Durations Calculated from Fact P6 – Activity
All Canvas Invalid Progress Calculated from Fact P6 – Activity
All Canvas Resource / Cost Calculated from Fact P6 – Activity
All Canvas Lat Activities Calculated from Fact P6 – Activity
All Canvas BEI Calculated from Fact P6 – Activity

Table 43: Project Health Assessment – Filters

Canvas Filter Type Is Expression Filter Dimension / Attribute / Measure Subject Area / Dataset
All Canvas Dashboard No Portfolio Name P6 – Activity
Assessment Dashboard No Project Owner P6 – Activity
Project Nano Dashboard No Project Name P6 – Activity

Table 44: Project Health Assessment – Calculated Members

Calculated Member Expression Source Subject Area / Dataset
Missing Logic

FILTER("Primavera - Activity"."Metrics"."# of Activities" USING "Primavera - Activity"."Relationships - (Activity)"."Type" = 'orphan')/"Primavera - Activity"."Metrics"."# of Activities"

 

Derived from Fact P6 - Activity
Negative Lags

IFNULL( FILTER( "Primavera - Activity"."Metrics"."# of Activities" USING ( ("Primavera - Activity"."Relationships - (Activity)"."Lag" < 0.0) AND ("Primavera - Activity"."Relationships - (Activity)"."Predecessor Activity Id" IS NOT NULL) AND ("Primavera - Activity"."General - (Activity)"."Activity Status" IN ('In Progress','Not Started')) ) ) / FILTER( "Primavera - Activity"."Metrics"."# of Activities" USING ( "Primavera - Activity"."General - (Activity)"."Activity Status" IN ('In Progress','Not Started') ) ), 0.0)

 

Derived from Fact P6 - Activity
Lags

IFNULL( FILTER( "Primavera - Activity"."Metrics"."# of Activities" USING ( ("Primavera - Activity"."Relationships - (Activity)"."Lag" > 0.0) AND ("Primavera - Activity"."Relationships - (Activity)"."Predecessor Activity Id" IS NOT NULL) AND ("Primavera - Activity"."General - (Activity)"."Activity Status" <>'Completed') ) ) / FILTER( "Primavera - Activity"."Metrics"."# of Activities" USING ( "Primavera - Activity"."General - (Activity)"."Activity Status" IN ('In Progress','Not Started') ) ), 0.0)

 

Derived from Fact  
Long Lags

IFNULL( FILTER( "Primavera - Activity"."Metrics"."# of Activities" USING ( ("Primavera - Activity"."Relationships - (Activity)"."Lag" > CAST('@{Long_Lags_hr}{352}' AS double)) AND ("Primavera - Activity"."Relationships - (Activity)"."Predecessor Activity Id" IS NOT NULL) AND ("Primavera - Activity"."General - (Activity)"."Activity Status" <>'Completed') ) ) / FILTER( "Primavera - Activity"."Metrics"."# of Activities" USING ( "Primavera - Activity"."General - (Activity)"."Activity Status" IN ('In Progress','Not Started') ) ), 0.0)

 

Derived from Fact P6 - Activity
FS Rel.

(FILTER("Primavera - Activity"."Metrics"."# of Activities" USING (("Primavera - Activity"."Relationships - (Activity)"."Predecessor Activity Id" IS NOT NULL) AND ("Primavera - Activity"."Relationships - (Activity)"."Relationship Type" = 'Finish to Start')))/"Primavera - Activity"."Metrics"."# of Activities")

 

Derived from Fact P6 - Activity
Hard Constraints

(FILTER("Primavera - Activity"."Metrics"."# of Activities" USING "Primavera - Activity"."General - (Activity)"."Primary Constraint Type" IN ('Mandatory Start', 'Mandatory Finish', 'Must Start On', 'Must Finish On', 'Start No Later Than', 'Finish No Later Than') OR "Primavera - Activity"."General - (Activity)"."Secondary Constraint Type" IN ('Mandatory Start', 'Mandatory Finish', 'Must Start On', 'Must Finish On', 'Start No Later Than', 'Finish No Later Than')))/ "Primavera - Activity"."Metrics"."# of Activities"

 

Derived from Fact P6 - Activity
Soft Constraints

(FILTER("Primavera - Activity"."Metrics"."# of Activities" USING IFNULL("Primavera - Activity"."General - (Activity)"."Primary Constraint Type", '') NOT IN ('Mandatory Start', 'Mandatory Finish', 'Must Start On', 'Must Finish On', 'Start No Later Than', 'Finish No Later Than') OR IFNULL("Primavera - Activity"."General - (Activity)"."Secondary Constraint Type", '') NOT IN ('Mandatory Start', 'Mandatory Finish', 'Must Start On', 'Must Finish On', 'Start No Later Than', 'Finish No Later Than')))/ "Primavera - Activity"."Metrics"."# of Activities"

 

Derived from Fact P6 - Activity
Large Float

(IFNULL(FILTER("Primavera - Activity"."Metrics"."# of Activities" USING "Primavera - Activity"."Durations - (Activity)"."Total Float" > CAST('@{Large_Float_Hr}{352}' AS double)), 0.0) / FILTER("Primavera - Activity"."Metrics"."# of Activities" USING "Primavera - Activity"."General - (Activity)"."Activity Status" <> 'Completed'))

 

Derived from Fact P6 - Activity
Negative Float

FILTER("Primavera - Activity"."Metrics"."# of Activities" USING "Primavera - Activity"."Durations - (Activity)"."Total Float" < 0.0) / FILTER("Primavera - Activity"."Metrics"."# of Activities" USING "Primavera - Activity"."General - (Activity)"."Activity Status" <> 'Completed')

 

Derived from Fact P6 - Activity
Large Durations

FILTER("Primavera - Activity"."Metrics"."# of Activities" USING "Primavera - Activity"."Durations - (Activity)"."Remaining Duration"> CAST('@{Large_Durations_Hr}{352}' AS double)) / "Primavera - Activity"."Metrics"."# of Activities"

 

Derived from Fact P6 - Activity
Invalid Progress

((CASE WHEN TIMESTAMPDIFF(SQL_TSI_DAY, "Primavera - Activity"."Dates - (Project)"."Data Date", "Primavera - Activity"."Dates - (Activity)"."Actual Start") > 0 OR TIMESTAMPDIFF(SQL_TSI_DAY, "Primavera - Activity"."Dates - (Project)"."Data Date", "Primavera - Activity"."Dates - (Activity)"."Actual Finish") > 0 THEN "Primavera - Activity"."Metrics"."# of Activities" ELSE 0.0 END)/ "Primavera - Activity"."Metrics"."# of Activities")

 

Derived from Fact P6 - Activity
Resource / Cost

(FILTER("Primavera - Activity"."Metrics"."# of Activities" USING (("Primavera - Activity"."Expense"."Expense Object Id" IS NULL) AND ("Primavera - Activity"."General - (Resource)"."Resource Id" IS NULL) AND ("Primavera - Activity"."General - (Activity)"."Activity Type" in ('Task Dependend', 'Resource Dependent'))))/"Primavera - Activity"."Metrics"."# of Activities")

 

Derived from Fact P6 - Activity
Late Activities

((CASE WHEN TIMESTAMPDIFF(SQL_TSI_HOUR, "Primavera - Activity"."Dates - (Activity)"."Baseline Project Finish", "Primavera - Activity"."Dates - (Activity)"."Finish") > 0.0 THEN "Primavera - Activity"."Metrics"."# of Activities" ELSE 0.0 END)/ "Primavera - Activity"."Metrics"."# of Activities")

 

Derived from Fact P6 - Activity
BEI

(FILTER("Primavera - Activity"."Metrics"."# of Activities" USING TIMESTAMPDIFF(SQL_TSI_HOUR, "Primavera - Activity"."Dates - (Activity)"."Baseline Project Finish", "Primavera - Activity"."Dates - (Project)"."Data Date") >= 0 AND TIMESTAMPDIFF(SQL_TSI_HOUR, "Primavera - Activity"."Dates - (Activity)"."Baseline Project Finish", "Primavera - Activity"."Dates - (Activity)"."Actual Finish") <= 0 AND ("Primavera - Activity"."General - (Activity)"."Activity Status" = 'Completed')) / FILTER("Primavera - Activity"."Metrics"."# of Activities" USING "Primavera - Activity"."General - (Activity)"."Activity Status" = 'Completed'))

 

Derived from Fact P6 - Activity