问题约束
图表
下面的拼贴显示了具有相当准确的趋势线的数据集:
图表是:
用户输入
用户可以选择:
例如,用户可以在6月份选择30天的每日报告.
趋势重量
要计算窗口大小(即计算趋势线时要平均的数据点数),使用以下表达式:
data points / trend weight
Run Code Online (Sandbox Code Playgroud)
其中data points,从用户输入获得,trend weight是6.4.即使6.4的趋势权重产生良好的拟合,它也是相当随意的,并且可能不适合不同的用户输入.
题
trend weight考虑到这个问题的限制,应该如何计算?
我想在我的jasper报告中显示多个细节部分.如何在JasperReports中添加多个细节带?有关详细信息,我将从我的java类传递集合.所以如果我有多个细节带如何将不同的集合传递给不同的细节带.
有人可以为此提供帮助
我有以下查询:
SELECT
blah
FROM
"PUBLIC"."MYACTIVITY" MYACTIVITY
Run Code Online (Sandbox Code Playgroud)
问题是,架构名称对于不同的环境是不同的.我尝试制作这样"PUBLIC"的参数:
SELECT
blah
FROM
"$P{schemaName}"."MYACTIVITY" MYACTIVITY
Run Code Online (Sandbox Code Playgroud)
schemeName在我在params中编译报表之前设置,但无论我做什么,或者默认值设置为什么,我都会收到以下错误:
Error:SQL problems:invalid schema name: ? in statement [SELECT blah FROM "?"."MYACTIVITY" MYACTIVITY
如何正确参数化此报告的模式名称?
我在Header中创建了三个文本字段.我把参数放在所有textField元素中.当我没有调用三个textField元素的三个参数之一时.它将显示2个textField元素.现在的问题是文本字段之间有空格.
如何删除空间?
这是我的代码:
<textField isBlankWhenNull="true">
<reportElement x="0" y="18" width="555" height="35" isRemoveLineWhenBlank="true"/>
<textElement textAlignment="Center">
<font size="12"/>
</textElement>
<textFieldExpression><![CDATA[$P{daterangefrom} && $P{daterangeto} ? "From ( " + $P{daterangefrom} + " - " + $P{daterangeto} + ")"
: $P{weeks} && $P{monthy} && $P{yrs} ? "For week " + $P{weeks} +" "+ $P{monthy} +" "+ $P{yrs}
: $P{monthy} && $P{yrs} ? "For monthly " +$P{monthy} +" "+ $P{yrs}
: $P{quarter} && $P{yrs} ? "For Quarter " + $P{quarter} +" …Run Code Online (Sandbox Code Playgroud) 我刚刚安装了ActionBarSherlock.我将actionBar设置为getSupportActionBar,以及正确的主题 - 但我在Eclipse控制台中收到此错误:
[2012-10-01 03:10:11 - com_actionbarsherlock] Could not find com_actionbarsherlock.apk!
Run Code Online (Sandbox Code Playgroud)
该应用运行良好,但我不知道这是否是其他设备未来错误的指标.
任何帮助将不胜感激?
我正在使用 Jaspersoft 的 iReport 创建一个报告,该报告将从我的 Maintenance Assistant CMMS 数据库中提取数据。数据库位于本地主机上,我没有创建任何表或列。MA CMMS 负责解决这个问题。我只想提取数据以安排在报告中。
\n\n这是我的代码:
\n\nSELECT * \nFROM "tblworkordertask" \nWHERE "dbltimespenthours" > 0 \n AND "dtmdatecompleted" BETWEEN $P{DATE_FROM} AND $P{DATE_TO}\nGROUP BY "intworkorderid" \nRun Code Online (Sandbox Code Playgroud)\n\n和我的错误:
\n\n\n\n\n导致\xc2\xa0by:\xc2\xa0java.sql.SQLSyntaxErrorException:\xc2\xa0Column\xc2\xa0reference\xc2\xa0\'tblWorkOrderTask.id\'\xc2\xa0is\xc2\xa0invalid,\xc2\xa0or\xc2\ xa0is\xc2\xa0part\xc2\xa0of\xc2\xa0an\xc2\xa0无效\xc2\xa0表达式。\xc2\xa0\xc2\xa0For\xc2\xa0a\xc2\xa0SELECT\xc2\xa0list\xc2\xa0和\xc2\xa0a \xc2\xa0GROUP\xc2\xa0BY,\xc2\xa0\xc2\xa0列\xc2\xa0和\xc2\xa0表达式\xc2\xa0被\xc2\xa0选中\xc2\xa0可能\xc2\xa0仅\xc2\xa0包含\xc2\xa0有效\ xc2\xa0 分组\xc2\xa0 表达式\xc2\xa0 和\xc2\xa0valid\xc2\xa0aggregate\xc2\xa0 表达式。
\n
我不知道为什么错误引用“tblWorkOrderTask.id”,因为我没有这样的列,也没有要求该列。
\n\n如果我取出 group by 子句,它工作正常,但正如您所期望的,我会得到具有相同 WorkOrderID 的多个结果。我想按这一列进行分组,然后统计结果。我尝试使用 SELECT DISTINCT,但随后出现有关未选择的列的错误。
\n我正在使用JasperReports为我的 web 应用程序创建折线图。
我已成功将数据集传递给编译报告(在iReport 中创建),并且可以正确查看数据。
但是,我想在边际上做一些定制。
请看图片:

我正在使用在我的 webspps 中定义的自定义类。我可以更改标签的字体大小和旋转,但不知道如何调整边距。
public class LineChartCustomizer implements JRChartCustomizer {
@Override
public void customize(JFreeChart jFreeChart, JRChart jrChart) {
CategoryPlot plot = jFreeChart.getCategoryPlot();
DecimalFormat dfKey = new DecimalFormat("###,###");
StandardCategoryItemLabelGenerator labelGenerator = new StandardCategoryItemLabelGenerator("{2}", dfKey);
LineAndShapeRenderer renderer = new LineAndShapeRenderer();
renderer.setBaseItemLabelsVisible(true);
renderer.setBaseItemLabelGenerator(labelGenerator);
renderer.setBaseItemLabelFont(new java.awt.Font("SansSerif", java.awt.Font.PLAIN, 4));
renderer.setSeriesShape(0, ShapeUtilities.createDiamond(1F));
plot.setRenderer(renderer);
}
}
Run Code Online (Sandbox Code Playgroud) 我在JasperReports jrxml,详细信息部分中有以下报告.
这是我从Java获得的包含2个对象的列表,两个都在第一页上输出,因此每次调用测试变量.
<detail>
<band height="200" splitType="Stretch">
<componentElement>
<reportElement key="table" style="table" x="0" y="49" width="500" height="140"/>
<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">
<datasetRun subDataset="Data Set">
<datasetParameter name="REPORT_DATA_SOURCE">
<datasetParameterExpression><![CDATA[$P{REPORT_DATA_SOURCE}]]></datasetParameterExpression>
</datasetParameter>
</datasetRun>
<jr:listContents height="50" >
<textField isBlankWhenNull="true">
<reportElement x="0" y="0" width="200" height="20" isRemoveLineWhenBlank="true"/>
<textElement textAlignment="Left" verticalAlignment="Middle" >
<font size="10" fontName="DejaVu Serif" isBold='true'/>
</textElement>
<textFieldExpression><![CDATA[$F{test}]]></textFieldExpression>
</textField>
</jr:listContents>
</jr:list>
</componentElement>
</band>
</detail>
Run Code Online (Sandbox Code Playgroud)
所以我有一个2个对象的列表,豆类.一切正常但这个测试变量在每个页面上显示两次(两个对象都在第一页上调用)而不是每页一个对象.我打算在第一次测试打印后休息,所以列表中的下一个测试打印在下一页.
谁能指出我正确的方向?
我有一些麻烦将我的报告导出为XLS.PDF格式的导出效果很好.
所以我尝试更新到最新的JasperReports和Apache POI版本:
但我总是收到以下异常:
java.lang.NoSuchMethodError: org.apache.poi.hssf.usermodel.HSSFWorkbook.createDataFormat()Lorg/apache/poi/hssf/usermodel/HSSFDataFormat;
net.sf.jasperreports.engine.export.JRXlsExporter.openWorkbook(JRXlsExporter.java:284)
net.sf.jasperreports.engine.export.JRXlsAbstractExporter.exportReportToStream(JRXlsAbstractExporter.java:927)
net.sf.jasperreports.engine.export.JRXlsAbstractExporter.exportReport(JRXlsAbstractExporter.java:697)
com.phoenix.customermonitor.print.GenericDataSourceApp.xls(GenericDataSourceApp.java:290)
com.phoenix.customermonitor.print.GenericDataSourceApp.exportToFormat(GenericDataSourceApp.java:335)
com.phoenix.core.JasperReportHandlerAction.exportOrderMonitorOverview(JasperReportHandlerAction.java:242)
com.phoenix.customermonitor.action.OrderMonitorMainAction.execute(OrderMonitorMainAction.java:217)
org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
Run Code Online (Sandbox Code Playgroud)
出口代码
File sourceFile = new File(fileIn);
JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);
String name = fileIn.substring(fileIn.lastIndexOf(System.getProperty("file.separator"))+1);
name = name.substring(0, name.lastIndexOf("."));
File destFile = new File(fileOut);
JRXlsExporter exporter = new JRXlsExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
exporter.exportReport();
Run Code Online (Sandbox Code Playgroud)
经过一些研究后,我尝试了其他几个版本(+4),但我仍然收到此错误.有谁知道解决方案?
我有一个主报告和两个子报告。我正在使用自定义数据源来获取报告内容。但在 jasper studio 中预览主报表时,仅显示一个子报表(以先出现的子报表为准)。
例如。仅显示report1.jrxml。如果我删除该子报表,则会显示report2.jrxml。
主.jrxml
<detail>
<band height="250">
<subreport runToBottom="true">
<reportElement positionType="Float" x="0" y="130" width="1960" height="120" uuid="89a9f872-756e-4c82-922d-537cfde30cca"/>
<dataSourceExpression><![CDATA[$P{REPORT_DATA_SOURCE}]]></dataSourceExpression>
<subreportExpression><![CDATA["report1.jrxml"]]></subreportExpression>
</subreport>
</band>
<band height="250">
<subreport runToBottom="true">
<reportElement positionType="Float" x="0" y="90" width="1960" height="120" uuid="892c0849-9532-48cb-94c0-f2e87528232a"/>
<dataSourceExpression><![CDATA[$P{REPORT_DATA_SOURCE}]]></dataSourceExpression>
<subreportExpression><![CDATA["report2.jrxml"]]></subreportExpression>
</subreport>
</band>
</detail>
Run Code Online (Sandbox Code Playgroud)
我已经尝试过以下方法:
ireport ×3
java ×3
android ×1
apache-poi ×1
apk ×1
derby ×1
eclipse ×1
group-by ×1
jfreechart ×1
list ×1
math ×1
page-break ×1
schema ×1
select ×1
sql ×1