如何将来自javascript的值作为参数传递给pentaho中的sql

时间:2018-07-10 10:22:51

标签: javascript pentaho pentaho-cde

SQL代码:-

SELECT 
     CONCAT(UCASE(LEFT(A, 1)), SUBSTRING(A, 2)) AS 'Service Center Name',
    CONCAT(UCASE(LEFT(B, 1)), SUBSTRING(B, 2)) AS 'State',
     CONCAT(UCASE(LEFT(C, 1)), SUBSTRING(C, 2)) AS 'Status'
       FROM
    (SELECT 
        LOWER(A.service_center_name) AS A,
        A.status AS C,
        LOWER(C.branch_name) AS 'B'
    FROM
        customers A
    INNER JOIN ascs B ON A.serv_cent_mob_no = B.contact_number
    INNER JOIN branches C ON B.branch_id = C.id
    GROUP BY A.service_center_name , A.status , C.branch_name) AS Issue
       WHERE B=${sqlcity};

外部JavaScript代码:-

var decode="tamilnadu";

我想将变量“ decode”传递给$ {sqlcity}。

有什么办法吗?

1 个答案:

答案 0 :(得分:-1)

如果要将城市信息从javascript作为变量传递给查询,则javascript和查询执行应采用两种不同的转换方式。 Trans A:使用javascript处理城市信息,并将值设置为变量“ sqlcity”,并根据需要定义范围(“在父项中有效”)。 Trans B:使用表输入(在上面的查询中选中“在脚本中替换变量”复选框),您可以提取结果。

如果要在转换中使用变量,请在“ Modified Java Script”的Fields表中传递变量,然后将Modified JS连接到Table Input并使用选项“ Insert data from step”,并在查询中替换$ {sqlcity}加上“?”。