【问题标题】:Sorting group based on running total field in crystal report基于水晶报表中运行总字段的排序组
【发布时间】:2016-07-10 22:30:07
【问题描述】:

我有一份报告,旨在显示给定商店中给定商品的净销售额和购买量。该报告有 2 个组,第一个在商店中,第二个在商品上,如下例所示:

商店:store_name [组标题]
项目:item_name [组标题]

[数量] [文档编号] [文档类型] [详细]
[500] [ 8 ] [ S ]
[200] [ 3 ] [ P ]

总销售额 500 [组页脚]
总购买量 200

[组页脚]

总计字段是运行总计字段而不是汇总字段。我所需要的只是根据较高的销售额或购买量对商店组中的商品进行排序,并且这种排序将通过由布尔参数值表示的排序选项来完成。如果参数值为 false,则销售额较高的项目将排在第一位,然后是金额中的下一个项目,依此类推。如果参数值为 true,则购买金额较高的项目将排在第一位,然后是下一个项目金额等。不幸的是,我无法使用“报告”菜单下的“组排序”选项,因为我没有基于组的摘要,因此“组排序”选项被禁用,即使不是,它也会根据不在运行总字段。有没有人知道如何实现这种排序?!!!

我尝试过的:

我尝试使用 order by 子句通过数据库来实现结果,但是它不会像我预期的那样正常工作

【问题讨论】:

    标签: crystal-reports crystal-reports-2008 crystal-reports-2010


    【解决方案1】:

    有两种方法可以实现:

    • 更简单的方法是制作 2 份不同的报告,并根据该报告 布尔值调用不同的报告。不是最好的解决方案,因为 每次更改报告都必须同时更改它们等等...
    • “更好的方法”在调用报告之前对数据进行排序,因此当您在报告中使用分组时,您可以使用“按原始顺序”选项按列分组(下图)。您的数据将按照您在调用报告之前的排序方式进行排序,并且您对这两种情况仅使用 1 个报告。

    所以做对你来说更容易的事情,两种方法都可以,但需要的方法与现在不同。第三种方式可能带有下划线逻辑和大量 if-then-else 逻辑,但您需要很多条件,有时可能会很混乱。

    希望对你有帮助

    【讨论】:

    • 我有 4 种类型的文档销售、销售回报、购买和购买回报,这些类型在返回的数据中表示为具有 4 个值“I”、“RI”中的 1 个的列”、“R”和“RR”(即“I”销售、“RI”销售退货、“R”购买、“RR”购买退货)。销售/采购退货的值为负值,因为我需要净销售/采购,这就是为什么我创建运行总计以根据文档类型分别汇总销售和采购的数量,例如,在我工作的销售运行总计中在“I”或“RI”的记录上。
    【解决方案2】:

    而不是操纵运行总计..​​ 操纵数量部分,以便如果数量发生变化,运行总计将自动更改。

    尝试以下方法并告诉我。

    使用Quantity 再插入一组(在您的情况下是第三组),并详细填写数量并写下您的总计。

    现在第 3 组转到 change group 并选择选项使用 Formula as group sort order

    当公式窗口打开时写下面的代码。

    if paramter="false"
    then crDescendingOrder
    else crAscendingOrder
    

    告诉我进展如何。

    【讨论】:

    • 受您的想法启发,如果我创建第三组并在新组中添加第二组,然后在新组中,根据排序参数值,我输入销售总额或购买总额然后在其页脚中使用默认的组排序 asc 选项?
    • 你能详细说明added second group to newly added是什么意思
    • 我的意思是将基于项目的组(即,我的报告中的第二组,因为我有 2 个组,一个基于商店,一个基于项目)到中提到的新创建的组您的想法是“再插入一组(在您的情况下是第 3 组)和数量,并详细说明数量并写下您的总计。”
    【解决方案3】:

    首先感谢每个试图帮助或给我想法的人:)。最后,我必须通过向它发送一个附加参数来指定排序选项来对存储过程进行更改。我通过将我的选择放在一个公共表表达式中然后我从该表中选择净销售额和净购买按商店和项目分组,然后根据参数值我选择净销售额字段或净购买字段进行订购和在报告中,我选择了订单选项作为原始订单。它工作正常,我从一开始就知道该解决方案,但我不想直接将其作为第一个解决方案以避免查询执行缓慢。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多