Post on 21-Nov-2014
description
transcript
Best Practices to LeverageUltiPro BI Today
Chris Chamberlain – Manager, Benefits & HR Analysis Safelite
Safelite
• Safelite Repair, Safelite Replace
• Columbus, OH
• 10k employees in nearly 700 locations, + 850 “mobile”
• Went Live with UltiPro on 10/1/2009
• SaaS: HR/Payroll/Benefits, Recruiting, Onboarding, Performance Management, Life Events/Open Enrollment
• In 2011 we had 73,803 employee/manager transactions processed in .Net (only 23,454 Administrator transactions)
• Ultipro elevated our reporting to true Business Intelligence
2
Next Level Reporting
3
UltiPro Business Intelligence
4
UltiPro Business Intelligence
5
How Do I Get “There”?
• Map it out
• Use the Administrator package
• Use Query Explorer
• Take control of your data
• Make it simple
• Don’t be afraid of SQL
6
Draw Your Map
• Plan it like a project
• Draw a picture
• Write down ALL the fields
• How many different calculations
7
Query2
Field From Show? Calculation Expression Filter Group Sort JoinEmpNo EmpPers X XLast,FirstName EmpPers X XStatus EmpComp <>'T'Employee Type EmpComp X REG='1','2'JobCode+Title EmpComp X Concat Cd || Title XCount Query2 X Count in Job
CoID EmpComp XEEID EmpComp X
How Do I Get “There”?
• Map it out
• Use the Administrator package
• Use Query Explorer
• Take control of your data
• Make it simple
• Don’t be afraid of SQL
8
• Don’t be afraid of “admin”
• More data = More data
• Never have missing-field regret
• Moving target
9
Annual Review Analysis - as of: Feb 20, 2012
Year: 2012
DISTRIBUTION
Team Summary
Overall Performance Rating Team Summary Target Count
1 - Greatly Exceeds Expectations 2% 3% 2
2 - Exceeds Expectations 33% 16% 36
3 - Meets Expectations 59% 70% 65
4 - Does Not Meet Expectations 4% 10% 4
5 - Needs Immediate Improvement 0% 1% 0
Not Rated 3% 0% 3
110Summary
0
10
20
30
40
50
60
70
80
1 2 3 4 5
ScoreD
istr
ibu
tion
Ratings Percent
Targeted Percent
Administrator Package
How Do I Get “There”?
• Map it out
• Use the Administrator package
• Use Query Explorer
• Take control of your data
• Make it simple
• Don’t be afraid of SQL
10
Query Explorer?
• Page View is for the final product
• Lets you focus on the data
• Multiple queries
11
How Do I Get “There”?
• Map it out
• Use the Administrator package
• Use Query Explorer
• Take control of your data
• Make it simple
• Don’t be afraid of SQL
12
Take Control of Your Data
• Check your properties
• Clear the slate
• Create your own aggregations (FOR)
13
Count ( [Employee Number] FOR [OrgLvl1] )
Average ( [Hourly Rt] FOR [JobCode] )
How Do I Get “There”?
• Map it out
• Use the Administrator package
• Use Query Explorer
• Take control of your data
• Make it simple
• Don’t be afraid of SQL
14
Make it Simple
• Don’t overcomplicate things
• Segment your data
• Make it easy for error checking
15
Effective-Date Headcount• Query1
– Maxdate: maximum([Business Layer].[Employee Job History].[Effective Date] for [Business Layer].[Employee Job History].[EjhEEID])
• [Business Layer].[Employee Job History].[Effective Date] <=?EffDate?
• cast([Effective Date],date)=cast([MaxDate],date) After Aggregation
• Query2– MaxCDateTime: maximum([Query1].[EjhDateTimeCreated] for [Query1].
[EjhEEID])
• cast([Query1].[EjhDateTimeCreated],time)=cast ([MaxCDateTime],time) After Aggregation
• Query3• [Employee Status Code]<>'T'
16
How Do I Get “There”?
• Map it out
• Use the Administrator package
• Use Query Explorer
• Take control of your data
• Make it simple
• Don’t be afraid of SQL
17
Don’t be Afraid of SQL
• Use SQL to pull the data that’s not in the package– select * from empcomp
• Company comparisons
• Joining databases
18
Expressions for the Next Level
19
• Days+/- _Add_Days
• MakeDate Cast([FIELD],date)
• Trim Trim([FIELD])
• Null [Field] is missing
• Case When Case when “x”=“y” then “z” else “q” end
• FOR ‘agg’([FIELD] for X)
• Substring substring([FIELD],’start’, ’length’)
#sq($account.defaultName)#
_add_days(current_date,-7)
Cast([Eff Date], date) = Cast([DateTimeCreated], date)
Trim([EmpNo]) = Trim([Query1].[Empno])
[Local Union Code] is missing OR [Local Union Code]<>’101’
CaseWhen [JobCode]=‘1234’ then ‘100’When [JobCode] starts with ‘4’ then ‘200’Else ‘300’End
Count (distinct [EmpNo] for [Job])
Substring([JobCode],3,2)=’11’
#sq($account.personalInfo.userName)# OR
Best Resources for ReportStudio
• BI Exchange
• LinkedIn - Ultipro Business Intelligence Group
• COGNOISe.com
• CogKnowHow.com
• CognosForums.com
• TechontheNet.com
• DashboardInsight.com (for inspiration)
20
• Entity Relationship Diagrams (ERD) – Doc Website, under Ultipro Reference
• Database Layout file: http://documentation.ultimatesoftware.com/documentationonlineguides/cognosspreadsheets/foldercontents.xls (or search Doc WebSite for foldercontents.xls)
BI Exchange – My Examples
21
• Benefit Election Comparison
• EEO (Dated Headcount, Hires, Job Change, Promotions, Terminations)
• Effective-Date Employee List
• Employees between dates w/variable filters
Chris Chamberlain
Christopher.chamberl@safelite.com
• GL Rules
• Job changes by daterange
• New Supervisors
• Total Compensation Statement w Burst
• Turnover – Basic w/Org Level Grouping Prompt
22