crystal报告按逻辑顺序切换到asc,然后是desc

x6yk4ghg  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(319)

我有一个水晶报表,里面有一个位置栏。我可以使用RecordSortExpert按位置列排序,并设置为升序。
然而。。这些位置现在不仅要遵循字母顺序,而且当第一个或第二个字母发生变化时,它们还必须循环回到最高的数字。
例如:
位置:aa1、aa2、aa3、ba1、ba2、ba3
按顺序出现
aa1型
aa2型
aa3级
ba3级
钡2
巴1
有可能吗?我需要使用多个case语句吗?如果有任何帮助,我将不胜感激。
谢谢,

ckocjqey

ckocjqey1#

创建返回计算值的公式。
根据这些公式创建组。
让小组对数据进行排序,而不是使用“记录排序Maven”。
所以,最后的诀窍是公式,但它取决于业务规则,我不知道确切的。
例如,假设位置代码的固定长度为3,并且其格式始终为[a-b][a][0-9]。此外,假设a按字典升序表示,而b按降序表示。
在这个场景中,我将创建两个公式。我们叫它们{@formulaa}和{@formulab}。

{@FormulaA}: if Left({Table.Location}, 1) = "A" then {Table.Location} else "ZZ"

{@FormulaB}: if Left({Table.Location}, 1) = "B" then {Table.Location} else "ZZ"

然后我将创建一个由{@formulaa}后跟一个由{@formulab}组成的组。然后我通过{@formulab}将组设置为按降序排序。

相关问题