ES-Analyzer-Premium-Edition

Από

ES Analyzer Structure

To begin with, ES Analyzer is formed by several json files. There is the master json file named ESAnalyzer_Premium.json and the ESAnalyzer_Premium folder (Application Folder\ESWebAssets). The master json file (ESAnalyzer_Premium.json) holds Groups and the related folder (ESAnalyzer_Premium) contains subfolders with other json files. These subfolders are used for managing easier the large number of json files. Their names are based on each Group’s ID. Finally, the json files stored in each subfolder refer to the MainMenu and the MainMenu content items. The json files are named after MainMenu item ID. It is recommended to follow this practice when naming your folders or json files. Though, you can name them at your convenience.

  • ES-Analyzer-Premium-Edition-image2.pngGroups correspond to the sidebar menu of ES Analyzer.
  • MainMenu items correspond to the sidebar submenu
  • MainMenu content items correspond to the content area of each MainMenu item.

ES-Analyzer-Premium-Edition-image3.png

ES-Analyzer-Premium-Edition-image4.pngIf there are two MainMenu items with the same ID, then the last one (in alphabetical order) will prevail.

MainMenu and MainMenu content items use ESUITypes to manage the way data are displayed. Some ESUITypes use restricted structure of data. Currently, there are seven (7) UI (User Interface) types available; ESGrid, ESChart, ESTreemap, ESPivot, ESMap, ESGauge and ESCombo.

In the following pages, a brief description of Groups, MainMenu & MainMenu content items, and afterwards, ESUITypes are thoroughly presented along with the necessary user guidelines and examples.

Prerequisites

  • ESUITypes use a specific data retrieval component, named Public Query. To design and manage a Public Query you have to use the view designer. Firstly, you create the view and then through the ‘Publish’ action you create the related Public Query.

For detailed instructions for Public Query creation, please visit: Entersoft Public Queries

ES-Analyzer-Premium-Edition-image4.pngData CANNOT be sorted, if you use SQL Additions and ‘Instead of SELECT’ option is activated. If data are not sorted then server pagination is not supported.

  • CSWebAssets folder creation. This is required in order to avoid replacement of files when upgrading to latest EBS version. After, CSWebAssets folder creation, the ESAnalyzer_Premium.json and the ESAnalyzer_Premium folder must be copied from ESWebAssets to CSWebAssets.

If the master json file ESAnalyzer_Premium.json is copied to CSWebAssets then the system searches for the related ESAnalyzer_Premium folder INSIDE CSWebAssets. Consequently, IT IS MANDATORY TO COPY BOTH the master json file ESAnalyzer_Premium.json AND the related ESAnalyzer_Premium folder to CSWebAssets.

Groups

All groups are saved to the “ESAnalyzer_Premium” json file (Application Folder\ESWebAssets). The “Groups” section is bounded by opening and closing square brackets ( [ ] ) and all objects between square brackets must be comma ( , ) separated. As previously mentioned, it corresponds to the sidebar menu of ES Analyzer Site as depicted below. Also, the ID of each Group refers to the related subfolder inside ESAnalyzer_Premium folder.

C:\Users\rig\AppData\Local\Temp\SNAGHTML33bda5b.PNG

User Privileges

By default, in the “ESAnalyzer_Premium” json file the following six (6) groups are included and each group is related to a user group which could be used to deny access to a user of this group:

ID Description EBS User Group Code
MGMT Deny access to General management DENY_ANALYZER_MGMT
FIN Deny access to Financial management DENY_ANALYZER_FIN
CML Deny access to Commercial management DENY_ANALYZER_CML
SVC Deny access to Customer support DENY_ANALYZER_SVC
SCLOG Deny access to Supply chain management DENY_ANALYZER_SCLOG
BUSENT Deny access to Master entities DENY_ANALYZER_BUSENT

To deny access to a menu group to a specific user, the corresponding user group should be assigned to this user in the Entersoft Business Suite and the group disappears from the ES Analyzer side bar menu.

If any new group was added, then the corresponding EBS User group should be created. For instance, the group with title ‘General’ and ID ‘GNR’ was added to the json file, then the corresponding EBS User Group should be DENY_ANALYZER_GNR.

ES-Analyzer-Premium-Edition-image7.pngTo assign a user group to a user open the Entersoft Business Suite and go to General \ User administration and select a user. Then insert the user group in the user groups list and refresh the application server.

ES-Analyzer-Premium-Edition-image4.pngThe prefix of the group should always be DENY_ANALYZER_ and the suffix should always be the ES Analyzer Group ID.

New Group

To add a new Group, a new object must be added to the Groups section in the JSON file.

In between the opening and closing remarks of this section, the following script should be inserted and be configured:

ES-Analyzer-Premium-Edition-image8.png

Group Configuration

The Group object main properties and their value types are the following:

  1. AA

Holds number value and defines the sequence in which a group is shown on the sidebar menu.

  1. ID

Holds string value and it is recommended to be an abbreviation of the title.

  1. Title

Holds an object value. The object properties get string values. Each property refers to the language in which the title has to be written, i.e. “en” refers to the English language, “ro” refers to the Romanian language, etc. In case of monolingual title, the corresponding language property of our interest must be filled out and all others should have an empty string.

  1. Icon

Holds string value and refers to the icon depicted in front of the title. All available icons can be found on the following websites:

  1. Material Design Icons

To replace the existing icon with another one from this website you have to click on the icon you wish, copy the icon’s title and keep the “mdi mdi- and replace the second part of the string. See the example below:

ES-Analyzer-Premium-Edition-image9.png

  1. Bootstrap Glyphicons

To replace the existing icon with another one from this website you have to open the drop down list of the selected icon and select “HTML Tag”. Then paste the copied tag to a notepad and select the string defined to “class” and paste it to the “icon” property. See the example below:

ES-Analyzer-Premium-Edition-image10.png

MainMenu item

Each MainMenu item is saved as a distinct json file inside the folder of the Group that it is bound to. The Group folder has the same name with the GroupID of MainMenu item and the json file name must be the same with its ID. MainMenu is bounded by opening and closing curly brackets ( { } ).

ES-Analyzer-Premium-Edition-image11.png

New MainMenu

To add a new MainMenu item, create a new json file inside the folder of the group you wish to be bound to.

In the new json file insert and configure the following script:

ES-Analyzer-Premium-Edition-image12.png

MainMenu Configuration

The most important MainMenu object properties and their value types are the following:

  • AA

Holds number value and defines the sequence in which a group is shown on the sidebar menu. It is recommended to use tens of thousands of the Group AA that the MainMenu belongs to. For instance, the script of the MainMenu item above belongs to the Group "BUSENT" and this Group’s AA is 1, so 1 x 10000 = 10000. In many cases, more than one MainMenus are related to a Group, so a hundred is added to the AA of the previous MainMenu related to the same Group. For example, the AA of the first MainMenu related to Group "BUSENT" is 10000, so the AA of the next MainMenu related to the same Group should be 10000 + 100 =10100. The AA of the following MainMenu related to the same Group should be 10100 + 100 =10200 and so forth.

ES-Analyzer-Premium-Edition-image13.png

  • ID

Holds string value and always begins with “PQ_followed by the MainMenu AA, i.e. PQ_10000.

  • GroupID

Holds string value and always is the Group’s ID that the MainMenu belongs to. For instance, the MainMenu above belongs to the Group "BUSENT" and this Group’s ID is "BUSENT".

C:\Users\rig\AppData\Local\Temp\SNAGHTML1c58215.PNG

  • Title

Holds an object value. The object properties get string values. Each property refers to the language in which the title has to be written, i.e. “en” refers to the English language, “ro” refers to the Romanian language, etc. In case of monolingual title, the corresponding language properties of our interest must be filled out and all others should have an empty string.

  • Description

Holds string value.

  • ESUIType

ES-Analyzer-Premium-Edition-image15.pngHolds string value. There are seven (7) UI (User Interface) types available; ESGrid, ESChart, ESTreemap, ESPivot, ESMap, ESGauge and ESCombo.

  • esDef

The MainMenu Content is set to this property. MainMenu Content configuration is thoroughly described in the following pages.

MainMenu Content item

MainMenu Content items are stored in the same json file with the MainMenu item that it is related to. MainMenu Content is set to the MainMenu property “esDef. This section of the JSON is depicted in the content area of ES Analyzer Site and is related to a MainMenu.

ES-Analyzer-Premium-Edition-image16.png

New MainMenu Content item

To add a new item to the MainMenu Content, a new object or an array object must be set to the MainMenu property “esDef in the JSON file. The esDef value type depends on the defined MainMenu ESUIType. Only in case of esCombo UI type, an array object must be set to esDef. In any other case, only one object can be set to esDef. The array object values are bounded by opening and closing square brackets ( [ ] ) and all objects between square brackets must be comma ( , ) separated.

There is no specific script to set to esDef, since it differs from UI type to type.

ES UI Types

At this time, there are eight (8) UI (User Interface) types available. Each one corresponds to a graphic representation of data retrieved from the Entersoftt Business Suite (EBS) system. To retrieve data, the use of Views and Public Queries is required. Firstly, a View must be designed and afterwards, it must be published in order to create the related Public Query. In the JSON file, only the Public Queries and their areas are used. In some UI types, views must have restricted structure and their column names must apply to specific terms.

Currently, the following ES UI types are available:

  1. ESGrid
  2. ESChart
  3. ESTreemap
  4. ESPivot
  5. ESMap
  6. ESGauge
  7. ESCard
  8. ESCombo

General

Parameter panel

All ES UI types, except of ESGauge, use parameter panel and by default it is collapsed. All parameters defined in every Public Query are shown in the parameter panel of the corresponding component.

ES-Analyzer-Premium-Edition-image17.png

Investigation parameters

You can make any parameter of a Public Query investigable by assigning a zoom table to this parameter in the related view or by assigning a custom view.

To assign a custom view to a parameter, you have to:

  1. If Public Query of the custom view does not exist, create the related Public Query.
  2. Go to the parameter and assign the property ‘Investigation PQ’. The value of the parameter must have the following syntax PublicQueryArea\PublicQuery\ColumnName
  • PublicQueryArea

Corresponds to the Public Query Area inside the ESPublicQueries folder

  • PublicQuery

Corresponds to the investigation Public Query

  • ColumnName

The column name of the Public Query that refers to the value that will be passed to the investigation parameter.

ES-Analyzer-Premium-Edition-image18.png

Show parameter value

In case you wish a parameter value of a Public Query to be always visible, even if the parameter panel is collapsed, go to the related view of the public query in the view designer and assign to this specific parameter the property ‘Show parameter’ as True.

ES-Analyzer-Premium-Edition-image19.png

Params Property

ES-Analyzer-Premium-Edition-image20.pngThis property is used to set default parameter values to every Public Query of every ES UI Type. The parameter can be either hidden or displayed in the parameter panel. Default parameter value could be set even if the ES UI Type does not have parameter panel. It is assigned right after the FlterID property of any object.

It holds an array object where the id property holds as a string the parameter id and the value property holds as a string the value.

Supported types of parameters

At the present moment, the supported types of parameters are the following:

  • Date range

List of values:

  • Today - “ESDateRange(Day)”
  • Until today – “ESDateRange(SpecificDate, #1753/01/01#, Day, 0)”
  • From today – “ESDateRange(Day, 0, SpecificDate, #9999/01/01#)”
  • Yesterday – “ESDateRange(Day, -1)”
  • Until yesterday – “ESDateRange(SpecificDate, #1753/01/01#, Day, -1)”
  • Tomorrow – “ESDateRange(Day, 1)”
  • From tomorrow – “ESDateRange(Day, 1, SpecificDate, #9999/01/01#)”
  • Current week – “ESDateRange(Week)”
  • Previous week – “ESDateRange(Week, -1)”
  • Next week – “ESDateRange(Week, 1)”
  • Current month – “ESDateRange(Month)”
  • From start of month – “ESDateRange(Month, 0, SpecificDate, #9999/01/01#)”
  • Until the end of month – “ESDateRange(SpecificDate, #1753/01/01#, Month, 0)”
  • Previous month – “ESDateRange(Month, -1)”
  • From start of prev month – “ESDateRange(Month, -1, SpecificDate, #9999/01/01#)”
  • Until the end of previous month – “ESDateRange(SpecificDate, #1753/01/01#, Month, -1)”
  • Current quarter – “ESDateRange(Quarter)”
  • Previous quarter – “ESDateRange(Quarter, -1)”
  • Current semester – “ESDateRange(SixMonth)”
  • Previous semester – “ESDateRange(SixMonth, -1)”
  • This year – “ESDateRange(Year)”
  • Last year – “ESDateRange(Year, -1)”
  • String
  • Date
  • Boolean
  • Integer

Global parameter panel

This type of parameter panel can be used in ESCombo UI type to group the parameters that the objects of the ESCombo have in common. For instance, two different objects use two different Public Queries, though they are filtered by the same type of parameter with the title ‘Cash account’ and its code is ‘CashAccountCode’. Therefore, instead of having two different parameter panels, one for each object, the parameter in common could be grouped into one global parameter. ES-Analyzer-Premium-Edition-image21.png

Global Parameter Panel Configuration

The Global Parameter Panel main properties and their value types are the following:

  • AutoExecute

Holds a Boolean value. Passes the parameter values and executes or not the Public Queries. The available options are true and false.

  • esPanelOpen
  • status

Holds Boolean value. Expands or collapses the panel. The available options are true and false.

  • Parameters

The parameter configuration options. It accepts an Array of parameters, each with its own configuration options.

  • id

The id of the parameter. The value must be the same with the parameters’ code.

  • aa

Holds number value and defines the sequence in which the parameter is shown.

  • Caption

Holds an object value. The object properties get string values. Each property refers to the language in which the parameter caption has to be written, i.e. “en” refers to the English language, “ro” refers to the Romanian language etc. In case of monolingual parameter caption, the corresponding language property of our interest must be filled out and all others should have an empty string.

  • controlType

Refers to the control type of the parameter. For detailed information, refer to Appendix A

  • parameterType

Refers to the parameter type. For detailed information, refer to Appendix A

  • multiValued

Holds Boolean value. Determines if the parameter can hold single or multiple values. The available options are true and false.

  • visible

Holds Boolean value. Determines if the parameter will be visible. The available options are true and false.


  • required

Holds Boolean value. Determines if the parameter is required. The available options are true and false.

  • defaultValues
    • Value

Holds the default value of the parameter. The syntax is the same with the default values defined in the view designer.

  • Tags

Holds the value assigned to the parameter in the tab ‘Parameters’ in ‘Properties’ field of view designer. To get the value of the properties field, just click in the field and press ES-Analyzer-Premium-Edition-image22.png + ES-Analyzer-Premium-Edition-image23.png . After pasting the tag, you should replace single backslash ( \ ) with double backslash ( \\ ) e.g. "INVPQ:ESPQParams\CompanyBranch\Code" "INVPQ:ESPQParams\\CompanyBranch\\Code".

ES-Analyzer-Premium-Edition-image4.png

The global parameter panel feature is available from version 2.1.0 and latest.

ESGrid

This type of UI is used when data should be displayed in a grid. No restricted structure and terms required in the view.

ES-Analyzer-Premium-Edition-image24.png

ESGrid Configuration

The ESGrid UI type main properties and their value types are the following:

  • GroupID

Holds the area of the Public Query as string value.

  • FilterID

Holds the Public Query name (namely, the view ID).

  • PQOptions
  • serverPaging

Holds Boolean value. Enables or disables server pagination. The available options are true and false.

To avoid any delays or server limitations when large amount of data are going to be shown in the grid, it is highly recommended to set serverPaging as true.

  • pageSize

Holds numeric value and corresponds to the number of items shown to each page in the grid.

When large amount of data are going to be shown in the grid, it is highly recommended to set pageSize a reasonable number (i.e. avoid setting more than 60 items per page)

  • AutoExecute

Holds a Boolean value. Executes or not the Public Query. The available options are true and false.

Grid Layout

The layout defined in the view designer is used by ES Analyzer to depict the corresponding grid. For instance, column width, total row, number format, etc. Currently, colors and state icons are not supported.

It is highly recommended to keep grids as simple as possible. For instance, try to show only the necessary columns and avoid giving too large header titles considering that the grid is accessed through mobile devices.

ESChart

There are several types of charts. Supported types: Area, Bar, Box plot, Bubble, Bullet, Donut, Funnel, Line, Pie, Polar, Radar, Range Bar, Scatter, Sparklines and Waterfall. In the following lines, a description of mandatory properties of each chart is provided. For further information you can visit: Telerik - Kendo UI Chart documentation and see the Charts Section.

ESChart Configuration

All of the chart types mentioned above must have the following properties.

Mandatory Common Properties

  • GroupID

Holds the area of the Public Query as string value.

  • FlterID

Holds the Public Query name (namely, the view ID).

  • UIOptions

Holds an object that contains all properties relative to the graphic representation of data.

  • Series
  • type

Holds a string value that defines the chart type.

Area, Bar, Box plot, Bubble, Bullet, Donut, Funnel, Line, Pie, Polar, Radar, Range Bar, Scatter, Sparklines and Waterfall

  • Field

Holds a column name defined in the view designer. This column must always contain numerical values. Occasionally, this property is set in the array of Group property.

  • categoryField

Holds the column name defined in the view designer which contains categorical values.

  • Legend
  • visible

Holds a Boolean value; true or false. Defines the legend visibility.

  • Position

Holds string value that defines the position of the legend. There are four (4) basic options; top, bottom, left and right.

  • Tooltip
  • visible

Holds a Boolean value; true or false. Defines the tooltip visibility.

  • template

Holds string value: e.g. "template": "#= category #: #= value #"

Visit Telerik - Kendo UI Templates for further information about templates

  • === Area ===

ES-Analyzer-Premium-Edition-image25.png

  • === ES-Analyzer-Premium-Edition-image26.pngBox plot ===
  • === Bubble ===

ES-Analyzer-Premium-Edition-image27.png

No restricted structure and terms required in the view.

Properties

  • UIOptions

  • Series
  • Legend

  • visible

Holds a Boolean value; true or false. Defines the legend visibility.

  • Position

Holds string value that defines the position of the legend. There are four (4) basic options; top, bottom, left and right.

  • Labels
  • Template

Holds string value and must be the following: "template": "#= series.name #"

  • Group

  • Field

Holds as string a column name which contains categorical values. All other data will be grouped by these categorical values.

  • xField

Holds string value. It refers to the X coordinate of the bubble, so it holds a column name with numerical values.

  • yField

Holds string value. It refers to the Y coordinate of the bubble, so it holds a column name with numerical values.

  • sizeField

Holds string value. It refers to the size (or Z value) of the bubble, so it holds a column name with numerical values.

  • xAxis
  • labels

  • format

Holds string value which defines the format of the label.

  • Title

Holds an object value. It corresponds to the x axis title of the chart. The object properties get string values. Each property refers to the language in which the title has to be written, i.e. “en” refers to the English language, “ro” refers to the Romanian language etc. In case of monolingual title, the corresponding language property of our interest must be filled out and all others should have an empty string.

  • yAxis
  • labels

  • format

Holds string value which defines the format of the label.

  • Name

Holds as string the column name which contains categorical values. It has been previously declared in the field of Series Group.

  • Title

Holds an object value. The object properties get string values. Each property refers to the language in which the title has to be written, i.e. “en” refers to the English language, “ro” refers to the Romanian language etc. In case of monolingual title, the corresponding language property of our interest must be filled out and all others should have an empty string.

  • === Bullet ===
  • === ES-Analyzer-Premium-Edition-image28.pngDonut ===

ES-Analyzer-Premium-Edition-image29.png

  • === Funnel ===

ES-Analyzer-Premium-Edition-image30.png

  • === Pie ===

ES-Analyzer-Premium-Edition-image31.png

No restricted structure and terms required in the view.

Properties

  • UIOptions

  • Series
  • startAngle

The start angle (degrees) of the first pie segment.

  • axis

Holds the column name defined in the view designer, which contains the number of counting items.

  • === ES-Analyzer-Premium-Edition-image32.pngColumn, Bar, Line & Combined ===

No restricted structure and terms required in the view.

Properties

  • UIOptions

  • Series

Holds array object. The array can hold multiple series (objects). In this case, multiple data will be depicted in multiple columns, or bars, or lines or a combination of them. The possible combinations could be bar – line or column – line. All series must contain the following:

  • type

Holds a string value that defines the chart type. The available options are column, bar and line.

  • legend

  • visible

Holds a Boolean value; true or false. Defines the legend visibility.

  • Position

Holds string value that defines the position of the legend. There are four (4) basic options; top, bottom, left and right.

  • Labels
  • Template

Holds string value and must be the following: "template": "#= series.title #"

  • axis

The name of the value axis to use. Holds the column name defined in the view designer. This column must always contain numerical values.

  • valueAxis

Corresponds to the graphical representation of Υ axis in the chart.

  • visible

Holds a Boolean value; true or false. Defines the axis visibility.

  • name

Holds a column name defined in the view designer. This column must always contain numerical values.

  • title

Holds an object value. The object properties get string values. Each property refers to the language in which the title has to be written, i.e. “en” refers to the English language, “ro” refers to the Romanian language etc. In case of monolingual title, the corresponding language property of our interest must be filled out and all others should have an empty string.

  • categoryAxis

Corresponds to the graphical representation of the X axis in the chart.

  • Categories

Holds a string value. Here, the column name which returns categorical values should be defined.

  • Labels

There are several properties to help the user manage the way categorical data are depicted, such as rotation and font.

ES-Analyzer-Premium-Edition-image33.pngThe property rotation holds a numeric value which defines the angle of the categorical values. The property font holds as a string value the size of the categorical values in pixels.

  • axisCrossingValues

Category indices at which the value axes cross the category axis.

  • === ES-Analyzer-Premium-Edition-image34.pngStacked Column or Bar ===

The configuration of this UI type is exactly the same as a simple column or bar chart. Their configuration has been described before. The only difference is that the user have to add two (2) more properties; the group and the seriesDefaults. Those properties must be inserted right after the legend property inside UIOptions. In case of stacked column or bar chart the series property type has to be removed, since it is declared in seriesDefaults property.

  • Group
  • Field

Holds as string a column name which contains categorical values. All other data will be grouped by these categorical values.

  • seriesDefaults
  • type

Holds a string value that defines the chart type. In this case, column or bar.

  • Stack

Holds a Boolean value; true or false.

  • === ES-Analyzer-Premium-Edition-image35.pngPolar ===
  • === ES-Analyzer-Premium-Edition-image36.pngRadar ===
  • === Range bar ===

ES-Analyzer-Premium-Edition-image37.png

  • === Range area ===

ES-Analyzer-Premium-Edition-image38.png

  • === Scatter ===

ES-Analyzer-Premium-Edition-image39.png

  • === ES-Analyzer-Premium-Edition-image40.pngSparklines ===
  • === Waterfalls ===

ES-Analyzer-Premium-Edition-image41.png

ESTreemap

ES-Analyzer-Premium-Edition-image42.pngThis type of UI is used when a hierarchy should be depicted as treemap. In this case, restricted structure and terms are required in this view. For instance, let us depict the item hierarchy as a treemap. In the view, items are grouped into two (2) groups; Family and Group. Each one of the columns with categorical values must be named as a1, a2, a3 and so forth, and the column with the numerical values must be always named as Figure.

ES-Analyzer-Premium-Edition-image43.png

ESTreemap Configuration

  • AA

Holds number value and defines the sequence in which the chart is shown.

  • GroupID

Holds the area of the Public Query as string value.

  • FilterID

Holds the Public Query name (namely, the view ID).

  • UIOptions
  • Type

Holds a string value and defines the way data are depicted. There are three (3) available options; horizontal, vertical and squarified.

ESPivot

This type of UI is used when data should be depicted in a pivot chart. No restricted structure and terms required in the view.

ES-Analyzer-Premium-Edition-image44.png

ESPivot Configuration

  • AA

Holds number value and defines the sequence in which the chart is shown.

  • GroupID

Holds the area of the Public Query as string value.

  • FilterID

Holds the Public Query name (namely, the view ID).

  • UIOptions
    • EnableChart

Holds Boolean value. Shows or hides the chart. The available options are true and false.

  • autoBind

Holds Boolean value. If set to false the widget is not bound to the data source during initialization. In this case data binding will occur when the change event of the data source is fired.

  • cudeDef
    • Fields
      • dataField

Holds the column name defined in the view designer, which contains the data we want to be depicted.

  • Area

Holds the area where the data will be placed in the chart. The available options are row, column, filter and data.

  • dataType

This field is not mandatory. It is used only when the dataField contains datetime data. In this case the datatype must be defined through this property.

  • GroupInterval

This field is not mandatory. It is used only when the dataField contains datetime data and we wish to group the measures by a specific time period. For instance, we wish to depict the measures in quarters. By setting this property to quarter the data will be grouped by quarter. The available options are all calendar periods.

  • pivotOptions
    • allowSortingBySummary

Holds Boolean value. Enables or disables sorting by summary. The available options are true and false.

  • allowSorting

Holds Boolean value. Enables or disables sorting. The available options are true and false.

  • allowFiltering

Holds Boolean value. Enables or disables filtering. The available options are true and false.

  • allowExpandAll

Holds Boolean value. Enables or disables expansion. The available options are true and false.

  • showBorders

Holds Boolean value. Shows or hides borders. The available options are true and false.

  • fieldChooser
    • enabled

Holds Boolean value. Enables or disables the field chooser. The available options are true and false.

  • export
    • enabled

Holds Boolean value. Enables or disables the exporting. The available options are true and false.

  • fieldPanel
    • showDataFields

Holds Boolean value. Shows or hides data fields. The available options are true and false.

  • showRowFields

Holds Boolean value. Shows or hides row fields. The available options are true and false.

  • showColumnFields

Holds Boolean value. Shows or hides column fields. The available options are true and false.

  • showFilterFields

Holds Boolean value. Shows or hides filter fields. The available options are true and false.

  • allowFieldDragging

Holds Boolean value. Enables or disables field dragging. The available options are true and false.

  • visible

Holds Boolean value. Shows or hides field panel. The available options are true and false.

ESMap

ES-Analyzer-Premium-Edition-image45.pngThis type of UI is used when data should be depicted on geographical map. In this case, restricted structure and terms are required in this view. Since, data will be presented on geographical map, the view must return columns with the longitude and latitude. Also, the following columns required:

  • GID

Expression column of GID type with the following script:

newID()”.

  • esTempl

Expression column of String type with the following script:

@esTempl

  • esIcon

Expression column of string type with an empty string (‘’).

  • esLabel

This column must contain the categorical values (i.e. region name).

  • esTitle

This column must contain the numerical values (i.e. turnover).

ES-Analyzer-Premium-Edition-image46.png

ESMap Configuration

  • GroupID

Holds the area of the Public Query as string value.

  • FilterID

Holds the Public Query name (namely, the view ID).

  • UIOptions
  • Type

Holds a string value and defines the way data are depicted. Currently, only bubble type is available.

  • titleField

Holds a string value and must be the column name that contains the categorical values (region names). Since specific terms are used, the column name is esLabel.

  • valueField

Holds a string value and must be the column name that contains the numerical values.

ESGauge

ES-Analyzer-Premium-Edition-image47.pngThis type of UI is used when you want to inform the user about the current value of a measure in comparison with the minimum and maximum values or with any other values. In this case, restricted structure and terms are required in this view. The Public Query result set could contain one or multiple rows. If the result set contains multiple rows, then multiple gauge graphs are created.

  • GTitle

The title of a gauge graph.

  • GScale

The code of a system scale.

  • GValue1, GValue2, … , GValueN

The values of the measures.

ES-Analyzer-Premium-Edition-image48.png

ESGauge Configuration

  • GroupID

Holds the area of the Public Query as string value.

  • FilterID

Holds the Public Query name (namely, the view ID).

  • UIOptions
  • GType

Mandatory property that holds a string value and defines the way data are depicted. Available values: radial, linear and arc

  • title

Refers to a string shown in each gauge graph title and it is concatenated with the GTitle.

  • expandRows

Holds Boolean value. Enables or disables the creation of multiple gauge graphs. The available options are true and false. If the result set contains multiple rows and the selected option is false, then a graph using data of the first row is created.

  • gaugesPerRow

Corresponds to the number of gauge graphs that will be shown in each row. The valid values are 1, 2, 3, 4, 6 and 12

  • Labels

ES-Analyzer-Premium-Edition-image49.pngRefers to the values of the scale. In this section you define their format and their position.

  • pointer

The pointer configuration options. It accepts an Array of pointers, each with its own configuration options.

  • PQOptions
  • serverPaging

Holds Boolean value. Enables or disables server pagination. The available options are true and false.

Since the Public Query contains only one row, set tis property to false.

  • AutoExecute

Holds a Boolean value. Executes or not the Public Query. The available options are true and false.

ESCard

This UI type is used when you want to present information about an entity (e.g. customer, item,etc.) in a card. No restricted structure and terms required in the view, unless you want to show on a map the entity’s location. In this case, the columns of longitude and latitude must be named Longitude and Latitude, respectively.

ES-Analyzer-Premium-Edition-image50.png

ESCard Configuration

  • GroupID

Holds the area of the Public Query as string value.

  • FilterID

Holds the Public Query name (namely, the view ID).

  • PQOptions
  • serverPaging

Holds Boolean value. Enables or disables server pagination. The available options are true and false.

Since the Public Query contains only one row, set tis property to false.

  • AutoExecute

Holds a Boolean value. Executes or not the Public Query. The available options are true and false.

  • pageSize

Holds numeric value and corresponds to the number of items shown to each page in the grid.

When large amount of data are going to be shown in the grid, it is highly recommended to set pageSize a reasonable number (i.e. avoid setting more than 60 items per page)

  • UIOptions
  • HeaderField

Refers to the upper part of the card. Any column of the related public query can be assigned to this property.

  • titleField

Refers to the title of the card.

  • footerField

Refers to the footer of the card.

  • tagField

This field is used in order to classify each card by adding border style color. The column assigned to this field can contain null values or values between 1 and 5. Each number corresponds to a color.

  • null Light grey
  • 1 Black
  • 2 Blue
  • 3 Green
  • 4 Yellow
  • 5 Red
  • imageField

Refers to the image of the entity. Specifically, the column assigned to this field must hold the GID of table ES00Blob or the image url.

ES-Analyzer-Premium-Edition-image51.png

ESSankey

This UI type is used for visualization of material or cost flows. It shows the flow with arrows proportional to the flow measure.

ES-Analyzer-Premium-Edition-image52.png

ESSankey Configuration

  • GroupID

Holds the area of the Public Query as string value.

  • FilterID

Holds the Public Query name (namely, the view ID).

  • PQOptions
  • serverPaging

Holds Boolean value. Enables or disables server pagination. The available options are true and false.

Since the Public Query contains only one row, set tis property to false.

  • AutoExecute

Holds a Boolean value. Executes or not the Public Query. The available options are true and false.

  • pageSize

Holds numeric value and corresponds to the number of items shown to each page in the grid.

When large amount of data are going to be shown in the grid, it is highly recommended to set pageSize a reasonable number (i.e. avoid setting more than 60 items per page)

  • UIOptions
  • HeaderField

Refers to the upper part of the card. Any column of the related public query can be assigned to this property.

  • titleField

Refers to the title of the card.

  • footerField

Refers to the footer of the card.

ESGantt

This UI type is used for providing a graphical illustration of a schedule that helps to plan, coordinate and track specific tasks in a project.

ES-Analyzer-Premium-Edition-image53.png

ESGantt Configuration

By definition, the following three (3) Public Queries are used for visualizing data using this UI type:

  1. ProjectTaskResources

The unique resources of the project tasks.

  1. ProjectTaskAssignments

The resources assigned to each project task (resources by project task).

  1. ProjectTasks

The project tasks that will be depicted. This public query uses the values of the two (2) aforementioned public queries.

  • GroupID

Holds the area of the ProjectTasks Public Query as string value (by definition, the value is ESWebManager).

  • FilterID

Holds the ProjectTasks Public Query name (by definition, the value is ProjectTasks).

  • PQOptions
  • serverPaging

Holds Boolean value. Enables or disables server pagination. The available options are true and false.

Since the Public Query contains only one row, set tis property to false.

  • AutoExecute

Holds a Boolean value. Executes or not the Public Query. The available options are true and false.

  • pageSize

Holds numeric value and corresponds to the number of items shown to each page in the grid.

When large amount of data are going to be shown in the grid, it is highly recommended to set pageSize a reasonable number (i.e. avoid setting more than 60 items per page)

  • UIOptions

If the following two (2) properties have NO values assigned to, then the system will search for the ProjectTaskResources & ProjectTaskAssignments public queries in the area assigned to the GroupID and then will execute them. If values are set to the properties, then those values will be used for searching and executing the public queries assigned to them.

  • ProjectTaskResourcesPQ

Holds a string comma separated value which is used for searching and executing the public query that applies to the required data set structure of ProjectTaskResources public query.

Format: “PublicQueryArea , PublicQueryName”

Where PublicQueryArea is the public query area, eg. ESTMtask

and PublicQueryName is the public query name, eg. Resources.

So, the value based on the example is “ESTMTask,Resources”.

If you wish to execute another public query that is located in the area assigned to the GroupID, then the value format turns into ,Name (eg. “,TaskResources”).

If you wish to execute a public query with the name ProjectTaskResources, but its location differs from the GroupID, then the value format turns into “Area, (eg. “ESTMTask,”).

  • ProjectTaskAssignmentsPQ

Holds a string comma separated value which is used for searching and executing the public query that applies to the required data set structure of ProjectTaskAssignments public query.

Format: “PublicQueryArea , PublicQueryName”

Where PublicQueryArea is the public query area, eg. ESTMtask

and PublicQueryName is the public query name, eg. Assignments.

So, the value based on the example is “ESTMTask,Assignments”.

If you wish to execute another public query that is located in the area assigned to the GroupID, then the value format turns into ,Name (eg. “,TaskAssignments”).

If you wish to execute a public query with the name ProjectTaskAssignments, but its location differs from the GroupID, then the value format turns into “Area, (eg. “ESTMTask,”).

ESTimeline

This UI type is used for visualizing processes (tasks, documents, etc.) in chronological order.

ES-Analyzer-Premium-Edition-image54.png

ESTimeline Configuration

This component is consisted of two (2) sections; Header and Details. Each one of them uses the related Public Query. For instance, in the trade account timeline scenario, the header section uses the ‘TimelineBusinessAccountInfo’ public query and the details section uses the ‘TimelineEvents’ public query. In the sales person timeline scenario, these two sections use the related header & details public queries.

ES-Analyzer-Premium-Edition-image55.png

  • GroupID

Holds the area of the Public Query that refers to the Details section as string value.

  • FilterID

Holds the title of the Public query that refers to the Details section.

  • PQOptions
  • serverPaging

Holds Boolean value. Enables or disables server pagination. The available options are true and false.

Since the Public Query contains only one row, set tis property to false.

  • AutoExecute

Holds a Boolean value. Executes or not the Public Query. The available options are true and false.

  • pageSize

Holds numeric value and corresponds to the number of items shown to each page in the grid.

When large amount of data are going to be shown in the grid, it is highly recommended to set pageSize a reasonable number (i.e. avoid setting more than 60 items per page)

  • UIOptions
  • TimelineEntityInfoPQ

Holds a string comma separated value which is used for searching and executing the public query that applies to the header of the timeline.

Format: “PublicQueryArea , PublicQueryName”

Where PublicQueryArea is the public query area, eg. ESWebManager

and PublicQueryName is the public query name, eg. TimeLineBusinessAccountInfo.

So, the value based on the example is “ESWebManager,TimeLineBusinessAccountInfo”.

ESCombo

ES-Analyzer-Premium-Edition-image56.pngThis UI type is used when several of the UI types mentioned above must be combined and depicted in the same MainMenu content. In this case, an array must be assigned to MainMenu content “esDef” property, as shown in the figure. This array is multidimensional.

Every nested array corresponds to a subdivision of the MainMenu content area. The opening and closing square brackets ( [ ] ) of MainMenu content ‘esDef’ property can contain an array or arrays. In addition, each array of them can contain an object or more.

In the figure below, six (6) arrays are included in the esCombo. Only the first array contains two (2) objects; One combined and one funnel chart. An array can hold any type of object and any possible combination of them.

ES-Analyzer-Premium-Edition-image57.png

System Information

On this page, subsystems are enlisted and the related comments are shown next to each one of them.

In case that an error occurs, it is reported by the system on “System information” page of the ES Analyzer.

For instance, if there are two MainMenu items with the same ID or a MainMenu item is not related to a Group, then those events are reported.

ES-Analyzer-Premium-Edition-image58.png

Best Practices

  • When you use Public Queries with large amount of data ALWAYS set serverPaging property as true and set a reasonable pageSize.
  • Avoid using SQL Additions with the option ‘Instead of SELECT’ activated. In this case, server pagination is not supported.
  • Avoid setting default parameters by using Params property in JSON file. Set them in Public Query.
  • Use Params property when you need to assign the same Public Query to different ES UI Types and the Parameter is hidden.
  • When you change any view ALWAYS publish it again to update the related Public Query.
  • When you change your JSON file and a session is active on any device, refresh your browser to see changes.
  • When you use a grid, avoid using too many columns and giving too large header titles considering that the grid is accessed through mobile devices.

Appendix A

Detailed information about parameter types and their control types used for configuring global parameter panels.

Type controlType parameterType
String 0 System.String, mscorlib
String Range 9 Entersoft.Framework.Platform.ESString, QueryProcess
Decimal 2 System.String, mscorlib
Numeric Range 8 Entersoft.Framework.Platform.ESNumeric, QueryProcess
Date 3 System.DateTime, mscorlib
Date Range 6 Entersoft.Framework.Platform.ESDateRange, QueryProcess
Date Range Financial 20 Entersoft.Framework.Platform.ESDateRange, QueryProcess
Integer 1 System.String, mscorlib
GUID 17 System.Guid, mscorlib
Boolean 7 System.Boolean, mscorlib
FP Inventory 10 Entersoft.Framework.Platform.ESFiscalPeriodRange, QueryProcess
FP Normal 11 Entersoft.Framework.Platform.ESFiscalPeriodRange, QueryProcess
FP Closing 12 Entersoft.Framework.Platform.ESFiscalPeriodRange, QueryProcess
FP Normal Closing 13 Entersoft.Framework.Platform.ESFiscalPeriodRange, QueryProcess
FP Range Normal 14 Entersoft.Framework.Platform.ESFiscalPeriodRange, QueryProcess
FP Range Normal Closing 15 Entersoft.Framework.Platform.ESFiscalPeriodRange, QueryProcess
FP Compare 16 Entersoft.Framework.Platform.ESFPCompare, QueryProcess
Costing Period 19 Entersoft.Framework.Platform.ESCostingPeriodRange, QueryProcess
Hierarchical Task 21 System.String, mscorlib
Password 22 System.String, mscorlib


PDF Version