快逸製作同期比報表時涉及的函式和問題

2021-06-11 13:17:02 字數 648 閱讀 9487

製作同期比報表的關鍵是排序,在排名確定的情況下進行同位次或相鄰位次的比較,也就是在比較之前進行一下索引。

所以涉及到在報表設計時排序的問題。在快逸的各種函式中能夠進行排序的只有group和select兩個函式,所以會感覺很多排序功能不能實現。其實不然,這兩個函式的排序功能非常強大。除了常用的正序和逆序排列(即false和true),還可以根據表示式進行排序。下面的例1是直接排序,例2是根據表示式進行排序。

例1:ds1.group(class, true ) 把資料集ds1中所有記錄按照class欄位降序排列,然後根據class進行分組,並返回每組的class值組成的集合。

例2:ds1.group(省份,true,,,ds1.sum(工業產值),true) 對資料集ds1按照省份進行分組,分組後求出每組的sum(工業產值),然後按照這個彙總值對組進行逆序排列。

更複雜的是在表示式中再嵌入篩選條件,例如:ds1.group(雇員id,true,,,ds1.sum(日銷售額,month(訂購日期)==@arg1),true)

排序之後各種同期和相鄰比較便可通過快逸報表的位移和層次座標進行計算

值得注意的是,同期報表中group函式的應用較多,分組之後後邊的單元格預設根據分組格進行擴充套件,所以在其寫表示式時要注意資料會限制在組內,也就是主格的擴充套件影響自發存在,即使沒有相應的附屬格展開。

快逸報表4 0 分組處理

b 右側作為上級分組的處理 b 快逸報表分組顯示時預設都是從左向右分級分組。比如從左向右a,b,c,d4列。a列為國家,b列為省,c列為市,d列為區。則可以對查詢出的資料直接使用分組函式 ds1.group a ds1.group b ds1.group c ds1.select d 注意這裡d列有...

Tomcat下快逸報表中文亂碼問題怎麼解決

報表展現過程中出現亂碼是難免的,各種字符集之間的轉換稍不留神就會出問題,本文就中文亂碼問題總結一些常見錯誤和解決辦法。中文亂碼一般由中文報表名稱,中文引數引起,先看一下常見錯誤 解決辦法 在tomcat中server.xml中新增 uriencoring gbk 原理是指定瀏覽器的編碼格式為 簡體中...

快逸報表下多種序號生成方法詳解

在使用報表工具製作報表的過程中,常常需要對報表中的記錄進行序號的編排。無論是出於報表實際的需要,還是作為報表製作的中間過程,序號已經成了報表不可或缺的一部分,是web報表工具的一種廣泛需求。基於這個需求的廣泛存在,本文就來詳細介紹一下快逸報表下的幾種序號生成方法,在實際的製作過程中可選取不同的方法以...