Custom Drilldowns and Examples
The following examples illustrate how to specify a custom drilldown.
Be sure that the field used for the drilldown (in this example, S) does not have any formatting applied.
systemName=backupDetails&jobId=${row['S']}Where:
systemName | systemName - The required prefix for drilldowns to out-of-the-box report templates. To identify the systemName, templateName, or templateInstanceID of an existing report template, generate that report and in the active browser window type: Ctrl-Alt-T templateName - The required prefix for drilldowns to custom report templates designed in the SQL Template Designer. templateInstanceID - The required prefix for drilldowns to report templates created in this Dynamic Template Designer. | |
<displayReportName> | Insert the specific report system name or template name or template instance ID, along with the variable that is to be supplied by the parent report. Note that a string prefaced with an ampersand (&) designates a parameter that will be passed to the report. To identify the systemName, templateName, or templateInstanceID of an existing report template, generate that report and in the active browser window type: Ctrl-Alt-T | |
=${row['<field_name>']}.data | The syntax required for the field name specification; substitute a value for <field_name>. In this example, S is the alias of the Job ID field. |
To identify the systemName, templateName, or templateInstanceID of an existing report template, generate that report and in the active browser window type: Ctrl-Alt-T
This more advanced example illustrates how multiple drilldowns can be specified, with conditions.
${row['F'] == 'fb' ? 'templateInstanceId=25200' :'systemName=listCKDVolumeUtilSummary'}&extendedPoolIds=$
{row['D']}&reportScope=&lunStatus=CIn this example, if the value of F is fb, then drill down to the report with report ID 25200 (the LUN Utilization Summary); otherwise, drill down to listCKDVolumeUtilSummary (the IBM CKD Volume Summary).
To identify the systemName, templateName, or templateInstanceID of an existing report template, generate that report and in the active browser window type: Ctrl-Alt-T
This example shows a drilldown to the Array Detail report.
systemName=arrayDetail&ignoreParent=true&arrayId=${drillDownParam} &arrayIds=${drillDownParam}&tryIndex=3&historyDays=3& dateRange.startDateTime=1359763535166&dateRange.finishDateTime=1390867535166 &groupById=13
Where:
tryIndex | Used to control the top N rows displayed in aggregate and disk volume utilization: tryIndex=3& |
historyDays | Used to control top N rows displayed in the volume utilization: historyDays=3& |
dateRange | Times are seconds from epoch: dateRange.startDateTime=1359763535166&dateRange.finishDateTime=1390867535166 |
groupById | groupById = 13 means group by month GROUP_BY_HOUR: 10 GROUP_BY_DAY: 11 GROUP_BY_WEEK: 12 GROUP_BY_MONTH: 13 GROUP_BY_QUARTER: 14 GROUP_BY_YEAR: 15 |
Note that if you are specifying this drilldown configuration in the SQL Template Designer, the syntax is:
systemName=arrayDetail&ignoreParent=true&arrayId=$
{row['storage_array_id'].data}&arrayIds=${row['
storage_array_id'].data}&tryIndex=3&historyDays=3
&dateRange.startDateTime=1359763535166&
dateRange.finishDateTime=1390867535166&groupById=13To identify the systemName, templateName, or templateInstanceID of an existing report template, generate that report and in the active browser window type: Ctrl-Alt-T
This example shows the configuration of a drilldown to the Job Summary report.
templateInstanceId=150&supportsPagenation=true&jobStatusIds=1&dateRange.startDate=$
{row['start_date_char']}&dateRange.startHour=${row['start_hour_char']}&
dateRange.startMinute=0&dateRange.startSecond=0&dateRange.finishDate=${row['
finish_date_char']}&dateRange.finishHour=${row['finish_hour_char']}&
dateRange.finishMinute=59&dateRange.finishSecond=59&dateRange.useFinishTime=false&
backupServerIds=${row['server_id']}&parentJobOnly=false&ignoreRetries=trueThe following parameters are supported for Job enterprise object drilldowns:
backupServerIds
clientIds
dateRange - dateRange is a complex Oracle type. Use the following format to pass values
dateRange.startDate=${row['START_DATE']}&dateRange.startHour=$
{row['START_HOUR']}&dateRange.startMinute=${row['START_MIN']}
&dateRange.startSecond=${row['START_SEC']}&dateRange.finishDate=$
{row['END_DATE']}&dateRange.finishHour=${row['END_HOUR']}
&dateRange.finishMinute=${row['END_MIN']}&dateRange.finishSecond=$
{row['END_SEC']}&drilldownClientIds=${row['CLIENT_ID']}
&dateRange.useFinishTime=true&
jobTypeIds
jobStatusIds
statusExcludeIds
includeFileList - 0 or 1
filePathName
policyNameFilter
mediaType
parentJobOnly - 0 or 1
backupWindowId
numberOfConsecutiveErrors
includeMasterServers - 0 or 1
drilldownClientIds - If this was passed in, then the original scope is ignored.
groupById
Use the following values
GROUP_BY_HOUR: 10
GROUP_BY_DAY: 11
GROUP_BY_WEEK: 12
GROUP_BY_MONTH: 13
GROUP_BY_QUARTER: 14
GROUP_BY_YEAR: 15