![](/img/trans.png)
[英]Database connection in Pentaho Report Designer with MS SQL server 2008
[英]How to show value from SQL Server in Pentaho Report Designer that use nvarchar data type
我是Pentaho Report Designer
和SQL Server
新手。 我有一个使用SQL Server 2000
的数据库。 我从该数据库创建此查询:
SELECT CASE
WHEN STATUS IS NULL THEN 'LAIN-LAIN'
ELSE STATUS
END AS STATUS,
CASE
WHEN COUNT(*) IS NULL THEN '0'
ELSE COUNT(*)
END AS BIL
FROM (SELECT D.DAJ_NODAFTAR
,(SELECT TOP 1
DAJ_KLASIFIKASI
FROM BATM112_RKDKLASIFIKASI
WHERE DAJ_NODAFTAR = D.DAJ_NODAFTAR
ORDER BY DAJ_TKHDE DESC) STATUS
FROM BATM112_DES_AMJENTERA AS D
WHERE D.DAJ_KODKAT = 'VTC') a
GROUP BY STATUS
我在Query Analyzer
运行此查询,结果如我所愿:
STATUS BIL
----------------
LAIN-LAIN 10
JK 456
TYG 6
RD 2
JKD 64
RDB 1
之后,我尝试在Pentaho Report Designer
运行此查询,但得到的结果是这样的:
STATUS BIL
----------------
10
456
6
2
64
1
供您参考, DAJ_NODAFTAR
和DAJ_KLASIFIKASI
使用NVARCHAR
作为Data Type
。 尝试在Pentaho Report Designer
运行此查询后,我意识到它无法显示使用nvarchar
作为数据类型的变量的值。
请有人教我如何解决这个问题? 还有其他方法可以使Pentaho Report Designer
显示nvarchar data type
值吗?
最后,我自己得到了答案。 我只是在查询中做了些改动。 我这样改变:
SELECT CASE
WHEN STATUS IS NULL THEN 'LAIN-LAIN'
ELSE STATUS
END AS STATUS,
CASE
WHEN COUNT(*) IS NULL THEN '0'
ELSE COUNT(*)
END AS BIL
FROM (SELECT D.DAJ_NODAFTAR
,(SELECT TOP 1
CAST( DAJ_KLASIFIKASI AS VARCHAR(25) )
FROM BATM112_RKDKLASIFIKASI
WHERE DAJ_NODAFTAR = D.DAJ_NODAFTAR
ORDER BY DAJ_TKHDE DESC) STATUS
FROM BATM112_DES_AMJENTERA AS D
WHERE D.DAJ_KODKAT = 'VTC') a
GROUP BY STATUS
结果完美。 就像我想要的那样。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.