【问题标题】:iReport Input from Multiple Date Ranges来自多个日期范围的 iReport 输入
【发布时间】:2016-03-10 21:41:32
【问题描述】:

我正在使用 iReport 并希望能够接受 4 个日期输入(2 个日期范围)dateRange1dateRange2

每个都将显示指定范围内的物品数量和成本。

到目前为止,我的第一个 dateRange1 正在工作,但我无法确定实施第二个日期范围。

这是我的代码以及一些屏幕截图。


SELECT
 COMPANY."NAME" AS COMPANY_NAME,
 CUSTOMER."NAME" AS CUSTOMER_NAME,
 SO."NUM" AS SO_NUM,
 SOITEM."STATUSID" AS SOITEM_STATUSID,
 PRODUCT."ID" AS PRODUCT_ID,
 PART."NUM" AS PART_NUM,
 SOITEM."QTYFULFILLED" AS SOITEM_QTYFULFILLED,
 SO."COST" AS SO_COST,
 PART."ID" AS PART_ID,
 SO."DATECOMPLETED" AS SO_DATECOMPLETED,
 CUSTOMER."ID" AS CUSTOMER_ID,
 SOSTATUS."ID" AS SOSTATUS_ID
FROM
 "CUSTOMER" CUSTOMER INNER JOIN "SO" SO ON CUSTOMER."ID" = SO."CUSTOMERID"
 INNER JOIN "SOITEM" SOITEM ON SO."ID" = SOITEM."SOID"
 INNER JOIN "SOSTATUS" SOSTATUS ON SO."STATUSID" = SOSTATUS."ID"
 INNER JOIN "PRODUCT" PRODUCT ON SOITEM."PRODUCTID" = PRODUCT."ID"
 INNER JOIN "PART" PART ON PRODUCT."ID" = PART."DEFAULTPRODUCTID"
 AND PART."ID" = PRODUCT."PARTID",
 "COMPANY" COMPANY
WHERE
 UPPER(CUSTOMER."NAME") = $P{customerID}
 AND SO."DATECOMPLETED" BETWEEN $P{From} AND $P{To}

这是设计视图的屏幕截图。

【问题讨论】:

  • 嗨@Ashton,真的不明白你需要用第二个 dateRange2 AND (SO."DATECOMPLETED" BETWEEN $P{From} AND $P{To}) OR (SO."完成日期”在 $P{From2} 和 $P{To2} 之间)。或者只使用 2 个子报表,每个子报表具有不同的日期
  • @PetterFriberg 我想要的是让该人能够显示日期范围 1 中的数量和成本,并再次为数量和成本增加 2 列,但对于第二个日期范围(日期范围 2 ) 所以它比较了客户从 2010-2011 年购买的商品以及他们从 2012-2013 年购买的商品
  • @PetterFriberg 如果您对子报表和 Fishbowl 有任何了解,请查看我的新问题! stackoverflow.com/questions/36064526/…

标签: sql jasper-reports


【解决方案1】:

在 Fishbowl 中,您可以设置任何参数以包含单独的标题。这允许您多次使用相同类型的参数。 在日期范围的情况下,它用作 $P{dateRange1DateCreated} $P{dateRange2DateCreated},然后第二组将是 $P{dateRange1DateModified} $P{dateRange2DateModified}。

【讨论】:

  • 这将如何在 iReport 中工作?我正在尝试生成第二列,显示“日期范围 2:”,它将显示从 2005 年 6 月至 2005 年 7 月与(日期范围 2)2010 年 6 月至 2010 年 7 月相比的项目价格。如何我在 iReport 的 SQL 查询中输入这个?
  • dateRange1 和 dateRange2 需要一起使用才能获取范围元素。在 sql 中它是 so.datecompleted BETWEEN $P{dateRange1} AND $P{dateRange2}
  • 我想要的是让这个人能够显示日期范围 1 中的数量和成本,并再次为数量和成本增加 2 列,但是对于第二个日期范围(日期范围 2),所以它比较了客户从 2010-2011 年购买的商品以及他们从 2012-2013 年购买的商品。我可以用你的答案吗?
  • 是的,可以通过子选择使用单个报告中的日期范围来完成。或者你可以做多个子报告。您可能需要查看销售部分中的按月比较销售报告。
  • 主报表会有拉取零件信息的数据。子报告将提取相关部分的数据总和。按月比较销售额报告的设置与您尝试执行的操作非常相似。您可以查看该报告和子报告以查看示例。
猜你喜欢
  • 2019-10-30
  • 1970-01-01
  • 2018-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多