ProApp Designer - Release 14.10 (Package 22)

Report Control

Report control is used to generate reports from the available data. Data will be fetched for a report control based on the Query Definition selected for the control. Report can be generated based on the data associated with the context item, or it could be generated based on global data of any other ItemType. Report control allows you to present data in form of PivotTable, Line Chart, Bar Chart, Area Chart etc.

  • Name: It is used to uniquely identify control inside the template.
  • Label: It is used to show title on the control. It can be localized by defined Languages and Locales inside innovator.
  • Type: It allows you to select the type of the chart for presenting the report data. Its dropdown shows list of available report types like PivotTable, Table BarChart, Heatmap, Row Heatmap, Column Heatmap, Line Chart, Bar Chart, Stacked Bar Chart, Area Chart, Stacked Area Chart.
    • Type: PivotTable

    • Type: Area Chart

    • Type: Stacked Bar Chart

    • Type: TreeTable
      TreeTable report is used to show report data in the form of table or tree-table. The Report will be table or tree-table based on data returned from the configured Query Definition. TreeTable Report settings show section to configure columns that you want to see on the report. Columns can be configured based on the properties returned from Query Definition. TreeTable report can also support dynamic columns. To configure dynamic columns, you need to select DynamicColumns option from the first column dropdown. When you select DynamicColumns option, second column shows list of ServerMethods. Dynamic columns are defined based on columns definition values returned from configured ServerMethod. When you select DynamicColumns for the report, report PostMethod setting should be configured. Configured ServerMethod under PostMethod setting, should return values that need to be shown under report DynamicColumns.

    • Type: Power BI
      Power BI reports can be accessed from Power BI server through the Power BI Integration configured using Integration Framework. Please refer Power BI Integration documentation on how to configure the integration. In order to create Power BI report, integration item should be created under Integration Framework. All available Power BI integrations are shown under PowerBI Integration dropdown in Power BI Report settings. Since reports in Power BI server are organized in workspaces, after selecting integration item available workspaces will be shown under PowerBI Workspace dropdown. Upon selecting the workspace, available reports from that workspace will be shown under PowerBI Report dropdown.

    Data Source: Data source for the report can be ‘Query Definition’, ‘Expression’, and ‘Method’.

    • Data Source: Query Definition
      In order to create a report based on the Query Definition, Query Definition has to be created that accepts id for local report or no-id for global report scope. When you select his option, you will get see settings like Scope, Query Definition, PreMethod, and PostMethod.

    • Data Source: Expression
      When you select option ‘Expression’, expression editor will be shown with all properties from the context ItemType. Complex filter expression can be built with grouping and logical operators. At runtime, this filter expression will be converted to AML and will be executed to get results from server. With this option you will get see setting PostMethod, using that you can further filter results based on custom logic.

    • Data Source: Method
      When you select option ‘Method’, it will show you the option to select ServerMethod, that can contain logic to return list of ids, that can be used to generate the report. To specify which properties are returned from the ServerMethod, you can define a List item in Aras Innovator with a list of all properties names as options. That list can be selected for setting ‘Properties List’.

  • Scope: It allows you to define the report with Local and Global scopes. If you select Global scope, it will show all the Query Definitions which are available in Innovator. With Local scope, it will only show Query Definitions defined based on the ItemType associated with the current template.
  • Query Definition: It allows you to select the query that can be used to fetch data from Innovator database. It shows a list of all Query Definitions available in Innovator based on the selected Scope.
  • PreMethod: It is an optional setting, in the absence of this, it will always pass context item id to the Query Definition to get the report data. By setting this value, it will allow you to pass different item id to QueryDefintion execution in place of the context item id. Upon clicking the dropdown, you will get to see list of all server methods. You need to select an appropriate server method that takes the context item id as an input, transform it to some other relatedItem id, and returns transformed id.
  • PostMethod: It is an optional setting, in the absence of this, it will always return the json generated from the Query Definition execution as the report data. By setting this value, it will allow you to transform json returned from the QueryDefintion execution. Upon clicking the dropdown, you will get to see list of all server methods. You need to select an appropriate server method that takes the json returned from QueryDefintion execution as an input, transform it to different json that is suitable to render inside the report control, and returns transformed json.
  • Function: It allows you to select appropriate aggregate function that will be applied on the report data returned from the QueryDefintion execution. Upon clicking the dropdown, you will get to see list of all standard aggregate functions. If the selected Function is other than Count, you need to select a property for Value in order to apply the function.

  • Properties: It shows you the list of properties that can be returned from the Query Definition execution. While defining Query Definition, you need to make sure all required properties for the report are returned from the Query Definition. You can place these properties under Group By and Column settings with a simple drag and drop operation.

  • Axis (Categories): It allows you to select properties for grouping and sub-grouping in the horizontal direction.
  • Legend (Series): It allows you to select properties for grouping and sub-grouping in the vertical direction.
  • Drilldown Columns: Clicking on the numbers shown in the reports, Drilldown Report will be shown in the Flyout with all the relevant items. Using DrilldownColumns settings section, you can add all the required columns to the Drilldown Flyout. Columns can be added based on the properties returned from the QueryDefintion. Using Column Width option, you can set column widths in percentage or pixels. If you select Column Width as Percentage, you never see horizontal scrollbar, widths of the columns will get adjusted to the available total width of the tree-table. If Column Width option is selected as Pixels, you will see horizontal scrollbar if the combined widths of all columns is more than available flyout width. As part of adding column, you need to select the property from QueryDefinition, to which you want to bind the column. After adding columns, you can edit the Width of the column, or you can reorder column using drop-drop icon from the Actions columns. You can delete existing column by selecting delete icon from the Actions column. You can also define the width of the Flyout in percentage with respect to main page.

  • Show Label: It controls whether Label can be shown at the top of the
    report control.
  • Report Data Cache: It allows caching the report data to render the report quickly next time when it is opened. If option ‘None’ is selected, report data will never be cached, it renders report based on current state of the database. If option ‘User’ is selected, report data is cached for each user when the report is rendered for the first time. Cached report data for one user, can never be shown to the other user. If option ’Global’ is selected, when the report is rendered for any user first time, its data is cached, and the same data will be shown to other users.
  • Commands: Using Commands section, you can show or hide standard commands shown on the Table toolbar. You can also define custom command by selecting Type as Button or DropDown and entering command name. For each custom command, you can set On Click, Can Show, On Load options.
    Each custom command can be configured with ‘On Click’ handler to perform certain action. It can show a shortcut to the existing Innovator actions like Structure Browser, Where Used, Workflow Signoffs etc. It can also be configured to call a custom script. By selecting Script option in the dialog, you can associate custom script that contains code to filter the report data based on the filter expression or parameters.
    Each custom command can be configured with ‘Can Show’ option to define custom JavaScript that will return a boolean value. If returned value is true, command will be shown otherwise command will be hidden.
    Each custom command of type ‘DropDown’ can be configured with ‘On Load’ option to load options for the DropDown at runtime.
    For each command, you can configure the icon. You can also show or hide the command by selecting checkbox under Hide column.

  • Placement: It allows you to place the report in the available horizontal space through alignment (left, right, center) setting. It also allows you to set maximum height that can be used to show report data.
  • Access: It allows you to define the roles which can access control. You can configure Roles (in the form group identities) to whom this control should be shown.
  • Display Condition: Based on the option selected for Display Condition, the control will be shown or hidden in the wizard at runtime. You can select one of the options like ‘Always Show’, ‘Always Hide’, ‘Expression’, or ‘Script’. Expression allows you to define a Boolean expression using properties from the current and previous pages (in case of multi-page application) to conditionally display the control if expression is evaluated to true. Expression will be evaluated based on the cached property values on the client. Script allows you to write custom JavaScript code that should return Boolean value. If returned value is false, the control will be hidden.
  • Margin: It allows you to set the required top, right, bottom, left margins with respect to adjacent controls.