【问题标题】:Crystal Report: How can I use a list of parameter items as a group?Crystal Report:如何将参数项列表作为一个组使用?
【发布时间】:2012-07-24 09:24:05
【问题描述】:

背景

我有一个水晶报表。

对于输入到参数中的多个项目(我相信它会变成一个字符串数组),我希望它按这些值分组,然后为每个分组项目运行多个子报告。

目标

对于作为参数的一部分输入的项目(允许多个项目),将这些项目作为一个组使用,以便我可以看到这些项目的多个子报告(包括如果找不到给定项目的数据)。

为了澄清,所需的过程是:

  • 用户运行报表
  • 提示用户在 ItemNumbers 参数中输入一个或多个项目编号
  • ItemNumbers 参数用于创建分组
  • 分组为每个组运行多个子报告(大概在组页脚中)
  • 用户可以看到每个项目组下每个子报表的结果(或非结果)。

到目前为止的障碍/尝试

  • 尝试使用参数作为分组。这是不可能的,因为它没有显示在我可以为分组选择的内容列表中。
  • 尝试使用公式来保存参数的值。这是不可能的,因为公式无法生成数组。
  • 尝试创建一个 StringArray 变量来保存参数条目,但由于它也必须在选择公式中引用并且公式不能是数组,因此失败了。

【问题讨论】:

    标签: crystal-reports business-intelligence crystal-reports-2008 business-objects


    【解决方案1】:

    您不能对参数字段进行分组。您将需要使用它来过滤您的记录集,然后对其(记录集的)字段之一进行分组。

    ** 编辑 **

    我会创建一些查询,将各个事务表与“主”表(LEFT OUTER JOIN)进行比较,然后将这些查询联合起来。创建一个报告,将此查询用作 Command 对象的源。

    【讨论】:

    • 嗨,克雷格,这就是我遇到的问题。我们正在查看与库存相关的几个基于事务的表的历史记录,但对于可能不再存在于主库存表中的库存项目。因此,对于输入的数字,我们需要检查几个交易表(子报表),但如果它不在主库存表中,则不会显示。我是否应该对所有表进行大规模完全联接,然后使用“或”语句查看值是否显示在其中任何一个表中?这可能有效,但看起来很恶心。感谢您的回复!
    • 我会创建一些查询,将各个事务表与“主”表(LEFT OUTER JOIN)进行比较,然后将这些查询联合起来。创建一个报告并将此查询用作 Command 对象的源。
    • 嗨 Craig,我的解决方案确实是将可能的表合并到一个视图中,对我想要的项目编号进行不同的选择,然后将其用作我的数组的表反对在记录选择。谢谢您的帮助!如果您编辑您的问题,我很乐意将其标记为答案。
    猜你喜欢
    • 2011-05-30
    • 1970-01-01
    • 2012-08-16
    • 1970-01-01
    • 1970-01-01
    • 2010-11-24
    • 1970-01-01
    • 2013-09-16
    • 1970-01-01
    相关资源
    最近更新 更多