SSRS-PPS-Excel Services ProjectSQL Server 2008SetFocus Business Intelligence Master’s ProgramJeff Jacob, MBAP: (312) 772-6142E1: Jeffrey.K.Jacob@gmail.comE2: Jeffrey.Jacob@SetFocus.com
2Project Objectives  Develop reporting solutions for AllWorks, Inc. based on the OLAP database, according to specifications, employing SSRS, PerformancePoint Server Dashboard Designer and Excel Services
  Create user-configurable Scorecards, Report Tables and Charts using PerformancePoint Server Dashboard Designer
Create user-configurable Report Charts employing SSRS
Create user-configurable Report Pivot Tables and Charts in MS Excel 2007 and incorporate these into PerformancePoint Server Dashboards
Deploy these reporting solutions to desired SharePoint collection site folders for distribution3Developing a Scorecard for KPI reportingFirst, the Analysis Services Scorecard template is chosen.The first scorecard: ScorecardsData Source: AllWorks_Overhead (cube perspective)KPI source: ImportedKPI selected: KPI Overhead Trend (see OLAP project for details)KPI Display Name Override: Overhead TrendGoal and Status Properties:* Show no value     * Score rollup type = none     * Name override = StatusKPI Properties:     * Value number format = %; Decimal places = 2     * Scoring pattern and indicator – default / stoplightDisplay requirement – display Overhead Trend KPI data broken out for the OverheadType attribute hierarchy members including the summary ‘all’Publish All – confirm output in Scorecard editor
4Developing a second Scorecard for KPI reportingFirst, the Analysis Services Scorecard template is chosen.The second scorecard: JKJ_Client Job FinancialsData Source: AllWorks_Summary (cube perspective)KPI sources: Imported KPIs selected: Objective (Summary) KPI: Client FinancialsKPI Open Receivables as Pct of Invoice
KPI Profit PctObjective (Summary) KPI: Construction Job FinancialsKPI Overhead as Pct of Total CostGoal and Status Properties:     * Show no value     * Score rollup type = none     * Name override = StatusKPI Properties:     * Value number format = %; Decimal places = 2 (1 for Profit Pct)     * Scoring pattern and indicator – default / stoplightDisplay requirement – show Client Financials KPIs broken out by Client Name; show Construction Job Financials KPI broken out by Project NamePublish All – confirm output in Scorecard editor
5Using the Scorecards for reporting in a dashboardLastly, the Dashboard Page, Scorecards, is set up to display the two foregoing scorecards, the first of which is to be configurable by Date QuartersIt will consist of three zones (the filter, the first scorecard, the second scorecard)The Overhead Quarter Filter is set up employing the AllWorks_Overhead perspective’s Named Set: [OverheadQuarters]This filter is then linked only to the ScoreCards scorecard for end-user run-time configuration
6Using the Scorecards for reporting in a dashboardThe SharePoint deployed ScoreCards dashboard:
7Creating a Reporting (Analytic) Column ChartMaterial purchase costs by date quartersA new PerformancePoint Report, Material Purchases is added and defined using a custom MDX query:     * On Columns statement = bottom (x-) axis of chart     * On Rows statement = vertical (y-) axis of chart (material types as measured by cost)     * WHERE statement filters members; here, user-configurable Client Name parameter is addedIn the dashboard page, Materials, a Client Name filter is set up, using the [Client Plus All] named set and linked to this report/Client Parameter; per specification, it is designed to be used for one attribute hierarchy member at a time (All or individual members)
8Using the PPS Materials report in a dashboardThe SharePoint deployed Materials dashboard page:
9Creating a Reporting (Analytic) Line ChartOverhead costs by date quartersA new PerformancePoint Report, Overhead Cost is added and defined using a custom MDX query:     * On Columns statement = bottom (x-) axis of chart     * On Rows statement = vertical (y-) axis (user-configurable Overhead types in terms of the cost measure     * WHERE statement here,  sets the context - the cost measureIn the dashboard page, Materials, a Client Name filter is set up, using the [All Overhead Types] named set and linked to this report/OHTypeFilter Parameter; per specification, it is designed to be used for one or several attribute hierarchy members (only individual members)
10Using the PPS Overhead report in a dashboardThe SharePoint deployed Overhead dashboard page:
11Creating Reporting (Analytic) Grids/TablesLabor costs by project, configurable by date quartersLabor costs by worker, configurable by date quartersA new PerformancePoint Report, Top 10 Labor Jobs is added and defined using the report designer and then customized:     * On Columns statement = column(s) of grid/table – here, Labor Cost     * On Rows statement = row(s) of grid/table – here, Top 10 projects according to the measure, Labor Cost     * WHERE statement filters the user-configurable date quartersA new PerformancePoint Report, Top 5 Workers is added and defined using the report designer and then customized:     * On Columns statement = column(s) of grid/table – here, Labor Cost     * On Rows statement = row(s) of grid/table – here, Top 5 workers according to the measure, Labor Cost     * WHERE statement filters the user-configurable date quarters
12Using the PPS Labor report in a dashboardIn the dashboard page, Labor, a Quarter filter is set up, using the [Labor Quarters] named set and linked to these reports/Quarter Filter Parameter; per specification, it is designed to be used for one attribute hierarchy member at a time (excluding the ‘All’ member)
13Using the PPS Labor reports in a dashboardThe SharePoint deployed Labor dashboard page:
14Creating a Reporting (Analytic) Column-Line ChartEmployee labor costs and percent of total by employee (name)A new PerformancePoint Report, Pct of Quarterly Labor Dollars is added and defined using a custom MDX query:     * A calculated member [Total AllEmps Labor] is defined to provide the total labor cost for all projects in context (a filtered set) for all employees who worked on them     * A calculated member [Total Labor] is defined to rename the Labor Cost measure according to desired specifications     * A calculated member [% Total] is defined to provide the percentage of total labor cost that an employee incurred (projects the employee worked)     * On Columns statement = bottom (x-) axis of chart, here – date quarters     * On Rows statement = vertical (y-) axis of chart, here – the selected employee’s labor cost as measured in labor cost dollars     * WHERE statement filters members; here, a user-configurable Employee parameter is added
15Creating a Reporting (Analytic) GridEmployee labor analysis by project, configured by employeeA new PerformancePoint Report, % of Labor Dollars by Project is added and defined using a custom MDX query:     * A calculated member [Labor All  Employees] is defined to provide the total labor cost for all employees in contextof the project     * A calculated member [Tot Labor] is defined to rename the Labor Cost measure according to desired specifications     * A calculated member [% Total] is defined to provide the percentage of total labor cost that an employee incurred (projects the employee worked)     * On Columns statement = grid/table column headers, here – the employee labor analysis measures (based on the foregoing calculated members)     * On Rows statement = grid/table row headers, here – the filtered set of projects  - those, on which the selected employee worked     * WHERE statement filters members; here, a user-configurable Employee parameter is added
16Using the PPS Employee Analysis report in a dashboardIn the dashboard page, Employee Labor Analysis, an Employee filter is set up, using a custom MDX tuple set and linked to these reports/Employee Filter Parameter; per specification, it is designed to be used for one attribute hierarchy member at a time (excluding the ‘All’ member)
17Using the PPS Employee Labor Analysis reports in a dashboardThe SharePoint deployed Employee Labor Analysis dashboard page:
18Developing a Reporting Services (Analytic) Grid/TableOverhead costs, broken out by type, with respect to configurable quarter, the previous quarter and the percent changeReport Name: Overhead CategoryData Source: AllWorksOLAP cube (Overhead perspective)Tablix Object: TableColumn Headers: Description (Overhead Types), Prev Qtr, Current Qtr, Pct ChangeOne user-configurable parameter: Date QuarterThe primary report data set:Modification of report code to permit customization of MDX code for Report Data data sets:Using custom MDX to default the Date Quarter parameter to the last one with activity:
19Designing and deploying the SSRS Overhead Category reportThe SSRS design for Overhead Category report:The SharePoint deployed Overhead Category report:
20Subscribing to the SSRS Overhead Category reportThe MOSS 2007 subscription to the SSRS-designed Overhead Category report:     * Credentials for the data source to this report were added to make the subscription possible
21Developing a second Reporting Services (Analytic) Grid/TableProject labor cost and hours, detailed by weekend and project, configurable by: employee name, “from” weekend date and “to” weekend dateReport Name: Employee Jobs in Date RangeData Source: AllWorksOLAP cube (Labor perspective)Tablix Object: TableColumn Headers: ID, Full Name, Week End Date, Project Name, Hours Worked, Labor CostThree user-configurable parameters: Full Name, From Weekend Date, To Weekend Date  (cascading parameters; Name selection determines available weekend datesThe primary report data set design:Using custom MDX to restrain available weekend dates according to the selected employee:
22Designing and deploying the second SSRS Employee Jobs in Date Range reportThe SSRS design for the Employee Jobs in Date Range report:The SharePoint deployed Employee Jobs in Date Range report:
23Creating a PivotTable for Excel ServicesOverhead cost by Type and Quarters (configured  for a desired year)Connected to the AllWorksOLAP Overhead perspective, the following measures and dimensions were chosen; quarters displayed, year configurable – to create the below Pivot TableTo avoid duplicate display, the top two rows of the above spreadsheet were hidden; cell B1 was named and surfaced as a parameter in Excel Services Options; this pivot table as a single workbook item object was selected for SharePoint site publishing
24Adding the Pivot Table from Excel Services to a dashboardThe .ODC file, the connection string back to the Overhead perspective of the AllWorksOLAP cube, was also deployed to the SharePoint collection site – data sources library; custom MDX used to define the Year filter (one Year member at a time)* For each Excel-based report, the Excel-designed product was first uploaded to the SharePoint collection site, then downloaded into PPS where it became a useable report object to be integrated into the respective dashboard (shown above) page
25Using the Basic Overhead By Quarter/Year pivot table report in a dashboardThe SharePoint deployed Basic Overhead By Dates dashboard page:
26Creating a Pivot Chart for Excel ServicesLabor cost by Quarters, broken out by Employee TypeConnected to the AllWorksOLAP Labor perspective, the following measures and dimensions were chosen; quarters displayed, year and client name configurable – to create the below pivot chartTo avoid duplicate display, the top two rows of the above spreadsheet were covered over by the pivot chart; cells B1 and C1 were named and surfaced as parameters in Excel Services Options; this pivot chart as a single workbook item object was selected for SharePoint site publishing
27Adding the Pivot Chart from Excel Services to a dashboardThe .ODC file, the connection string back to the Labor perspective of the AllWorksOLAP cube, was also deployed to the SharePoint collection site – data sources library; custom MDX used to define the Year and Client Name filters (for each, multiple selections enabled)

JKJ_SSRS PPS Excel Services Project.Documentation

  • 1.
    SSRS-PPS-Excel Services ProjectSQLServer 2008SetFocus Business Intelligence Master’s ProgramJeff Jacob, MBAP: (312) 772-6142E1: Jeffrey.K.Jacob@gmail.comE2: Jeffrey.Jacob@SetFocus.com
  • 2.
    2Project Objectives Develop reporting solutions for AllWorks, Inc. based on the OLAP database, according to specifications, employing SSRS, PerformancePoint Server Dashboard Designer and Excel Services
  • 3.
    Createuser-configurable Scorecards, Report Tables and Charts using PerformancePoint Server Dashboard Designer
  • 4.
    Create user-configurable ReportCharts employing SSRS
  • 5.
    Create user-configurable ReportPivot Tables and Charts in MS Excel 2007 and incorporate these into PerformancePoint Server Dashboards
  • 6.
    Deploy these reportingsolutions to desired SharePoint collection site folders for distribution3Developing a Scorecard for KPI reportingFirst, the Analysis Services Scorecard template is chosen.The first scorecard: ScorecardsData Source: AllWorks_Overhead (cube perspective)KPI source: ImportedKPI selected: KPI Overhead Trend (see OLAP project for details)KPI Display Name Override: Overhead TrendGoal and Status Properties:* Show no value * Score rollup type = none * Name override = StatusKPI Properties: * Value number format = %; Decimal places = 2 * Scoring pattern and indicator – default / stoplightDisplay requirement – display Overhead Trend KPI data broken out for the OverheadType attribute hierarchy members including the summary ‘all’Publish All – confirm output in Scorecard editor
  • 7.
    4Developing a secondScorecard for KPI reportingFirst, the Analysis Services Scorecard template is chosen.The second scorecard: JKJ_Client Job FinancialsData Source: AllWorks_Summary (cube perspective)KPI sources: Imported KPIs selected: Objective (Summary) KPI: Client FinancialsKPI Open Receivables as Pct of Invoice
  • 8.
    KPI Profit PctObjective(Summary) KPI: Construction Job FinancialsKPI Overhead as Pct of Total CostGoal and Status Properties: * Show no value * Score rollup type = none * Name override = StatusKPI Properties: * Value number format = %; Decimal places = 2 (1 for Profit Pct) * Scoring pattern and indicator – default / stoplightDisplay requirement – show Client Financials KPIs broken out by Client Name; show Construction Job Financials KPI broken out by Project NamePublish All – confirm output in Scorecard editor
  • 9.
    5Using the Scorecardsfor reporting in a dashboardLastly, the Dashboard Page, Scorecards, is set up to display the two foregoing scorecards, the first of which is to be configurable by Date QuartersIt will consist of three zones (the filter, the first scorecard, the second scorecard)The Overhead Quarter Filter is set up employing the AllWorks_Overhead perspective’s Named Set: [OverheadQuarters]This filter is then linked only to the ScoreCards scorecard for end-user run-time configuration
  • 10.
    6Using the Scorecardsfor reporting in a dashboardThe SharePoint deployed ScoreCards dashboard:
  • 11.
    7Creating a Reporting(Analytic) Column ChartMaterial purchase costs by date quartersA new PerformancePoint Report, Material Purchases is added and defined using a custom MDX query: * On Columns statement = bottom (x-) axis of chart * On Rows statement = vertical (y-) axis of chart (material types as measured by cost) * WHERE statement filters members; here, user-configurable Client Name parameter is addedIn the dashboard page, Materials, a Client Name filter is set up, using the [Client Plus All] named set and linked to this report/Client Parameter; per specification, it is designed to be used for one attribute hierarchy member at a time (All or individual members)
  • 12.
    8Using the PPSMaterials report in a dashboardThe SharePoint deployed Materials dashboard page:
  • 13.
    9Creating a Reporting(Analytic) Line ChartOverhead costs by date quartersA new PerformancePoint Report, Overhead Cost is added and defined using a custom MDX query: * On Columns statement = bottom (x-) axis of chart * On Rows statement = vertical (y-) axis (user-configurable Overhead types in terms of the cost measure * WHERE statement here, sets the context - the cost measureIn the dashboard page, Materials, a Client Name filter is set up, using the [All Overhead Types] named set and linked to this report/OHTypeFilter Parameter; per specification, it is designed to be used for one or several attribute hierarchy members (only individual members)
  • 14.
    10Using the PPSOverhead report in a dashboardThe SharePoint deployed Overhead dashboard page:
  • 15.
    11Creating Reporting (Analytic)Grids/TablesLabor costs by project, configurable by date quartersLabor costs by worker, configurable by date quartersA new PerformancePoint Report, Top 10 Labor Jobs is added and defined using the report designer and then customized: * On Columns statement = column(s) of grid/table – here, Labor Cost * On Rows statement = row(s) of grid/table – here, Top 10 projects according to the measure, Labor Cost * WHERE statement filters the user-configurable date quartersA new PerformancePoint Report, Top 5 Workers is added and defined using the report designer and then customized: * On Columns statement = column(s) of grid/table – here, Labor Cost * On Rows statement = row(s) of grid/table – here, Top 5 workers according to the measure, Labor Cost * WHERE statement filters the user-configurable date quarters
  • 16.
    12Using the PPSLabor report in a dashboardIn the dashboard page, Labor, a Quarter filter is set up, using the [Labor Quarters] named set and linked to these reports/Quarter Filter Parameter; per specification, it is designed to be used for one attribute hierarchy member at a time (excluding the ‘All’ member)
  • 17.
    13Using the PPSLabor reports in a dashboardThe SharePoint deployed Labor dashboard page:
  • 18.
    14Creating a Reporting(Analytic) Column-Line ChartEmployee labor costs and percent of total by employee (name)A new PerformancePoint Report, Pct of Quarterly Labor Dollars is added and defined using a custom MDX query: * A calculated member [Total AllEmps Labor] is defined to provide the total labor cost for all projects in context (a filtered set) for all employees who worked on them * A calculated member [Total Labor] is defined to rename the Labor Cost measure according to desired specifications * A calculated member [% Total] is defined to provide the percentage of total labor cost that an employee incurred (projects the employee worked) * On Columns statement = bottom (x-) axis of chart, here – date quarters * On Rows statement = vertical (y-) axis of chart, here – the selected employee’s labor cost as measured in labor cost dollars * WHERE statement filters members; here, a user-configurable Employee parameter is added
  • 19.
    15Creating a Reporting(Analytic) GridEmployee labor analysis by project, configured by employeeA new PerformancePoint Report, % of Labor Dollars by Project is added and defined using a custom MDX query: * A calculated member [Labor All Employees] is defined to provide the total labor cost for all employees in contextof the project * A calculated member [Tot Labor] is defined to rename the Labor Cost measure according to desired specifications * A calculated member [% Total] is defined to provide the percentage of total labor cost that an employee incurred (projects the employee worked) * On Columns statement = grid/table column headers, here – the employee labor analysis measures (based on the foregoing calculated members) * On Rows statement = grid/table row headers, here – the filtered set of projects - those, on which the selected employee worked * WHERE statement filters members; here, a user-configurable Employee parameter is added
  • 20.
    16Using the PPSEmployee Analysis report in a dashboardIn the dashboard page, Employee Labor Analysis, an Employee filter is set up, using a custom MDX tuple set and linked to these reports/Employee Filter Parameter; per specification, it is designed to be used for one attribute hierarchy member at a time (excluding the ‘All’ member)
  • 21.
    17Using the PPSEmployee Labor Analysis reports in a dashboardThe SharePoint deployed Employee Labor Analysis dashboard page:
  • 22.
    18Developing a ReportingServices (Analytic) Grid/TableOverhead costs, broken out by type, with respect to configurable quarter, the previous quarter and the percent changeReport Name: Overhead CategoryData Source: AllWorksOLAP cube (Overhead perspective)Tablix Object: TableColumn Headers: Description (Overhead Types), Prev Qtr, Current Qtr, Pct ChangeOne user-configurable parameter: Date QuarterThe primary report data set:Modification of report code to permit customization of MDX code for Report Data data sets:Using custom MDX to default the Date Quarter parameter to the last one with activity:
  • 23.
    19Designing and deployingthe SSRS Overhead Category reportThe SSRS design for Overhead Category report:The SharePoint deployed Overhead Category report:
  • 24.
    20Subscribing to theSSRS Overhead Category reportThe MOSS 2007 subscription to the SSRS-designed Overhead Category report: * Credentials for the data source to this report were added to make the subscription possible
  • 25.
    21Developing a secondReporting Services (Analytic) Grid/TableProject labor cost and hours, detailed by weekend and project, configurable by: employee name, “from” weekend date and “to” weekend dateReport Name: Employee Jobs in Date RangeData Source: AllWorksOLAP cube (Labor perspective)Tablix Object: TableColumn Headers: ID, Full Name, Week End Date, Project Name, Hours Worked, Labor CostThree user-configurable parameters: Full Name, From Weekend Date, To Weekend Date (cascading parameters; Name selection determines available weekend datesThe primary report data set design:Using custom MDX to restrain available weekend dates according to the selected employee:
  • 26.
    22Designing and deployingthe second SSRS Employee Jobs in Date Range reportThe SSRS design for the Employee Jobs in Date Range report:The SharePoint deployed Employee Jobs in Date Range report:
  • 27.
    23Creating a PivotTablefor Excel ServicesOverhead cost by Type and Quarters (configured for a desired year)Connected to the AllWorksOLAP Overhead perspective, the following measures and dimensions were chosen; quarters displayed, year configurable – to create the below Pivot TableTo avoid duplicate display, the top two rows of the above spreadsheet were hidden; cell B1 was named and surfaced as a parameter in Excel Services Options; this pivot table as a single workbook item object was selected for SharePoint site publishing
  • 28.
    24Adding the PivotTable from Excel Services to a dashboardThe .ODC file, the connection string back to the Overhead perspective of the AllWorksOLAP cube, was also deployed to the SharePoint collection site – data sources library; custom MDX used to define the Year filter (one Year member at a time)* For each Excel-based report, the Excel-designed product was first uploaded to the SharePoint collection site, then downloaded into PPS where it became a useable report object to be integrated into the respective dashboard (shown above) page
  • 29.
    25Using the BasicOverhead By Quarter/Year pivot table report in a dashboardThe SharePoint deployed Basic Overhead By Dates dashboard page:
  • 30.
    26Creating a PivotChart for Excel ServicesLabor cost by Quarters, broken out by Employee TypeConnected to the AllWorksOLAP Labor perspective, the following measures and dimensions were chosen; quarters displayed, year and client name configurable – to create the below pivot chartTo avoid duplicate display, the top two rows of the above spreadsheet were covered over by the pivot chart; cells B1 and C1 were named and surfaced as parameters in Excel Services Options; this pivot chart as a single workbook item object was selected for SharePoint site publishing
  • 31.
    27Adding the PivotChart from Excel Services to a dashboardThe .ODC file, the connection string back to the Labor perspective of the AllWorksOLAP cube, was also deployed to the SharePoint collection site – data sources library; custom MDX used to define the Year and Client Name filters (for each, multiple selections enabled)