我有一个损益报告,当前有三个分组级别: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,可以准确地获取所需的原始数据。但是PACKTYPE
在特殊情况下(用户指定no),您需要对其进行修改以强制(和其他字段)进行不同的分组PACKTYPE
。
创建一个新参数$P{PACKTYPE_SELECT_SQL}
。它的默认值直接基于您现有参数的值$P{packtype}
。(这意味着$P{packtype}
必须首先出现在.jrxml中。)将$P{PACKTYPE_SELECT_SQL}
默认值设置为如下所示:
$P{packtype}==null ? " 'All Package Types' " : " FAC.PACKTYPE_CODE "
然后像这样修改SQL查询(仅修改一行,其余仅用于上下文):
SELECT
FAC.FILL_MONTH AS FILL_MO,
FAC.PHAR_CODE AS PHAR_CODE,
FAC.FAC_ID AS FAC_ID,
$P!{PACKTYPE_SELECT_SQL} AS PACKTYPE,
...
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}
在$P{packtype}
不为null的情况下,生成的SQL将与以前完全相同。但是,在$P{packtype}
null的情况下,您现在将获得一个硬编码的字符串来代替PACKTYPE_CODE。
大概您的报告正在分组PACKTYPE
。因此,您应该能够保留报表中的布局和分组不变。
您可以想象各种变化,例如添加布尔输入html" target="_blank">控件以显式让用户选择是否在报告中保留PACKTYPE。但是,这个基本想法应该可以为您提供所需的东西。
本文向大家介绍vim 向上滚动,包括了vim 向上滚动的使用技巧和注意事项,需要的朋友参考一下 示例 命令 描述 Ctrl+Y 向上滚动一行。 Ctrl+U 向上滚动半个屏幕(可使用该scroll选项配置)。 Ctrl+B 向上滚动全屏。 z^ 在窗口底部的窗口上方绘制第一行。
向前有一个滚动条,而不是一个正常的滚动条外,但到目前为止,我没有任何运气,有什么办法我可以做到这一点? 由于大量的行,表列表出界了,有没有办法在第5行之后切到导航的第二页或无限滚动条? 下面是表格html的代码 我尝试过使用datatable插件,但也有一些不太好的地方
问题内容: 有人可以帮助我使用 Java* 使用 WebDriver 自动 向下滚动功能 吗? *** 就我而言,当我垂直向下滚动鼠标时,对于yahoo邮件就会显示( 可见 )。 问题答案: 您可以使用以下代码垂直向下滚动: 同样,也可以通过将y坐标更改为负值来向上滚动: 您还可以使用以下代码: 对于向下滚动: 向上滚动:
我有一个应用程序页面,我需要垂直滚动,以达到应用程序的底部保存按钮。 我正在尝试下面的代码,但得到服务器端错误。 有什么好方法可以在android中实现滚动功能吗?
我有一个带有动态高度单元格的表格视图。在每个单元格内部,我有一个图像视图和一组垂直堆栈视图中的4个标签。当我第一次加载表格视图时,单元格看起来很好,高度计算正确。向下滚动后加载的单元格也是如此。但是,一旦我向上滚动,单元格的高度就变得巨大(比整个屏幕都大)。 我不知道为什么只有当我向上滚动时才会发生这种情况。 初始加载后的表视图 向上滚动后的tableview
问题内容: 我正在学习如何使用TableViews,并且想知道如何查看tableView是向上滚动还是向下滚动?我一直在尝试诸如此类的各种操作,但由于下面是针对滚动视图的操作,并且没有TableView,因此它没有用。任何建议都会很棒,因为我是新来的… 这就是我的tableView代码中的内容 问题答案: 就像@maddy在您的问题评论中说的那样,您可以使用和来检查是否正在滚动,此外,您可以同时使