u8报表累计摊销公式设置(皕杰报表里的排序问题)

在使用皕杰报表设计报表时,往往需要按照某个字段的顺序进行排序,比如按序号、时间的顺序排序。那么这个排序是如何设计出来的呢?

首先要知道,设计报表的过程实质上就是把数据集表中的数据按一定格式展现在报表里的过程,因而报表的排序是与数据集中记录顺序有关的,所以在写sql语句取数的时候就应根据需要按照某个字段的顺序进行排序。sql中进行排序的关键字是order by,需要根据哪个字段排序order by后面就跟什么字段。如:

select 雇员id, 姓氏||名字 as 姓名,雇用日期 from 雇员 order by 雇用日期

就是按照雇佣日期进行排序的,默认ASC升序。

数据集预览:

u8报表累计摊销公式设置(皕杰报表里的排序问题)(1)

在把数据集表里数据放到报表里展现的时候,我们还可以调整顺序,这取决于数据集函数select中的排序顺序,在单元格表达式里可以根据我们的需要重新排序。

Select

函数说明:从当前数据组中取出一组数据,在扩展方式为纵向扩展或横向扩展(含默认时自动计算出来的)时, 所有附属单元格所用的同一数据集的数据在同一行(Row)

语法:datasetName.select(selectExp{,descExp{,filterExp{,sortExp}}})

参数说明:

selectExp 选出的字段或其表达式

descExp 选出数据的排序规则,true为逆序,false为正序

filterExp 过滤表达式

sortExp 排序依据表达式

举例说明:

1.例1:ds1.select(订单ID,false),将数据集ds1中的“订单ID”字段以列表的形式显示,并顺序排序。

2.例2:ds1.select(订单ID,true,订单id>=12),将数据集ds1中的“订单ID”字段以列表的形式显示,并逆序排序,而且筛选出大于等于12号的订单ID。

3.例3:ds1.select(订单ID,false,订单id>=12,数量),将数据集ds1中的“订单ID”字段以列表的形式显示,按“数量”字段顺序排序,并筛选大于等于12号的订单ID。

针对上述数据集,如果在单元格里简单用=ds0.select(雇员ID),则报表的顺序就是数据在数据集中的顺序,见下图:

u8报表累计摊销公式设置(皕杰报表里的排序问题)(2)

如果我们在select函数中加上排序的参数,=ds0.select(雇员ID,false,,雇员ID)则报表的顺序则按雇员ID顺序重新排序,见下图:

u8报表累计摊销公式设置(皕杰报表里的排序问题)(3)

那么究竟是在sql中排序还是在单元格表达式中排序,则根据报表的性能要求灵活掌握,不管sql中是否排序,如果单元格表达式出来的排序不满足需求,则一定加上排序方式和排序参数。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页