We can parse SQl query in an Xaction file to create a parameter in Pentaho dashboard.
1. Create an xaction file like below:
<?xml version="1.0" encoding="UTF-8"?>
<action-sequence>
<name>ListOperator.xaction</name>
<title>%title</title>
<version>1</version>
<logging-level>debug</logging-level>
<documentation>
<author>Mahadevan</author>
<description>%description</description>
<help/>
<result-type>rule</result-type>
<icon>SQL_Datasource.png</icon>
</documentation>
<inputs>
<FROM type="string">
<sources>
<request>FROM</request>
</sources>
</FROM>
<TO type="string">
<sources>
<request>TO</request>
</sources>
</TO>
</inputs>
<outputs>
<rule-result type="result-set"/>
</outputs>
<resources/>
<actions>
<action-definition>
<component-name>SQLLookupRule</component-name>
<action-type>Query For Operator Info</action-type>
<action-inputs>
<FROM type="string"/>
<TO type="string"/>
</action-inputs>
<action-outputs>
<query-result type="result-set" mapping="rule-result"/>
</action-outputs>
<component-definition>
<jndi>Telecount</jndi>
<query><![CDATA[select count(smskey) AS total, Operator AS Operators from vw_telecount
WHERE Createddate >= ('{FROM}') AND Createddate <=('{TO}')
GROUP BY Operator]]></query>
</component-definition>
</action-definition>
</actions>
</action-sequence>
Step 2: Create an object for parameter in dashboard template as shown below:
ListOperators =
{
name: "ListOperators",
type: "selectMulti",
solution: "PentahoDemo",
path: "Dashboards/FilterA/List",
action: "ListOperators.xaction",
listeners:["startDate","endDate"],
parameters: [["FROM","startDate"],["TO","endDate"]],
parameter:"operators",
htmlObject: "ListOperators_Object",
size: "4",
executeAtStart: true,
preExecution:function(){},
postExecution:function(){}
}
3. Call the object in your Dashbord template.
<td valign = "top" style="width: 5%; text-align: left;"><span
style="font-family: Arial;">Operators:</span><br>
</td>
<td valign = "top" style="width: 20%; text-align: left;">
<div valign = "top" id="ListOperators_Object"></div>
4. Update repository and open your dashboard, you can see the parameter.
Thanks
Mahadevan
This blog contains posts related to data warehouse. All posts are used in my real time project and can be used as reusable codes and helpful to BI developers.
Labels
Apache Hadoop
(3)
ASP.NET
(2)
AWS S3
(2)
Batch Script
(3)
BigQuery
(21)
BlobStorage
(1)
C#
(3)
Cloudera
(1)
Command
(2)
Data Model
(3)
Data Science
(1)
Django
(1)
Docker
(1)
ETL
(7)
Google Cloud
(5)
GPG
(2)
Hadoop
(2)
Hive
(3)
Luigi
(1)
MDX
(21)
Mongo
(3)
MYSQL
(3)
Pandas
(1)
Pentaho Data Integration
(5)
PentahoAdmin
(13)
Polybase
(1)
Postgres
(1)
PPS 2007
(2)
Python
(13)
R Program
(1)
Redshift
(3)
SQL 2016
(2)
SQL Error Fix
(18)
SQL Performance
(1)
SQL2012
(7)
SQOOP
(1)
SSAS
(20)
SSH
(1)
SSIS
(42)
SSRS
(17)
T-SQL
(75)
Talend
(3)
Vagrant
(1)
Virtual Machine
(2)
WinSCP
(1)
Subscribe to:
Post Comments (Atom)
Can you please explain more about how it works.
ReplyDeleteThanks