Agnes's SSAS Project Documentation

1,444 views

Published on

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,444
On SlideShare
0
From Embeds
0
Number of Embeds
14
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Agnes's SSAS Project Documentation

  1. 1. Prepared By: Agnes TetterSETFOCUS, LLC08/20/2009SSAS/MDX/KPI Student ProjectALLWORKS Database Documentation<br />Part I: SSAS Project<br />File Location: C:SetFocusBIProjectsstudentVersionSSASStudentProject<br />301625497205SSAS Solution Filename: SSASStudentProject.sln<br />Figure 1.1 Data Source View: Filename: All Works DSV.dsv<br />Data Source View was created using the following four fact tables and nine dimension tables.<br />Fact Tables: JobSummaryFacts, JobOverheadSummaryFacts, JobMaterialFacts, JobLaborFacts<br />Dimension Tables: AllWorksCalendar, Clients, ClientGroupings, County, Division, Employees, JobMaster, Material Type, Overhead.<br />The Fact and Dimension Tables relationships were created based on the following project requirements. <br /><ul><li>Allworks Calendar Dimension Table serves as the target table of JobOverheadSummaryFacts, JobMaterialFacts, and JobLaborFacts through week ending date attribute and JobSummaryFacts based on JobClosedDate attribute
  2. 2. Employees Dimension table was the target of a relationship from JobLaborFacts Table based on EmployeePK attribute.
  3. 3. MaterialTypes Dimension table was the target of a relationship from JobMaterialFacts table through MaterialTypePK attribute.
  4. 4. Overhead Dimension Table was the target of a relationship from JobOverheadSummaryFacts though OverheadPK attribute.
  5. 5. JobMaster Dimension Table was the target of 4 relationships from JobOverheadSummaryFacts, JobMaterialFacts, JobLaborFacts, and JobSummaryFacts Table through JobMasterPK attribute
  6. 6. JobMaster Dimension Table and Clients Dimension Table had a relationship through ClientPK
  7. 7. Clients Dimension Table was connected to County Dimension Table which was connected also with Division Dimension Table based on CountyPK and DivisionPK attributes respectively.
  8. 8. Clients Dimension Table was connected to ClientGroupings Dimension Table through ClientGroupingPK attributes.</li></ul>After relationships were created, the next step was the creation of the cube and dimension. There was one cube with four fact tables and five dimension tables created out of nine dimensions. Figure 1.2 shows the cube structure of AllWorksCube. Only the five dimensions (AllWorksCalendar, JobMaster, Overhead, MaterialType, and Emplooyes) with direct relationship with the four fact tables were shown in the solution explorer. The four dimension tables (client, division, client grouping , and county) that had no direction were hidden under JobMaster Table.<br />42926059055<br />Figure 1.2 Cube: Filename: All Works Cube.cube<br />In this project we used MOLAP for SSAS data storage. Queries to MOLAP data execution are significantly faster than queries against other two storage modes (ROLAP and HOLAP). For our cube performance optimization we used two partitions for each fact table. One partition was from year 2005 down and the second partition was from 2006 up. Partitions allow the server to detect which partition can be simply ignored for a query. For example, if a query is querying the month January for the year 2006, with this partition, there is no need for the query to scan the data from 2005. The following are the names of the partition created for each fact table.<br />Job Summary Facts<br />1st Partition Name: Active Partition Job Summary Facts (include the data from 2006 and later)<br />2nd Partition Name: Archive Partition Job Summary Facts (include the data from 2005 and before)<br /> Job Overhead Summary Facts<br />1st Partition Name: Active Partition Job Overhead Summary Facts<br /> (Include the data from 2006 and later)<br />2nd Partition Name: Archive Partition Job Overhead Summary Facts<br /> (Include the data from 2005 and before)<br /> Job Material Facts<br />1st Partition Name: Active Partition Job Material Facts (Include the data from 2006 and later)<br />2nd Partition Name: Archive Partition Job Material Facts (Include the data from 2005 and before)<br /> Job Labor Facts<br />1st Partition Name: Active Partition Job Labor Facts (Include the data from 2006 and later)<br />2nd Partition Name: Archive Job Labor Facts (Include the data from 2005 and before)<br />After we created and ran the MDX queries (Part 2 of this documentation) and KPI (Part 3 of this documentation), we designed the aggregation for 50% performance increase for each partition. Refer to figure 1.3 for the screenshot of the partition design.<br />Figure 1.3 Partition Screenshot of the Four Facts Table<br />Part 2: MDX Workshop Solution<br />File Location: C:SetFocusBIProjectsstudentVersionSSAS_MDX_Project<br />Solution Filename: SSAS_MDX_Project.ssmssln<br />Part 3: Calculation and KPI Screenshots<br />File Location: C:SetFocusBIProjectsstudentVersionSSASStudentProject<br />SSAS Solution Filename: SSASStudentProject.sln<br />Figure 3.1 Calculation Screenshot used in KPI<br />In the Calculation Tab of AllWorks Cube, we created eleven calculations or measures that were used in the KPI (Key Performance Indicator). These measures are the following:<br /><ul><li>[Measures].[CurrentJobNum],
  9. 9. [Measures].[CurrentQuarter],
  10. 10. [Measures].[DiffCurrentPrevJobNum],
  11. 11. [Measures].[OpenReceivables],
  12. 12. [Measures].[PctIncreaseOverhead],
  13. 13. [Measures].[PreviousJobNum],
  14. 14. [Measures].[PreviousQuarter],
  15. 15. [Measures].[ProfitPct],
  16. 16. [Measures].[TotalCost],
  17. 17. [Measures].[TotalCostPctOverhead,
  18. 18. [Measures].[TotalProfit] </li></ul>We will discuss each of them and where it was used in the KPI. <br />Figure 3.2 KPI 1 Screenshot<br />Requirements for KPI1 are the following: <br />KPI1: Project (“Job”) Master Open Receivables as a % of Invoice AmountOpen Receivables = Invoice Amount minus Amount ReceivedWhen Invoice Amount is 0, display -100%0 – 10% OKGreater than 10%, less than or equal to 20% , warningGreater than 20% – badUse Traffic LightRun for all Clients in alphabetical order <br />The solution for KPI1 includes the calculations/measures that were used.<br />KPI Name: KPIOpenReceivablesPct<br />Measures Used: (Taken from the AllWorks Cube Calculation Tab)<br />Calculation Measure Name: OpenReceivablesPct<br />Calculation Measure Expression:<br />IIF(([Measures].[Invoice Amount])=0, -1,<br />([Measures].[Invoice Amount]-[Measures].[Amount Received])/[Measures].[Invoice Amount])<br />Note: The IIF function will return -1 when the Invoice amount is equal to zero, which in this case will return -100% after converted to a percentage format.<br />Calculation Format String: ‘PERCENT’<br />KPI Value Expression: [Measures].[OpenReceivablesPct]<br />KPI Goal: 0.10<br />KPI Status Indicator: Traffic Light<br />KPI Status Expression:<br />CASE <br />WHEN KPIVALUE(" KPIOpenReceivablesPct" ) <= KPIGOAL(" KPIOpenReceivablesPct" )AND <br /> KPIVALUE(" KPIOpenReceivablesPct" )>= 0 THEN 1<br />WHEN KPIVALUE(" KPIOpenReceivablesPct" ) > KPIGOAL(" KPIOpenReceivablesPct" ) AND<br /> KPIVALUE(" KPIOpenReceivablesPct" ) <= .20 THEN 0<br />WHEN KPIVALUE(" KPIOpenReceivablesPct" ) >.20 THEN -1<br />END<br /> Figure 3.3 KPI 1 Excel Screenshot<br />This was tested and run in excel. The display screen is at figure 3.3, where the clients name is in the row is listed in alphabetical order. Green light refers to a good status for the KPIOpenReceivablesPct value which is from zero to 10% , yellow light refers to a warning status wherein the value of KPIOpenReceivablesPct is between greater than 10% and equal to 20%, and the red light refers to a bad status of the KPIOpenReceivablesPct value if its value is greater than 20%. The rows that have no KPI status are those values that were negative because negative values were not included in our KPI status expression.<br /> <br />152401270 Figure 3.4 KPI 2 Screenshot<br />Requirements for KPI2 are the following: <br />KPI2:Project (“Job”) Master Increase in number of Jobs from the previous quarter to the current quarter0 or more is good (meaning we’ve done at least one more Job for this quarter than for the last quarter….a zero means we’ve done at least the same # of Jobs)-1 is bad (we’ve done less Jobs for the client in the current qtr, versus the previous quarterUse Traffic LightRun for all Clients in alphabetical order for the 2nd Qtr of 2006<br />KPI Name: KPIDiffCurrentPrevJobNum<br />Measures Used: (Taken from the AllWorks Cube Calculation Tab)<br />Calculation Measure Name: DiffCurrentPrevJobNum, PreviousJobNum, CurrentJobNum<br />Calculation Measure Expression: (PreviousJobNum)<br />([Measures].[Job Summary Facts Count],[All Works Calendar].[FY Calendar].prevmember)<br />Calculation Format String: ‘Standard’<br />Calculation Measure Expression: (CurrentJobNum)<br />([Measures].[Job Summary Facts Count],[All Works Calendar].[FY Calendar].currentmember)<br />Calculation Format String: ‘Standard’<br />Calculation Measure Expression: (DiffCurrentPrevJobNum)<br />[Measures].[CurrentJobNum]-[Measures].[PreviousJobNum]<br />Calculation Format String: ‘Standard’<br />KPI Value Expression: [Measures].[DiffCurrentPrevJobNum]<br />KPI Goal: 0<br />KPI Status Indicator: Traffic Light<br />KPI Status Expression:<br />CASE <br />WHEN KPIVALUE(" KPIDiffCurrentPrevJobNum" ) >= KPIGOAL(" KPIDiffCurrentPrevJobNum" ) THEN 1<br />ELSE -1 <br />END <br />Figure 3.5 KPI 2 Excel Screenshot<br />KPI 2 was tested and run in excel. The display screen is at figure 3.5, where the Clients Name is in alphabetical order in the row and filtered the client’s job increase from 2nd quarter of 2005 to 2nd quarter of 2006. Green light refers to a good status of the KPIDiffCurrentPrevJobNum value which is from zero and above. The red light refers to a bad status of the KPIDiffCurrentPrevJobNum value that is less than zero. <br />Figure 3.6 KPI3 Screenshot<br />Requirements for KPI3 are the following: <br />KPI3:Project (“Job”) Master Overhead as a % of Total Cost(where total cost = Total Overhead + Total material Cost + Total Labor Cost)When Total Overhead is 0, display 0%0 – 10% OKGreater than 10%, less than or equal to 15%, WarningGreater than 15% - badUse Traffic LightRun For all Jobs in alphabetical order<br />KPI Name: KPITotalCostPctOverhead<br />Measures Used: (Taken from the AllWorks Cube Calculation Tab)<br />Calculation Measure Name: TotalCostPctOverhead<br />Calculation Measure Expression: TotalCostPctOverhead<br />IIF([Measures].[Total Overhead]=0, 0,([Measures].[Total Overhead]/[Measures].[TotalCost]))<br />Calculation Format String: ‘PERCENT’<br />KPI Value Expression: [Measures].[TotalCostPctOverhead]<br />KPI Goal: 0.10<br />KPI Status Indicator: Traffic Light<br />KPI Status Expression:<br />CASE <br />WHEN KPIVALUE(" KPITotalCostPctOverhead" ) <= KPIGOAL(" KPITotalCostPctOverhead" ) then 1<br />WHEN KPIVALUE(" KPITotalCostPctOverhead" ) > KPIGOAL(" KPITotalCostPctOverhead" ) and KPIVALUE(" KPITotalCostPctOverhead" )<= .15 then 0<br />WHEN KPIVALUE(" KPITotalCostPctOverhead" ) >.15 then -1<br />END<br />Figure 3.7 KPI3 excel Screenshot<br />KPI 3 was tested and run in excel. The display screen is in figure 3.7, where the rows are the List of Job Description in alphabetical order. Green light refers to a good status of the KPITotalCostPctOverhead value which is from zero to 10%, yellow light refers to warning which is an indication that the KPITotalCostPctOverhead values were greater than 10% or less than and equal to 15% more, and the red light refers to a bad status of the KPITotalCostPctOverhead value, this is the values greater than 15%. <br />Figure 3.8 KPI4 Screenshot Requirements for KPI4 are the following: <br />KPI4:Project (“Job”) Master Profit %Total Profit / (Total Costs + Total Profit)Total Profit = Total Labor Profit + Total Material Profit + Additional Labor ProfitTotal Costs = Total Labor Cost + Total Material Costs + Total Overhead (hint: you created this as a calculation for KPI3, so you can reuse it)When Total Costs is 0, display 100%Less than or equal to 5% is badGreater than 5%, Less than or equal to 15%, warningGreater than 15%, goodUse Traffic LightRun for all Clients in alphabetical order<br />KPI Name: KPIProfitPct <br />Measures Used: (Taken from the AllWorks Cube Calculation Tab)<br />Calculation Measure Name: ProfitPct , TotalCost, TotalProfit<br />Calculation Measure Expression: TotalCost<br />IIF([Measures].[Total Overhead]=0, 0,([Measures].[Total Labor Cost]+[Measures].[Total Material Cost]+[Measures].[Total Overhead]))<br />Calculation Format String: ‘Currency’<br />Calculation Measure Expression: TotalProfit<br />[Measures].[Total Labor Profit]+[Measures].[Total Material Cost]+[Measures].[Additional Labor Profit] <br />Calculation Format String: ‘Currency’<br />Calculation Measure Expression: ProfitPct <br />IIF([Measures].[TotalCost]=0, 1,[Measures].[TotalProfit]/([Measures].[TotalCost]+<br />[Measures].[TotalProfit])) <br />Calculation Format String: ‘PERCENT’<br />KPI Value Expression: [Measures].[TotalCostPctOverhead]<br />KPI Goal: 0.15<br />KPI Status Indicator: Traffic Light<br />KPI Status Expression:<br />CASE <br />WHEN KPIVALUE(" KPIProfitPct" ) > KPIGOAL(" KPIProfitPct" ) THEN 1<br />WHEN KPIVALUE(" KPIProfitPct" ) > .05 and KPIVALUE(" KPIProfitPct" )<= KPIGOAL(" KPIProfitPct" ) THEN 0<br />WHEN KPIVALUE(" KPIProfitPct" ) <= .05 then -1<br />END<br />47180527305Figure 3.2.5 KPI5 ScreenshotFigure 3.9 KPI4 Excel ScreenshotKPI 4 was tested and run in excel. The display screen is in figure 3.9. The rows are the List of all clients name in alphabetical order. Green light refers to a good status of the KPIProfitPct value which is greater than 15%, yellow light refers to a warning status which an indication that the KPIProfitPct values were greater than 5% or less than and equal to 15% more, and the red light status refers to a bad status of the KPIProfitPct value, these were the values less than or equal to 5%.<br />Figure 3.10 KPI5 Screenshot<br />Requirements for KPI5 are the following: <br />KPI5Project (“Job”) OverheadDetermine % increase in Overhead category from one quarter to anotherWhen previous quarter is 0, display 100%Less than 10% increase is goodBetween 10% and 15%, warningGreater than 15%, badUse Traffic LightRun for each Overhead Category in alphabetical order for the 2nd Qtr of 2006<br />KPI Name: KPIPctIncreaseOverhead<br />Measures Used: (Taken from the AllWorks Cube Calculation Tab)<br />Calculation Measure Name: ProfitPct , TotalCost, TotalProfit<br />Calculation Measure Expression: TotalCost<br />IIF([Measures].[Total Overhead]=0, 0,([Measures].[Total Labor Cost]+[Measures].[Total Material Cost]+[Measures].[Total Overhead]))<br />Calculation Format String: ‘Currency’<br />Calculation Measure Expression: PreviousQuarter <br />(Parallelperiod([All Works Calendar].[FY Calendar].[Qtr],1,[All Works Calendar].[FY Calendar].currentmember),[Measures].[Weekly Over Head])<br />Calculation Format String: ‘Standard’<br />Calculation Measure Expression: CurrentQuarter<br />([All Works Calendar].[FY Calendar].currentmember,[Measures].[Measures].[Weekly Over Head])<br />Calculation Format String: ‘Standard’<br />Calculation Measure Expression: PctIncreaseOverhead <br />IIF([Measures].[PreviousQuarter]=0, 1,([Measures].[CurrentQuarter]-[Measures].[PreviousQuarter])/[Measures].[PreviousQuarter])<br />Calculation Format String: ‘Percent’<br />KPI Value Expression: [Measures].[PctIncreaseOverhead]<br />KPI Goal: 0.10<br />KPI Status Indicator: Traffic Light<br />KPI Status Expression:<br />CASE <br />WHEN KPIVALUE(" KPIPctIncreaseOverhead" ) < KPIGOAL(" KPIPctIncreaseOverhead" )then 1<br />WHEN KPIVALUE(" KPIPctIncreaseOverhead" ) >.15 then -1<br />Else 0<br />End<br />Figure 11 KPI5 Excel Screenshot<br />KPI 5 was tested and run in excel. The display screen is in figure 3.11. The rows are the List of all overhead categories in alphabetical order. Green light refers to a good status of the KPIPctIncreaseOverhead value which is less than 15%, yellow light refers to a warning status which is an indication that the KPIPctIncreaseOverhead values were between 10% and 15% , and the red light status refers to a bad status of the KPIPctIncreaseOverhead value, these were the values greater than 15%.<br />

×