QPR ProcessAnalyzer Objects in Expression Language: Difference between revisions
(→Model) |
No edit summary |
||
Line 77: | Line 77: | ||
||[[#AttributeType|CaseAttributes]] in the model returned in the alphabetical order. Using this property requires that the model is loaded in the memory. If the model is not in the memory, it's loaded when this property is used. | ||[[#AttributeType|CaseAttributes]] in the model returned in the alphabetical order. Using this property requires that the model is loaded in the memory. If the model is not in the memory, it's loaded when this property is used. | ||
|- | |- | ||
||CasesDatatable ( | ||CasesDatatable (Datatable) | ||
||Returns the | ||Returns the Datatable that the model uses as a datasource for cases. Returns ''null'' if the cases Datatable is not defined or if model uses other than the Datatable datasource. | ||
|- | |- | ||
||ConfigurationJson (String) | ||ConfigurationJson (String) | ||
Line 95: | Line 95: | ||
||Returns an estimation of how much memory in bytes the model requires. | ||Returns an estimation of how much memory in bytes the model requires. | ||
|- | |- | ||
||EventsDatatable ( | ||EventsDatatable (Datatable) | ||
||Returns the | ||Returns the Datatable that the model uses as a datasource for events. Returns ''null'' if the events Datatable is not defined or if model uses other than the Datatable datasource. | ||
|- | |- | ||
||EventAttributes (AttributeType*) | ||EventAttributes (AttributeType*) |
Revision as of 10:31, 7 August 2020
DataFrame
Datatable
Datatables are used to store data in QPR ProcessAnalyzer persistently. Datatables consist of one-to-many named columns and zero-to-many rows. The Datatable entity in the expression language is used to access Datatables metadata, such as name, description and audit information. The actual data contents can be accessed by using the DataFrame property, which causes the actual data to be loaded from the database into memory for calculations.
Datatables have many usecases:
- Models can load their data from Datatables.
- Datatables can be used to store data extracted from external systems
- Intermediate ETL calculation results can be stored to Datatables
- It's possible to visualize data from Datatables directly in the dashboards without building a QPR ProcessAnalyzer model
Datatables are stored to QPR ProcessAnalyzer database as database tables. Each datatable belongs to a project.
Datatable properties | Description |
---|---|
ColumnNames (String*) | Array of Datatable column names in the order they are in the DataTable. The DataTable doesn't need to be loaded into memory to get the column names. |
CreatedDate (DateTime) | Timestamp when the datatable was created. |
DataFrame (DataFrame) | Contents of the DataTable as a DataFrame. |
Description (String) | Datatable description. The datatable description may contain line breaks. |
Id (Integer) | Datatable Id. Datatable Id is generated by QPR ProcessAnalyzer when the datatable is created. |
LastImportDate (DateTime) | Timestamp when data was the last time imported to the datatable. |
LastModifiedDate (DateTime) | Timestamp when the datatable was modified the last time, such as name or desctiption. When importing data to the datatable, the LastModifiedDate is not changed. |
Name (String) | Name of the datatable. |
NColumns (Integer) | Number of columns in the datatable. |
NRows (Integer) | Number of data rows in the datatable. |
Project (Project) | Project the datatable belongs to. |
Function | Parameters | Description |
---|---|---|
DataTableById |
datatable id (Integer) |
Return DataTable with given id. An exception is given if a DataTable with the given id is not found. Examples: DataTableById(27) Returns: DataTable for the data table having id 27. |
Model
Model properties | Description |
---|---|
CaseAttributes (AttributeType*) | CaseAttributes in the model returned in the alphabetical order. Using this property requires that the model is loaded in the memory. If the model is not in the memory, it's loaded when this property is used. |
CasesDatatable (Datatable) | Returns the Datatable that the model uses as a datasource for cases. Returns null if the cases Datatable is not defined or if model uses other than the Datatable datasource. |
ConfigurationJson (String) | Returns an model configuration in JSON format. |
CreatedDate (DateTime) | Timestamp when the model was created. |
DefaultFilterId (Integer) | Default filter id of the model. Returns null if the model does not have a default filter. |
Description (String) | Model description. The model description may contain line breaks. |
EstimatedMemory (Integer) | Returns an estimation of how much memory in bytes the model requires. |
EventsDatatable (Datatable) | Returns the Datatable that the model uses as a datasource for events. Returns null if the events Datatable is not defined or if model uses other than the Datatable datasource. |
EventAttributes (AttributeType*) | EventAttributes in the model returned in the alphabetical order. Using this property requires that the model is loaded in the memory. If the model is not in the memory, it's loaded when this property is used. |
EventLog (EventLog) | EventLog containing the entire model (i.e. event log where no filters have been applied). Using this property requires that the model is loaded in the memory. If the model is not in the memory, it's loaded when this property is used. |
Id (Integer) | Model Id. Model Id is generated by QPR ProcessAnalyzer when the model is created. |
LastImportDate (DateTime) | Timestamp when data was the last time imported to the model. |
LastModifiedDate (DateTime) | Timestamp when the model was modified the last time. |
Name (String) | Model name. |
NBookmarks (Integer) | Number of bookmarks in the model. |
NCache (Integer) | Amount of objects related to the model when the model is loaded into the memory. |
NCaseAttributes (Integer) | Number of CaseAttributes in model. |
NCases (Integer) | Number of Cases in the model. |
NEventAttributes (Integer) | Number of EventAttributes in model. |
NEvents (Integer) | Number of Events in model. |
NEventTypes (Integer) | Number of EventTypes in the model. |
NFilters (Integer) | Number of filters in the model. |
NOpens (Integer) | Number of times analysis has been requested from the model. |
Project (Project) | Project the model belongs to. |
ProjectId (Integer) | Project id the model belongs to. |
Status (String) |
Memory availability status of the model. There are the following statuses:
|
Notes:
- For models that are currently offline, the object counts represent the situation when the model was last time online (loaded into the memory). null is returned if the model has never been loaded into the memory.
- If Case permissions are used for the model, and user doesn't have GenericWrite permission for the model, null is returned for data security reasons. Users that have the GenericWrite permission, have anyway access to the case permissions settings.
- Using CaseAttributes, EventAttributes and Eventlog properties requires the model to be loaded into the memory. If the model is not in the memory, it is loaded when these properties is used. Other Model object properties down require the model to be in the memory.
Function | Parameters | Description |
---|---|---|
ModelById |
|
Returns Model object corresponding to the provided model Id. |
Project
Project properties | Description |
---|---|
Datatables (Datatable*) | Returns all Datatables in the project. |
Id (Integer) | Id of the Project. It's generated by QPR ProcessAnalyzer when the model is loaded. |
Name (String) | Name of the Project. |
Models (Model*) | Models that are in the Project. |
User/Group
User objects represents users and user groups. Note that some properties can only be used for users and some for groups.
User properties | Description |
---|---|
Description (String) | Description of the user. |
Email (String) | Email address of the user. |
FullName (String) | Full name of the user or group name. |
GlobalPermissions (String*) | Array of global permissions of the user. Global permissions come from the global roles assigned to the user and groups that the user belongs to. To get the actual (effective) permissions for certain objects, also project specific permissions need to be taken into account. |
GroupMemberNames (String*) | Array of names of members of a user group. This property is available for groups. |
GroupMembers (User*) | Array of members of a user group. This property is available for groups. |
GroupNames (String*) | Array of names of user groups the user belongs to. This property is available for users. |
Groups (User*) | Array of user groups the user belongs to. This property is available for users. |
Id (Integer) | Id of the user, which is unique for every user. |
IsActive (Boolean) | Returns true only if the user is active (not disabled). |
IsGroup (Boolean) | Returns true if the user is a user group. |
Name (String) | Login name of the user or group. |
Roles (String Array*) | Roles of user as string array. |
Functions for User/Group:
Function | Parameters | Description |
---|---|---|
EffectivePermissionsFor (String Array) |
|
Returns effective permission of the user to the given project. Project is given as a project object (not as a project id). Effective permissions determine the actual permissions that the user has, i.e. a combination of all permissions assigned to the user and groups the user belong to, including both project specific and global roles. All users can get their own permissions. To get permissions for any user, the user needs to have ManageUsers permission. Examples: EffectivePermissionsFor(ModelById(1234).Project) Returns (for example): ["EditDashboards", "Filtering", "GenericRead"] |