Hàm xử lý ngày tháng
- DATEADD: Thêm hoặc trừ đơn vị thời gian từ một ngày cụ thể.
-- Trừ 3 tháng từ ngày 2020/3/8
DATEADD('month', -3, #2020/3/8#) -- Kết quả: 2019/12/8
-- Trừ 7 ngày từ ngày 2020/3/8
DATEADD('day', -7, #2020/3/8#) -- Kết quả: 2020/3/1
- DATEDIFF: Tính khoảng cách giữa hai ngày theo đơn vị thời gian.
-- Tính số tuần giữa hai ngày với tuần bắt đầu từ Chủ nhật
DATEDIFF('week', #2020/3/8#, #2020/3/9#) -- Kết quả: 0
-- Tính số tuần với tuần bắt đầu từ Thứ hai
DATEDIFF('week', #2020/3/8#, #2020/3/9#, 'monday') -- Kết quả: 1
- ISDATE: Kiểm tra xem chuỗi có phải là ngày hợp lệ hay không.
ISDATE('2020/3/8') -- Kết quả: TRUE
ISDATE('2020-03-8') -- Kết quả: TRUE
- MAKEDATE: Tạo giá trị ngày từ năm, tháng, ngày.
MAKEDATE(2020, 3, 8) -- Kết quả: 2020/3/8
- MAX, MIN: So sánh hai giá trị ngày.
MAX(#2020/1/1#, #2020/3/8#) -- Kết quả: 2020/3/8
MIN(#2020/1/1#, #2020/3/8#) -- Kết quả: 2020/1/1
- NOW: Lấy ngày giờ hiện tại.
NOW() -- Kết quả: 2020/3/8 23:22:26
- TODAY: Lấy ngày hiện tại.
TODAY() -- Kết quả: 2020/3/8
Hàm chuyển đổi kiểu dữ liệu
- DATE: Chuyển đổi chuỗi hoặc số thành kiểu ngày.
DATE('2020/3/8') -- Kết quả: 2020/3/8
DATE('2020-3-8 2:22:22') -- Kết quả: 2020/3/8
- DATETIME: Chuyển đổi thành kiểu ngày giờ.
DATETIME('2020-3-8 22:22:22') -- Kết quả: 2020/3/8 22:22:22
- INT, FLOAT: Chuyển đổi thành số nguyên hoặc số thực.
INT('666') -- Kết quả: 666
FLOAT('123.45') -- Kết quả: 123.45
- STR: Chuyển đổi thành chuỗi.
STR(123) -- Kết quả: "123"
Hàm logic
- IF: Cấu trúc điều kiện đơn giản.
IF [Giá trị] > 1000 THEN 'Cao' ELSE 'Thấp' END
- CASE: Cấu trúc lựa chọn theo giá trị cụ thể.
CASE [Tỉnh]
WHEN 'Hà Nội' OR 'Hải Phòng' THEN 'Miền Bắc'
WHEN 'TP.HCM' OR 'Cần Thơ' THEN 'Miền Nam'
ELSE 'Chưa phân loại'
END
- IFNULL: Kiểm tra giá trị null.
IFNULL([Giá trị hiện tại], [Giá trị kỳ trước])
- ISNULL: Trả về TRUE nếu giá trị là null.
ISNULL([Giá trị])
Hàm tổng hợp
- COUNT: Đếm số lượng bản ghi (không tính giá trị null).
- COUNTD: Đếm số lượng bản ghi duy nhất (không tính giá trị null).
- SUM: Tính tổng giá trị.
- AVG: Tính trung bình.
- MEDIAN: Tính giá trị trung vị.
- ATTR: Trả về giá trị nếu tất cả hàng có cùng giá trị, ngược lại trả về dấu *.
Hàm tính toán bảng
- TOTAL: Tính tổng trên toàn bộ phân vùng.
- INDEX: Trả về vị trí của hàng hiện tại trong phân vùng.
Hàm LOD (Level of Detail)
- FIXED: Tính toán ở mức chi tiết cố định.
{FIXED [Mã sản phẩm] : SUM([Doanh số])}
- INCLUDE: Tính toán ở mức chi tiết cao hơn.
{INCLUDE [Khu vực] : AVG([Doanh số])}
- EXCLUDE: Loại bỏ một hoặc nhiều trường khỏi mức chi tiết hiện tại.
{EXCLUDE [Tháng] : SUM([Doanh số])}