Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Get the Scoop: Developing Custom Reports

Ipro Reporting boasts a customization feature that enables the ability to provide useful, colorful, customized reports to clients and customers.

Ipro custom reports can be enhanced with visualizations.

Custom reports are accessible from anywhere, with the Ipro Solution.

Ipro custom reports can be secured or restricted to specific users or groups.

  • Login to see the comments

  • Be the first to like this

Get the Scoop: Developing Custom Reports

  1. 1. Get the Scoop: Developing Custom Reports
  2. 2. Private and Confidential – Copyright 2019 Why use custom reports? Enhance with Visualizations Can be secured or restricted Accessible from Anywhere Fully Customizable
  3. 3. Private and Confidential – Copyright 2019 Do you have what it takes? SQL Experience Ipro Schema familiarity SQL Reporting knowledge
  4. 4. Private and Confidential – Copyright 2019 Where do we begin? •Reports are executed by the Web service • Basic - Automatically Detected • Advanced - Manually Defined •There are two flavors of custom reports • Charts or Graphs • Input Parameters • Permissions • Custom Formatting • Report Interface Categorization •Advanced reports are required for reports that will contain any of the following
  5. 5. Private and Confidential – Copyright 2019 Factors to Consider ∙ What is our END GOAL? ∙ What INFORMATION do we need meet the goal? ∙ Who is the AUDIENCE? ∙ Will the report need SECURITY? ∙ Which MODULE will the report be targeting? ∙ What is the SCOPE? ∙ Will INPUT PARAMETERS be required?
  6. 6. Private and Confidential – Copyright 2019 Rules of Engagement The Numbered Circles on the slides indicate the text file with the appropriate code for that step. Type or copy and paste the Code for your reports located here: %Desktop%Ipro Tech Show DocumentsCloud WorkshopDay 2 - Wednesday - May 1stGet the Scoop - Custom Reports How do we add a report? Create the Schema Create the Report Build the Stored Procedure Verify your Work
  7. 7. The Case Administrator has requested a Report of the number of Emails per Custodian
  8. 8. Private and Confidential – Copyright 2019 1.Launch SQL Management Studio and connect to CLD-EVLADD001 Click New Query at the top of the screen (CTRL+N) 1.Type the Query Code into the ‘New Query’ window Execute the query (F5) Create the Schema %Desktop%Ipro Tech Show DocumentsCloud WorkshopDay 2 - Wednesday - May 1stGet the Scoop - Custom Reports USE IproEclipse_Case000001 GO CREATE SCHEMA UserDefinedReports GO Query Code:
  9. 9. Private and Confidential – Copyright 2019 Create the Report 1.1. Copy the query from the text file at path below into SSMS 2. Paste the Query Code below into the current query window 3. Execute the Query (F5) SELECT Custodian ,COUNT(Custodian) AS EmailCount FROM vDocumentFields VDF INNER JOIN FileTypes FT ON VDF.NATIVEFILETYPE = FT.FileTypeID WHERE FileCategoryId BETWEEN 5 AND 8 GROUP BY Custodian
  10. 10. Private and Confidential – Copyright 2019 Build the Stored Procedure Update the Script to a Stored Procedure and Execute (F5) CREATE PROCEDURE UserDefinedReports.CustodianEmailCount AS BEGIN SELECT Custodian ,COUNT(Custodian) AS EmailCount FROM vDocumentFields VDF INNER JOIN FileTypes FT ON VDF.NATIVEFILETYPE = FT.FileTypeID WHERE FileCategoryId BETWEEN 5 AND 8 GROUP BY Custodian END
  11. 11. Private and Confidential – Copyright 2019 Verify the Report in Ipro Reports 1. Log into Ipro (Chrome) 2. Navigate to Reports > Select Globex Industries v ATLN Energy - Review> Uncategorized 3. Select Custodian Email Count > Run Report Web Link User Name Password https://add.iprotech.com administrator@iprotech.com Admin123!
  12. 12. Report Definitions
  13. 13. Private and Confidential – Copyright 2019 What is a Report Definition? Format data headers and columns Allow Input Parameters Display Charts and Graphs Report Security Categorize by product and type in the interface
  14. 14. Private and Confidential – Copyright 2019 Dive into Report Definition INSERT INTO [Reporting].[ReportDefinition] ([Name] ,[ProductId] ,[ReportTypeId] ,[IsCommonReport] ,[ExecutionMetadata] ,[DisplayMetadata] ,[Description] ,[RequiredPermission]) VALUES ('CustodianEmailCount' ,3 ,6 ,1 ,'{"StoredProcedure":"UserDefinedReports.CustodianEmailCount" }' ,'[ { "Header":"Total Number of Emails", "Charts": [ {"Type":"horizontalBar", "Caption":"Emails Per Case", "XAxisField":"Custodian", "YAxisFields":["EmailCount"] } ] } ]' ,'Total Number of Emails Per Custodian' ,'CustodianEmailCount')
  15. 15. Private and Confidential – Copyright 2019 Let’s Break this Down
  16. 16. Private and Confidential – Copyright 2019 Report Definition: Name INSERT INTO [Reporting].[ReportDefinition] ([Name] ,[ProductId] ,[ReportTypeId] ,[IsCommonReport] ,[ExecutionMetadata] ,[DisplayMetadata] ,[Description] ,[RequiredPermission]) VALUES ('CustodianEmailCount' ,3 ,6 ,1 Name: The display name of the report on the Reports page in the User Interface. Consider a standard naming convention for custom reports to ensure clarity and consistency. *Be sure to use a Custom Schema Name for Defined Reports
  17. 17. Private and Confidential – Copyright 2019 Report Definition: ProductID INSERT INTO [Reporting].[ReportDefinition] ([Name] ,[ProductId] ,[ReportTypeId] ,[IsCommonReport] ,[ExecutionMetadata] ,[DisplayMetadata] ,[Description] ,[RequiredPermission]) VALUES ('CustodianEmailCount' ,3 ,6 ,1 ProductID: Refers to the product that your report will be available to This must be a value from the Enterprise.Product table
  18. 18. Private and Confidential – Copyright 2019 Report Definition: ReportTypeID INSERT INTO [Reporting].[ReportDefinition] ([Name] ,[ProductId] ,[ReportTypeId] ,[IsCommonReport] ,[ExecutionMetadata] ,[DisplayMetadata] ,[Description] ,[RequiredPermission]) VALUES ('CustodianEmailCount' ,3 ,6 ,1 ReportTypeId: Reports are displayed in groups by the report type in Ipro Reports. Report Type Descriptions can be found in the Reporting.ReportType table.
  19. 19. Private and Confidential – Copyright 2019 Report Definition: IsCommonReport INSERT INTO [Reporting].[ReportDefinition] ([Name] ,[ProductId] ,[ReportTypeId] ,[IsCommonReport] ,[ExecutionMetadata] ,[DisplayMetadata] ,[Description] ,[RequiredPermission]) VALUES ('CustodianEmailCount' ,3 ,6 ,1 IsCommonReport: This field determines whether your report is displayed in the Ipro Reports page even if it is not detected in the product database. Values are 0 or 1
  20. 20. Private and Confidential – Copyright 2019 Report Definition: ExecutionMetadata ,'{"StoredProcedure":"UserDefinedReports.CustodianEmailCounts" }' ,'[ { "Header":"Total Number of Emails", "Charts": [ {"Type":"horizontalBar", "Caption":"Emails Per Case", "XAxisField":"Custodian", "YAxisFields":["EmailCount"] } ] } ]' ,'Total Number of Emails Per Custodian' ,'CustodianEmailCount') ExecutionMetadata: Contains the valid JavaScript Object Notation needed by the system to run the report. This is a complex field, see the Ipro Custom Report Creation Guide for more details.
  21. 21. Private and Confidential – Copyright 2019 Report Definition: DisplayMetadata ,'{"StoredProcedure":"UserDefinedReports.CustodianEmailCounts" }' ,'[ { "Header":"Total Number of Emails", "Charts": [ {"Type":“horizontalBar", "Caption":"Emails Per Case", "XAxisField":"Custodian", "YAxisFields":["EmailCount"] } ] } ]' ,'Total Number of Emails Per Custodian' ,'CustodianEmailCount') DisplayMetadata: Contains the valid JavaScript Object Notation needed by the system to display the results. This is a complex field, see the Ipro Custom Report Creation Guide for more details.
  22. 22. Private and Confidential – Copyright 2019 Report Definition: Description ,'{"StoredProcedure":“UserDefinedReports.CustodianEmailCounts" }' ,'[ { "Header":"Total Number of Emails", "Charts": [ {"Type":"horizontalBar", "Caption":"Emails Per Case", "XAxisField":"Custodian", "YAxisFields":["EmailCount"] } ] } ]' ,'Total Number of Emails Per Custodian' ,'CustodianEmailCount') Description: A brief summary, instructions, or description of the report; displayed to end-users
  23. 23. Private and Confidential – Copyright 2019 Report Definition: RequiredPermission ,'{"StoredProcedure":“UserDefinedReports.CustodianEmailCounts" }' ,'[ { "Header":"Total Number of Emails", "Charts": [ {"Type":"horizontalBar", "Caption":"Emails Per Case", "XAxisField":"Custodian", "YAxisFields":["EmailCount"] } ] } ]' ,'Total Number of Emails Per Custodian' ,'CustodianEmailCount') RequiredPermission: The permission object associated with the report. Linked to the Permissions.Permission table.
  24. 24. Private and Confidential – Copyright 2019 Run and Verify the Report 1. Execute the Script (F5) 2. Log into Ipro (Chrome) 3. Navigate to Reports > Select Globex Industries v ATLN Energy - Review > Quality Control 4. Select Custodian Email Count > Run Report Web Link User Name Password https://add.iprotech.com administrator@iprotech.com Admin123!
  25. 25. Private and Confidential – Copyright 2019 Ipro Reports
  26. 26. Private and Confidential – Copyright 2019 • Reserved System Schema name • Stored Procedures detected in an Ipro case database with this schema name will appear in the Uncategorized Section of Ipro Reports and will not require a report definition. • Reports designated by a custom schema name will require a report definition. Ex: [ADDCustomReporting].[CustodianDocTypeCount] UserDefinedReports Schema
  27. 27. Presentation TitlePrivate and Confidential – Copyright 2019 Private and Confidential – Copyright 2019 Private and Confidential – Copyright 2019 Permissions.Permission Add the Report to the Permissions table so that it appears in the interface
  28. 28. Presentation TitlePrivate and Confidential – Copyright 2019 Private and Confidential – Copyright 2019 Private and Confidential – Copyright 2019 Managing Permissions
  29. 29. Report Parameters
  30. 30. Presentation TitlePrivate and Confidential – Copyright 2019 Private and Confidential – Copyright 2019 Private and Confidential – Copyright 2019 Parameter Display Types * Require an additional field to be specified in order to work. See details starting on page 13. ** Only used for reports that require a CaseProductEnvironmentId (CpeId) parameter (IE. a Case Specific Report) Text Number Checkbox Date List* Multi-Select* Hidden** ABC 123
  31. 31. Presentation TitlePrivate and Confidential – Copyright 2019 Private and Confidential – Copyright 2019 Private and Confidential – Copyright 2019 Creating Parameterized Reports •Add a Parameter Definition to the Ipro database • Add a Parameter Stored Procedure to the Case database •Parameter Stored Procedure will need to return two columns: ID and Name •The Parameter Stored Procedure will be referenced in the Execution Metadata of the report definition •May require a secondary stored procedure that returns the values of the parameter
  32. 32. Presentation TitlePrivate and Confidential – Copyright 2019 Private and Confidential – Copyright 2019 Private and Confidential – Copyright 2019 Parameter List Definitions • Reporting.ParameterListDefinition table contains the recommended Parameter List options • Linked to the ExecutionMetadata field in your Report Definition • Limited support for Custom Parameter list definitions
  33. 33. Instead of the report running on emails only, the Case Administrator would like to pick the file type.
  34. 34. Presentation TitlePrivate and Confidential – Copyright 2019 Private and Confidential – Copyright 2019 Private and Confidential – Copyright 2019 Adding a Parameterized Report Report Definition Parameter List Definition Parameter List Stored Procedure Report Stored Procedure
  35. 35. Presentation TitlePrivate and Confidential – Copyright 2019 Private and Confidential – Copyright 2019 Private and Confidential – Copyright 2019 Let’s add a Parameter: File Category • Add a new Report Definition with updated execution metadata • Specify a parameter list definition Example Execution Metadata: { 'StoredProcedure’:’ADDCustomReporting.CustodianDocTypeCount', 'ParameterInfo': [ { 'Name': 'FileCategoryID', 'DisplayName': 'FileCategory', 'DisplayType': 'list', 'ParameterListName': 'GetFileCategories' } ] }
  36. 36. Presentation TitlePrivate and Confidential – Copyright 2019 Private and Confidential – Copyright 2019 Private and Confidential – Copyright 2019 Parameter List Definition INSERT INTO [Reporting].[ParameterListDefinition] ([Name] ,[StoredProcedure] ,[RequiresCpeId] ,[ProductId] ,[DisplayColumn] ,[ValueColumn]) VALUES ('GetFileCategories' ,'ADDCustomReporting.GetFileCategories' ,0 ,3 ,'Name' ,'ID' ) GO Add a Custom Parameter List Definition to the existing table.
  37. 37. Presentation TitlePrivate and Confidential – Copyright 2019 Private and Confidential – Copyright 2019 Private and Confidential – Copyright 2019 Parameter List Stored Procedure CREATE SCHEMA ADDCustomReporting GO CREATE PROCEDURE ADDCustomReporting.GetFileCategories AS BEGIN SELECT FileCategoryID AS [ID] , FileCategoryName AS [NAME] FROM FileCategories END Create the following Stored Procedure in the IproEclipse_Case000001 Database:
  38. 38. Presentation TitlePrivate and Confidential – Copyright 2019 Private and Confidential – Copyright 2019 Private and Confidential – Copyright 2019 Parameterized Report Stored Procedure CREATE PROCEDURE ADDCustomReporting.CustodianDocTypeCount @FileCategoryID int = 0 AS BEGIN SELECT Custodian ,COUNT(Custodian) AS FileCount FROM vDocumentFields VDF INNER JOIN FileTypes FT ON VDF.NATIVEFILETYPE = FT.FileTypeID WHERE FileCategoryId = @FileCategoryID GROUP BY Custodian END Create the following Stored Procedure in the IproEclipse_Case000001 Database:
  39. 39. Presentation TitlePrivate and Confidential – Copyright 2019 Private and Confidential – Copyright 2019 Private and Confidential – Copyright 2019 We’re All Done! Upload a Preview Image for easy recognition!
  40. 40. Presentation TitlePrivate and Confidential – Copyright 2019 Private and Confidential – Copyright 2019 Private and Confidential – Copyright 2019 We’re All Done!
  41. 41. Thank you for joining us!

×