DAX definitions
Exact source expressions and direct measure dependencies for the selected page.
Critical Skills Below Requirement %
TalentEmployee · Skills
VAR __roleKeys = VALUES(SuccessionRole[roleId])
VAR __skillPeople = VALUES(SkillGap[employeeId])
VAR __people = FILTER(TalentEmployee,
(NOT ISFILTERED(SuccessionRole) || TalentEmployee[roleId] IN __roleKeys) &&
(NOT ISFILTERED(SkillGap) || TalentEmployee[employeeId] IN __skillPeople))
VAR __ids = SELECTCOLUMNS(__people, "__id", TalentEmployee[employeeId])
VAR __poolKeys = SELECTCOLUMNS(__people, "__role", TalentEmployee[roleId])
VAR __roleScope = FILTER(SuccessionRole, SuccessionRole[roleId] IN __poolKeys)
VAR __roles = ADDCOLUMNS(__roleScope,
"__successors", VAR __key = SuccessionRole[roleId] RETURN COUNTROWS(FILTER(__people, TalentEmployee[roleId] = __key && TalentEmployee[successorFlag] = "Yes")) + 0,
"__ready", VAR __key = SuccessionRole[roleId] RETURN COUNTROWS(FILTER(__people, TalentEmployee[roleId] = __key && TalentEmployee[successorFlag] = "Yes" && TalentEmployee[promotionReadiness] = "1 Ready now")) + 0)
VAR __skills = FILTER(SkillGap, SkillGap[employeeId] IN __ids)
VAR __n = COUNTROWS(__people) + 0
RETURN IF(__n < 10 || ISEMPTY(AsOf), BLANK(), VAR __critical = FILTER(__skills, SkillGap[criticalSkill] = "Yes") VAR __assessed = COUNTROWS(SUMMARIZE(__critical, SkillGap[employeeId])) RETURN IF(__assessed < 10, BLANK(), DIVIDE(COUNTROWS(FILTER(__critical, SkillGap[heldProficiency] < SkillGap[requiredProficiency])) + 0, COUNTROWS(__critical))))
Direct dependencies: None
Development Status Text
TalentEmployee · Report Views
VAR __roleKeys = VALUES(SuccessionRole[roleId])
VAR __skillPeople = VALUES(SkillGap[employeeId])
VAR __people = FILTER(TalentEmployee,
(NOT ISFILTERED(SuccessionRole) || TalentEmployee[roleId] IN __roleKeys) &&
(NOT ISFILTERED(SkillGap) || TalentEmployee[employeeId] IN __skillPeople))
VAR __ids = SELECTCOLUMNS(__people, "__id", TalentEmployee[employeeId])
VAR __poolKeys = SELECTCOLUMNS(__people, "__role", TalentEmployee[roleId])
VAR __roleScope = FILTER(SuccessionRole, SuccessionRole[roleId] IN __poolKeys)
VAR __roles = ADDCOLUMNS(__roleScope,
"__successors", VAR __key = SuccessionRole[roleId] RETURN COUNTROWS(FILTER(__people, TalentEmployee[roleId] = __key && TalentEmployee[successorFlag] = "Yes")) + 0,
"__ready", VAR __key = SuccessionRole[roleId] RETURN COUNTROWS(FILTER(__people, TalentEmployee[roleId] = __key && TalentEmployee[successorFlag] = "Yes" && TalentEmployee[promotionReadiness] = "1 Ready now")) + 0)
VAR __skills = FILTER(SkillGap, SkillGap[employeeId] IN __ids)
VAR __n = COUNTROWS(__people) + 0
RETURN IF(__n < 10 || ISEMPTY(AsOf), BLANK(), IF(ISBLANK([Training Hours per Employee]) || ISBLANK([Skill Gap Index]), BLANK(), "ILLUSTRATIVE: " & FORMAT([Training Hours per Employee], "0.0", "en-US") & " training hours per employee; skill gap index " & FORMAT([Skill Gap Index], "0.0%", "en-US") & ". Screening, not a verdict; validate skill assessments before action."))
Direct dependencies: Training Hours per Employee, Skill Gap Index
Skill Gap Index
TalentEmployee · Skills
VAR __roleKeys = VALUES(SuccessionRole[roleId])
VAR __skillPeople = VALUES(SkillGap[employeeId])
VAR __people = FILTER(TalentEmployee,
(NOT ISFILTERED(SuccessionRole) || TalentEmployee[roleId] IN __roleKeys) &&
(NOT ISFILTERED(SkillGap) || TalentEmployee[employeeId] IN __skillPeople))
VAR __ids = SELECTCOLUMNS(__people, "__id", TalentEmployee[employeeId])
VAR __poolKeys = SELECTCOLUMNS(__people, "__role", TalentEmployee[roleId])
VAR __roleScope = FILTER(SuccessionRole, SuccessionRole[roleId] IN __poolKeys)
VAR __roles = ADDCOLUMNS(__roleScope,
"__successors", VAR __key = SuccessionRole[roleId] RETURN COUNTROWS(FILTER(__people, TalentEmployee[roleId] = __key && TalentEmployee[successorFlag] = "Yes")) + 0,
"__ready", VAR __key = SuccessionRole[roleId] RETURN COUNTROWS(FILTER(__people, TalentEmployee[roleId] = __key && TalentEmployee[successorFlag] = "Yes" && TalentEmployee[promotionReadiness] = "1 Ready now")) + 0)
VAR __skills = FILTER(SkillGap, SkillGap[employeeId] IN __ids)
VAR __n = COUNTROWS(__people) + 0
RETURN IF(__n < 10 || ISEMPTY(AsOf), BLANK(), VAR __assessed = COUNTROWS(SUMMARIZE(__skills, SkillGap[employeeId])) RETURN IF(__assessed < 10, BLANK(), DIVIDE(SUMX(__skills, MAX(0, SkillGap[requiredProficiency] - SkillGap[heldProficiency])) + 0, SUMX(__skills, SkillGap[requiredProficiency]))))
Direct dependencies: None
Talent Population
TalentEmployee · Population
VAR __roleKeys = VALUES(SuccessionRole[roleId])
VAR __skillPeople = VALUES(SkillGap[employeeId])
VAR __people = FILTER(TalentEmployee,
(NOT ISFILTERED(SuccessionRole) || TalentEmployee[roleId] IN __roleKeys) &&
(NOT ISFILTERED(SkillGap) || TalentEmployee[employeeId] IN __skillPeople))
VAR __ids = SELECTCOLUMNS(__people, "__id", TalentEmployee[employeeId])
VAR __poolKeys = SELECTCOLUMNS(__people, "__role", TalentEmployee[roleId])
VAR __roleScope = FILTER(SuccessionRole, SuccessionRole[roleId] IN __poolKeys)
VAR __roles = ADDCOLUMNS(__roleScope,
"__successors", VAR __key = SuccessionRole[roleId] RETURN COUNTROWS(FILTER(__people, TalentEmployee[roleId] = __key && TalentEmployee[successorFlag] = "Yes")) + 0,
"__ready", VAR __key = SuccessionRole[roleId] RETURN COUNTROWS(FILTER(__people, TalentEmployee[roleId] = __key && TalentEmployee[successorFlag] = "Yes" && TalentEmployee[promotionReadiness] = "1 Ready now")) + 0)
VAR __skills = FILTER(SkillGap, SkillGap[employeeId] IN __ids)
VAR __n = COUNTROWS(__people) + 0
RETURN IF(__n < 10 || ISEMPTY(AsOf), BLANK(), __n)
Direct dependencies: None
Training Hours per Employee
TalentEmployee · Development
VAR __roleKeys = VALUES(SuccessionRole[roleId])
VAR __skillPeople = VALUES(SkillGap[employeeId])
VAR __people = FILTER(TalentEmployee,
(NOT ISFILTERED(SuccessionRole) || TalentEmployee[roleId] IN __roleKeys) &&
(NOT ISFILTERED(SkillGap) || TalentEmployee[employeeId] IN __skillPeople))
VAR __ids = SELECTCOLUMNS(__people, "__id", TalentEmployee[employeeId])
VAR __poolKeys = SELECTCOLUMNS(__people, "__role", TalentEmployee[roleId])
VAR __roleScope = FILTER(SuccessionRole, SuccessionRole[roleId] IN __poolKeys)
VAR __roles = ADDCOLUMNS(__roleScope,
"__successors", VAR __key = SuccessionRole[roleId] RETURN COUNTROWS(FILTER(__people, TalentEmployee[roleId] = __key && TalentEmployee[successorFlag] = "Yes")) + 0,
"__ready", VAR __key = SuccessionRole[roleId] RETURN COUNTROWS(FILTER(__people, TalentEmployee[roleId] = __key && TalentEmployee[successorFlag] = "Yes" && TalentEmployee[promotionReadiness] = "1 Ready now")) + 0)
VAR __skills = FILTER(SkillGap, SkillGap[employeeId] IN __ids)
VAR __n = COUNTROWS(__people) + 0
RETURN IF(__n < 10 || ISEMPTY(AsOf), BLANK(), DIVIDE(SUMX(__people, TalentEmployee[trainingHours]) + 0, __n))
Direct dependencies: None