【发布时间】:2017-11-25 00:18:25
【问题描述】:
我在水晶报表中做了一个交叉表,如下所示:
但是,如您所见,顺序很奇怪(即正确的顺序应该如下所示:)
并且排序存储在另一个名为 order 的字段中,我查看了水晶报表的交叉表专家排序选项,它不允许我按另一列排序,它只允许我排序升序或降序,如何设置另一列的排序?
【问题讨论】:
标签: crystal-reports
我在水晶报表中做了一个交叉表,如下所示:
但是,如您所见,顺序很奇怪(即正确的顺序应该如下所示:)
并且排序存储在另一个名为 order 的字段中,我查看了水晶报表的交叉表专家排序选项,它不允许我按另一列排序,它只允许我排序升序或降序,如何设置另一列的排序?
【问题讨论】:
标签: crystal-reports
Crosstab's 排序是基于行顺序的,如果你想在你的 on 中对其进行排序,你必须添加一些额外的行并且必须在 @987654326 的 Customize Style 中添加 suppress subtotal 和 Label @
示例:
如果您有 3 行(A,B,C) 到 display 并且您必须像 B,C,A 那样对其进行排序,那么您必须 添加 2 新行(B,C) 现在你的Crosstab 看起来像(B,C,A,B,C) 现在你必须抑制 Rows B and C 你满足你的两个要求为sorting and display order
但是这个solution 有一些限制,比如
如果您想在 Excel 中导出报告,那么它将总共添加 额外的单元格。
否则你就开始了。
示例:
如果您有 3 行(A、B、C)要显示并且您添加了一行并抑制它以解决您的排序问题,那么在 Excel 中,它的总数看起来像
A B C
a 1 3
b 2 2
---------------------------
Total: 3 5
【讨论】:
是的,您不能对另一列进行排序。您必须使用任何一列作为标题。
在 Crystal 报表中,根据标题列的值进行排序(这就是您按字母顺序查看的原因)。
我也面临这个问题以及我是如何解决的,我正在解释。您必须使用有顺序的公式,但要么隐藏它,要么使用此链接中的值。
https://scn.sap.com/thread/3341846
根据此链接的第二个选项。 (我想你先检查一下)
http://www.codeproject.com/Tips/493334/Custom-sorting-for-Crystal-Report-Cross-Tab
【讨论】:
打开crosstab expert,突出显示要重新排序的列,转到Group Options 并选择in specified order。这将打开另一个选项卡,您将在其中列出可用的值。使用右侧的箭头,您可以向上或向下移动您的值,并按照您希望它们显示的顺序调整它们。
【讨论】:
简单的方法是将存储过程中的顺序列带到交叉表并根据该列设置顺序。
然后抑制 order 列并将该列的宽度减小到最小像素,使其不会出现在交叉表中。
【讨论】:
使您想要按组字段排序的字段并将其隐藏。要隐藏它,请在 Crosstab Expert > Customize Style 对话框中选择此组,然后使用 Group Options 区域来抑制小计和抑制标签。为我工作。
【讨论】:
使用订单字段作为分组列并更改所述列的标签以显示实际尺寸。标签可以在Crosstab Expert、Grouping Options 和标签Options 中更改。
【讨论】: