【发布时间】:2012-06-05 13:12:03
【问题描述】:
我的损益报告目前分为三个级别: 1.药房 2. 客户 3. 包装类型
我已设置报告以提示用户提供药房、客户和包装类型的值。详细信息带显示收入和利润等度量。为药房、客户或包装类型选择默认值会返回组中的所有值。
我想知道 - 如果用户选择“使用默认值”作为参数,有什么方法可以告诉 iReport 汇总分组?现在,如果我选择了一家药店和一位客户,但使用默认包装类型,我仍然会为几种包装类型中的每一种获得一个详细信息带。我如何告诉 iReport 总结所有包装类型?或者,如果未指定客户,则对给定药房的所有客户求和?或者我可以在查询中这样做吗?我有一个 Oracle 数据库并且正在使用 iReport Professional 4.5.1。
谢谢, 丽莎
编辑添加代码:
SELECT
FAC.FILL_MONTH AS FILL_MO,
FAC.PHAR_CODE AS PHAR_CODE,
FAC.FAC_ID AS FAC_ID,
FAC.PACKTYPE_CODE AS PACKTYPE,
SUM(FAC.TOT_RXCOUNT_NUM) AS RX_COUNT,
SUM(FAC.TOT_REVENUE_AMT) AS REVENUE,
SUM(FAC.TOT_COGS_AMT) AS COGS,
SUM(FAC.TOT_MARGIN_AMT) AS MARGIN
FROM
MySchema.Table FAC
WHERE
FAC.FILL_MONTH BETWEEN $P{startdate} AND $P{enddate}
AND $X{IN, FAC.PHAR_CODE, pharmacy}
AND $X{IN, FAC.FAC_ID, facility}
AND $X{IN, FAC.PACKTYPE_CODE, packtype}
GROUP BY
FAC.PHAR_CODE,
FAC.FAC_ID,
FAC.PACKTYPE_CODE,
FAC.FILL_MONTH
ORDER BY
PHAR_CODE ASC,
FAC_ID ASC,
PACKTYPE ASC,
FILL_MO ASC
【问题讨论】:
-
发布您的 SQL(或它的简化版本)。使用参数应该可以得到你需要的。
-
谢谢!我发布了我的代码的简化版本。
标签: sql jasper-reports ireport