Jaspersoft Studio是否正确读取条件查询的字段?

时间:2017-07-06 09:47:38

标签: sql parameters jasper-reports jaspersoft-studio

我有条件SQL查询,如果满足某些条件,控制器会选择这些查询。如果我按"阅读字段"我只获得其中一个查询的字段。

查询是正确的,如果直接粘贴到 queryString 中,我会为每个查询获取正确的字段。

查询1:

<parameter name="SQLTag" class="java.lang.String" isForPrompting="false" evaluationTime="Late">
        <defaultValueExpression><![CDATA["SELECT * FROM REPORT_VER WHERE TAG BETWEEN '" + new SimpleDateFormat("dd.MM.yyyy").format($P{Von})  + "' AND '" + new SimpleDateFormat("dd.MM.yyyy").format($P{Bis}) + "'"]]></defaultValueExpression>
</parameter>

查询2(由于测试目的,日期中包含常量):

<parameter name="SQLMonat" class="java.lang.String" isForPrompting="false">
        <defaultValueExpression><![CDATA["select to_char(tag,'MON') as Monat, sum(Hauptnutzungszeit) as MonatsNutzung from report_ver where Tag between '10.05.2015' and '20.05.2015' group by  to_char(tag,'MON')"]]></defaultValueExpression>
</parameter>

控制器:

<parameter name="controller" class="java.lang.String" isForPrompting="false" evaluationTime="Late">
        <parameterDescription><![CDATA[]]></parameterDescription>
        <defaultValueExpression><![CDATA["täglich".equals($P{Ansicht})? $P{SQLTag} : (("monatlich".equals($P{Ansicht}) ? $P{SQLMonat} : $P{SQLTag}))]]></defaultValueExpression>
</parameter>

的queryString

<queryString>
    <![CDATA[ $P!{controller} ]]>
</queryString>

只有一个查询,一切正常,所以我不认为连接器有问题。我需要手动添加字段吗?或者我如何获得所有领域?

如果我在没有所有字段的情况下运行报告,我显然会收到某些字段丢失的错误消息。

0 个答案:

没有答案