In this blog we will see how to create a canned report with a date picker as input parameter. We will give an end user an option to select the date, and all the data greater than that specific date will be available in the report.
STEP 1: Create a connection
To know more about the types of datasource connections that can be established, refer to the blog.
STEP 2: Write a query without using parameter/where clause
- After providing the connection details in the previous step, click on + button next to Queries.
- Select the connection to be used for the query.
- Click on Configuration icon and write the query without where clause or any input parameters in the editor pane.
- Save the query by clicking on Apply or using keyboard shortcut Ctrl+S.
- Click on Run to execute the query. This will return the top 10 rows of the result set.
STEP 3: Add an input parameter
- Click on + icon next to parameter. You can add as many parameters as required. In this case we will add one input parameter i.e. startdate
- Select the type of input parameter. For dates the type of input parameter is “String”
- Edit the name of the parameter by clicking on the pencil icon. As you can see we have given the parameter name as startdate. By default when you add the input parameters its name is created as parameter1 parameter 2 so on and so forth. It’s always advisable to rename them for easier understanding and usage.
STEP 4: Edit the Configuration of the input parameter
- Select the connection for the query of the input parameter.
- In cases of date picker / date range picker there is no need of writing SQL.
- Go to configuration section and give the configuration that you desire. Please note that the variable name, name specified within the configuration and the name of the parameter should match exactly as shown in the below image. All the three highlighted portions should have the exactly the same name
- Name: Give the name of the parameter in double quotes in this section. As mentioned earlier the name should be same as the parameter name
- displayName : While a person is viewing the report the name which is given here will display at the top of that input parameter box.
- type: Type of input parameter. We will use datepicker
- parameters: Put the inputparameternames wherein the the values selected on the frontend will get passed to the parameters. We are putting startdate here.
- listeners : This is an optional section and to be used while using cascading input parameters. Name the columns that this parameter should listen to.
- requestParameters : name of components acting as input.
- triggers : add component names to trigger on change
- multiple: whether the parameter is multi-select or not. Default is false (single select). When multiselect is to be used this has to be made true. In case of datepicker or date range picker this has to be false
- display : value to be displayed. Give name of the column whose values are to be displayed
- value: column name whose value should be returned
- all: true – this is used only for checkbox
- displayFormat : Put the format which we would like to use to show on frontend. Like in this case we will put YYYY-MM-DD
- outputFormat : Put the format which we would like to use which should get passed to the SQLQuery. Like in this case we will put YYYY-MM-DD
- executeAtStart: whether the parameter values are to be populated during report load
- map: this is the number of the SQL that is to be used for the filter. Ensure that this value is correct.
- Set the default values for the parameter using the following syntax. This has to be put on the “Configuration” screen. This is the default values which the input parameter will have when the report opens.
The following options are available in the configuration –
Dashboard.setVariable('parameter_name ', 'default_value ');
For multiselect parameters, use array to define the default value.
Dashboard.setVariable('parameter_name ',[ 'default_value ']);
Below are the configuration screens for reference for startdate.
STEP 5: Add listener of parameter to query section
Now we have to specify that this report should listen to that specific input parameter. Click on P icon. You will see the added parameter list. Select the parameter(s) that you want to use in the query
STEP 6: Add where clause to the query
Now in the actual SQLQuery for the report we will add parameter so that it can listen and whatever is the value users selects it gets passed to that specific placeholder.
Add where clause in the query section using the selected parameters. For using the values returned by the parameter, use the parameter name with $ sign and within {}. Syntax – ${parameter_name}.
Save the query and execute to get the resultset.
STEP 7: Go to the Canvas to Use Parameters on the report
After making all the changes in the datasources page, go to canned report canvas.
- In the Datasources pane under Calculations/Parameters, you will see that the parameter has been added. This parameter can now be used in the report, if required by simply dragging it like any other variable.
- Go to Preview Parameters section in the property pane
By default, “Show Parameters” will be checked. If you do not want to show the parameters to end user, you can deselect this.
“Position” section defines where the parameter section should be visible with respect to the report when the report is mainly being used in read mode by end users. There are 4 options: right, top, left and bottom.
STEP 8: Preview the report
Click on Preview icon to preview the report. Click on the hamburger icon, you can see the parameter in the position that you have mentioned.
STEP 9: After the report is satisfactory, save the report in desired location.
Learn More about Different Input Parameter Usages
- Creating Canned Reports with Input Parameters with Single Select
- Creating Canned Reports With Multi-Select Input Parameters
- Types of Input Parameter In Canned Reports Interface Of Helical Insight
- Creating Canned Reports with a Date Range selector Input Parameters
- Creating Canned Reports With ALL As Default Value In Input Parameters
For further assistance, kindly contact us on support@helicalinsight.com or post your queries at Helical Forum