Difference between revisions of "QPR Reporting Expression"
Line 32: | Line 32: | ||
</pre> | </pre> | ||
− | The following query returns the current day and time formatted in a | + | The following query returns the current local day and time formatted in a defined way. Dates can also be queried without explicit formatting, and then they are formatted using web browser local settings. |
<pre> | <pre> |
Revision as of 14:58, 19 November 2017
When querying the Generic Web Service, use the QPR Reporting Expressions.
Examples
The following query counts how many scorecards there are in each QPR Metrics model:
scorecards=From('[SC].models.scorecard', '', '', 'model.name(as="modelname"),id') countSums=SortBy(GroupBy([scorecards], Array('modelname'), Array('numberOfScorecards'), Array('ArraySize([id])')), 'numberOfScorecards DESC') sortedResult=SortBy([countSums], 'numberOfScorecards DESC')
The following query will return 20 process element instances which have the greatest width in the flowchart. Note that running the following query may take time, if there are lot of process models and elements inside them.
instances=From('[PG].models.subobjects.instances', '', '', 'name,id', '') getWidth=AddColumn(AddColumn([instances], 'elementInstanceId', 'InstanceIdFromFullId([id])'), 'elementWidth', 'ConvertToDouble(ItemAt(SubAttributesAsArray([id], \'graphicalproperties\', \'width\', \'[instanceid]=[elementInstanceId]\'), 0))') sortedData=SortBy([getWidth], 'elementWidth desc') getMax20=Where(AddColumn([sortedData], 'rowordernumber', '[rowordernumber]'), '[rowordernumber] < 20')
The following query is an example of joining two datasets. It returns a line for each user-group assignment.
users=From('[UM].users', '', '', 'name(as="username"),fullname,email,id(as="userid"),ingroups', '') groups=From('[UM].groups', '', '', 'name(as="groupname"),id(as="groupid")', '') joined=RemoveColumns(LeftJoin([users], [groups], 'Contains([ingroups], [groupid])'), Array('ingroups'))
The following query returns a random number between 0 and 100 in a dataset which contains one row and one column which name is "data":
randomNumber=AddDatasetRow(CreateDataset(Array('data')), Floor(Random() * 101))
The following query returns the current local day and time formatted in a defined way. Dates can also be queried without explicit formatting, and then they are formatted using web browser local settings.
currentDateTime=AddDatasetRow(CreateDataset(Array('data')), DateToString(CurrentDateTime(), true, 'dd.MM.yyyy HH:mm:ss'))