DAX definitions
Exact source expressions and direct measure dependencies for the selected page.
Bench Strength
TalentEmployee · Succession
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 __g = COUNTROWS(FILTER(__people, TalentEmployee[successorFlag] = "Yes")) + 0 RETURN IF(__g > 0 && __g < 10, BLANK(), DIVIDE(__g, COUNTROWS(__roles))))
Direct dependencies: None
Ready-Now Role Coverage %
TalentEmployee · Succession
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(COUNTROWS(FILTER(__roles, [__ready] > 0)) + 0, COUNTROWS(__roles)))
Direct dependencies: None
Ready-Now Successor Count
TalentEmployee · Succession
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 __g = COUNTROWS(FILTER(__people, TalentEmployee[successorFlag] = "Yes" && TalentEmployee[promotionReadiness] = "1 Ready now")) + 0 RETURN IF(__g > 0 && __g < 10, BLANK(), __g))
Direct dependencies: None
Roles With No Ready Successor
TalentEmployee · Succession
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(), COUNTROWS(FILTER(__roles, [__ready] = 0)) + 0)
Direct dependencies: None
Succession Coverage %
TalentEmployee · Succession
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(COUNTROWS(FILTER(__roles, [__successors] > 0)) + 0, COUNTROWS(__roles)))
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