レポートに複数のクエリが必要なため、新しいデータセットを追加しました。 問題は、レポートに新しいデータセットのフィールドを使用できないというエラーです。フィールドは存在しません。iReport、異なるテーブルのフィールドを印刷する方法
どのようにして、フィールドごとにサブレポートを作成せずに、レポートに複数のクエリを持つことができますか(別のテーブルのフィールドを印刷する)
ありがとうございました。
レポートに複数のクエリが必要なため、新しいデータセットを追加しました。 問題は、レポートに新しいデータセットのフィールドを使用できないというエラーです。フィールドは存在しません。iReport、異なるテーブルのフィールドを印刷する方法
どのようにして、フィールドごとにサブレポートを作成せずに、レポートに複数のクエリを持つことができますか(別のテーブルのフィールドを印刷する)
ありがとうございました。
残念ながら、これはiReportの仕組みではありません。フィールドを並べて使用するには、すべてのデータを1つのデータセットにする必要があります。 datasetRun
の使用に関する@ GenericJonの詳細な回答を参照してください。ここでは、フィールドが入力パラメータとして使用され、別のデータセットが定義されています。
実際には、パラメータを使用して、datasetRunで出力するフィールドを渡すことができます。データセット1>フィールド1 /データセット2>フィールド2が出力されます。
<subDataset name="TotalUsers">
<parameter name="Users" class="java.lang.Integer" isForPrompting="false"/>
<parameter name="Date" class="java.util.Date" isForPrompting="false"/>
<queryString language="SQL">
<![CDATA[CALL GetTotalUsersAtDate($P{Date})]]>
</queryString>
<field name="TotalUsers" class="java.lang.Long"/>
</subDataset>
...
<componentElement>
<reportElement x="0" y="78" width="555" height="16"/>
<jr:list xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd" printOrder="Vertical">
<datasetRun subDataset="TotalUsers">
<parametersMapExpression><![CDATA[$P{REPORT_PARAMETERS_MAP}]]></parametersMapExpression>
<datasetParameter name="Users">
<datasetParameterExpression><![CDATA[$F{MusicSubscribers}]]></datasetParameterExpression>
</datasetParameter>
<connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
</datasetRun>
<jr:listContents height="16" width="555">
<textField pattern="#,##0.00 %" isBlankWhenNull="true">
<reportElement style="table_TD" x="475" y="0" width="80" height="16"/>
<textElement/>
<textFieldExpression><![CDATA[$P{Users}.doubleValue()/$F{TotalUsers}.doubleValue()]]></textFieldExpression>
</textField>
<staticText>
<reportElement style="table_TD" x="0" y="0" width="475" height="16"/>
<textElement textAlignment="Left" markup="none"/>
<text><![CDATA[Proportion of total users]]></text>
</staticText>
</jr:listContents>
</jr:list>
</componentElement>
私はあなたのデータソースがデータベースである場合、すなわち、ストアド・プロシージャを使用して、あなたは数学のほど、あまりにもiReportは外の照合を行うことを提案し、さらに行くだろう。
[この質問]の@GenericJonの回答を見ることができます(http://stackoverflow.com/q/7482412/876298) –