Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Unfortunately this isn't how iReport works. You need to get all your data into one dataset to use the fields side by side. See @GenericJon's detailed answer on using a <code>datasetRun</code> where your fields are used as input parameters to define another dataset. </p> <p>If you really want the parameters can be used to pass a field for output in a datasetRun. This outputs Dataset1>Field1 / Dataset2>Field2.</p> <pre><code>&lt;subDataset name="TotalUsers"&gt; &lt;parameter name="Users" class="java.lang.Integer" isForPrompting="false"/&gt; &lt;parameter name="Date" class="java.util.Date" isForPrompting="false"/&gt; &lt;queryString language="SQL"&gt; &lt;![CDATA[CALL GetTotalUsersAtDate($P{Date})]]&gt; &lt;/queryString&gt; &lt;field name="TotalUsers" class="java.lang.Long"/&gt; &lt;/subDataset&gt; ... &lt;componentElement&gt; &lt;reportElement x="0" y="78" width="555" height="16"/&gt; &lt;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"&gt; &lt;datasetRun subDataset="TotalUsers"&gt; &lt;parametersMapExpression&gt;&lt;![CDATA[$P{REPORT_PARAMETERS_MAP}]]&gt;&lt;/parametersMapExpression&gt; &lt;datasetParameter name="Users"&gt; &lt;datasetParameterExpression&gt;&lt;![CDATA[$F{MusicSubscribers}]]&gt;&lt;/datasetParameterExpression&gt; &lt;/datasetParameter&gt; &lt;connectionExpression&gt;&lt;![CDATA[$P{REPORT_CONNECTION}]]&gt;&lt;/connectionExpression&gt; &lt;/datasetRun&gt; &lt;jr:listContents height="16" width="555"&gt; &lt;textField pattern="#,##0.00 %" isBlankWhenNull="true"&gt; &lt;reportElement style="table_TD" x="475" y="0" width="80" height="16"/&gt; &lt;textElement/&gt; &lt;textFieldExpression&gt;&lt;![CDATA[$P{Users}.doubleValue()/$F{TotalUsers}.doubleValue()]]&gt;&lt;/textFieldExpression&gt; &lt;/textField&gt; &lt;staticText&gt; &lt;reportElement style="table_TD" x="0" y="0" width="475" height="16"/&gt; &lt;textElement textAlignment="Left" markup="none"/&gt; &lt;text&gt;&lt;![CDATA[Proportion of total users]]&gt;&lt;/text&gt; &lt;/staticText&gt; &lt;/jr:listContents&gt; &lt;/jr:list&gt; &lt;/componentElement&gt; </code></pre> <p>I would go further to suggest you do as much of the math and collating outside of iReport too, i.e. use stored procedures if your data source is a database.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload