1. 概述
1.1 預期效果
在設計報表的時候,可能需要根據多列資料生成多級序號,效果如下圖所示:
1.2 實現思路
先獲取第一欄資料當前值在當前欄資料去重後的序號.
再獲取第二欄資料當前值在(當前列欄資料去重後且第一欄資料等於當前第一欄的值)的序號。
對分別獲取到的序號進行連接。
2. 範例
2.1 資料準備
建立資料集 ds1,資料庫查詢語句為:SELECT * FROM 部門
2.2 報表設計
1)如下圖設計表格樣式,B2 資料設定為列表,A2 左父格為 B2 。
2)A2 儲存格輸入公式:
INARRAY(B2,UNIQUEARRAY(B2[!0]))+"."+INARRAY(C2,UNIQUEARRAY(C2[!0]{B2=$B2}))
2.3 效果預覽
1)PC端
儲存報表,點選分頁預覽,多級序號效果如 1.1節 所示。
2)行動端
3. 範本下載
點選下載範本:多級序號.cpt
4. 注意事項
如果有第三列資料 (D2) 也要生成序號,則 A2 左父格為 C2 ,公式為:INARRAY(B2,UNIQUEARRAY(B2[!0]))+"."+INARRAY(C2,UNIQUEARRAY(C2[!0]{B2=$B2}))+"."+INARRAY(D2,UNIQUEARRAY(D2[!0]{B2=$B2&&C2=$C2}))
如果有第四列資料 (E2) 也要生成序號,則 A2 左父格為 D2 ,公式為:INARRAY(B2,UNIQUEARRAY(B2[!0]))+"."+INARRAY(C2,UNIQUEARRAY(C2[!0]{B2=$B2}))+"."+INARRAY(D2,UNIQUEARRAY(D2[!0]{B2=$B2&&C2=$C2}))+"."+INARRAY(E2,UNIQUEARRAY(E2[!0]{B2=$B2&&C2=$C2&&D2=$D2}))
如此類推。