原始需求:
【答復】003 如何利用刷卡機產(chǎn)生的 Excel 紀錄,自動產(chǎn)出餐費及統(tǒng)計報表?
現(xiàn)有這樣的食堂就餐刷卡統(tǒng)計表

我們希望按下圖的樣子統(tǒng)計

按照人員、時間區(qū)間、部門自動計算并合計。
制作關鍵點:
1. 根據(jù)刷卡時間判斷早中晚等

2. 不同級別餐費不同,要根據(jù)卡號查出員工對應的級別然后統(tǒng)計餐費

數(shù)據(jù)文件:
制表過程:
啟動潤乾報表工具
新建空白報表

3. 設置報表的數(shù)據(jù)集為 腳本數(shù)據(jù)集

打開”腳本數(shù)據(jù)集”設置界面,如下

A1:
$select * from 食堂就餐刷卡統(tǒng)計表.xlsx a left join 員工信息表.xlsx b on a. 卡號 =b. 卡號
意為:通過簡單類 SQL 語法格式,對 excel 文件的數(shù)據(jù)進行關聯(lián)取數(shù)
A2:
=A1.new(‘a(chǎn). 姓名’: 姓名,
‘a(chǎn). 卡號’: 卡號,
‘a(chǎn). 日期時間’: 日期時間,
string(‘a(chǎn). 日期時間’,“yyyy-MM-dd”): 日期,
time(‘a(chǎn). 日期時間’): 時間,
if(時間 >=time(“7:00:00”) && 時間 <=time(“8:59:59”),“早餐”,if(時間 >=time(“11:00:00”) && 時間 <=time(“12:59:59”),“午餐”,if(時間 >=time(“16:00:00”) && 時間 <=time(“17:59:59”),“晚餐”,“宵夜”))): 餐別,
‘b. 級別’: 職務,
‘b. 部門’: 部門,
if(職務 ==“經(jīng)理” || 職務 ==“主任” || 職務 ==“襄理”:case( 餐別,“早餐”:10,“午餐”:20,“晚餐”:20;5), 職務 ==“役員” || 職務 ==“聘雇”:case(餐別,“早餐”:15,“午餐”:45,“晚餐”:36;5),null): 餐費 )
意為:
從 A1 的結(jié)果集中整理出后續(xù)報表計算所需的數(shù)據(jù)列;
表達式中斜體部分為文章開頭關鍵點處理,我們只需在數(shù)據(jù)整理的同時計算出餐別與對應餐費即可。
4. 制作報表(編寫表達式、設置樣式等)
4.1 畫出表格基本結(jié)構(gòu)

4.2 取數(shù)編寫計算表達式

A3: =&B3 左主格為:B3
B3:=ds1.group(姓名; 姓名:1)
C3:=ds1.group(部門; 部門:1)
D3:=ds1.group(餐別; 餐別:-1)
E2:=ds1.group(day( 日期); 日期:1)
E3:=ds1.sum(餐費)
F3:=sum(E3{})
G3:=sum(E3{}) 顯示格式為:¥#0.00
H3:=sum(E3{}) 左主格為:B3
5. 保存,預覽

6. 導出
