Trước khi đi vào phần bài viết này, các bạn hãy ôn lại nhóm hàm TOTAL TO DATE ở phần trước, bài viết này Datapot sẽ cùng các bạn tập trung đi sâu vào mục đích sử dụng, tính ứng dụng của nhóm hàm DATES TO DATE trong thực tiễn.
Các hàm DATESYTD, DATESQTD, DATESMTD ( Datapot sẽ tạm gọi là nhóm hàm DATES TO DATE) là nhóm hàm vô cùng hữu dụng giúp chúng ta lấy ra được khoảng ngày từ đầu kỳ ( năm, quý, tháng) cho tới ngày hiện tại. Tương tự hàm TOTALYTD, hàm DATESYTD hỗ trợ trong việc thay đổi kỳ tính toán để phù hợp với năm tài chính tùy vào công ty, quốc gia.
Các hàm DATESYTD, DATESQTD, DATESMTD cung cấp sự linh hoạt, giúp cho logic công thức rõ ràng hơn so với nhóm hàm TOTAL TO DATE. Việc nắm rõ thêm mục đích sử dụng, cú pháp và cách ứng dụng của hàm DATESYTD, DATESQTD, DATESMTD sẽ giúp các bạn nâng cao khả năng viết DAX, có sự lựa chọn thay thế, linh hoạt hơn trong việc kiểm soát báo cáo của mình.
Mục lục
MỤC ĐÍCH SỬ DỤNG VÀ CÚ PHÁP CỦA HÀM DATESYTD, DATESQTD, DATESMTD
DATESYTD
- MỤC ĐÍCH SỬ DỤNG HÀM DATESYTD:
DATESYTD (DATES YEAR TO DATE) giúp chúng ta lấy ra các giá trị thời gian từ đầu năm cho đến thời điểm hiện tại, chúng ta có thể thay đổi năm tài chỉnh để cho phù hợp với năm tài chính của công ty, tại bài TOTALYTD mình cũng đã đề cập tới vấn đề này.
- CÚ PHÁP HÀM DATESYTD:
DATESYTD(<dates> , [<year_end_date>])
THAM SỐ | Ý NGHĨA |
<dates> | Giá trị cần truyền là cột DATE trong POWER BI |
| [<year_end_date>] | Ngày kết thúc năm tài chính, có thể điền dạng “yy-mm”,””dd-mm” hoặc “dd/mm”đều được. |
DATESQTD
- MỤC ĐÍCH SỬ DỤNG HÀM DATESQTD
DATESQTD (DATES QUARTER TO DATE) giúp chúng ta lấy ra các giá trị thời gian từ đầu quý cho đến thời điểm hiện tại.
- CÚ PHÁP HÀM DATESQTD
DATESQTD(<dates>)
THAM SỐ | Ý NGHĨA |
<dates> | Giá trị cần truyền là cột DATE trong POWER BI |
DATESMTD
- MỤC ĐÍCH SỬ DỤNG HÀM DATESMTD:
DATESMTD (DATES MONTH TO DATE) giúp chúng ta lấy ra các giá trị thời gian từ đầu quý cho đến thời điểm hiện tại.
- CÚ PHÁP Hàm DATESMTD
DATESMTD(<dates>)
THAM SỐ | Ý NGHĨA |
<dates> | Giá trị cần truyền là cột DATE trong POWER BI |
Lưu ý: tham số đối với hàm DATESQTD và hàm DATESMTD sẽ khác với hàm DATESYTD là sẽ không có tham số [<year_end_date>] vì mặc định ngày kết thúc quý hay tháng sẽ trùng với dương lịch.
CÁCH SỬ DỤNG CÁC HÀM DATESYTD, DATESQTD, DATESMTD
Về mặt ứng dụng của hàm DATESYTD, DATESQTD, DATESMTD thì trường hợp chúng ta hay sử dụng nhất là KẾT HỢP VỚI HÀM CALCULATE ĐỂ DÙNG THAY THẾ HÀM TOTALYTD, TOTALQTD, TOTALMTD, có 2 lý do để chúng ta có thể dùng thay thế hàm TOTAL TO DATE:
- Sự linh hoạt trong việc kiểm soát filter: Trong thực tế sẽ cần có nhiều trường hợp sẽ cần hơn một filter, nhóm hàm TOTAL TO DATE hỗ trợ cho một tham số <filter>, nêu muốn dùng nhiều hơn thì sẽ phải kết hợp các phép nối khác như (AND, OR), còn nhóm hàm khi sử dụng với CALCULATE thì sẽ có thể linh hoạt kiểm soát filter trong bài toán. Đọc thêm vè hàm CALCULATE để nắm rõ hơn về FILTER CONTEXT.
- Sự logic trong việc viết DAX: giúp biểu thức rõ ràng hơn, những người dùng sau khi muốn điều chỉnh sẽ nắm và hiểu được ý nghĩa của bài toán.
Lưu ý: Đối với bài toán có mục đích là tính lũy kế của một chỉ tiêu nhất định theo từng loại kỳ nhất định ( Năm, Tháng, Ngày), các bạn nên sử dụng để tính toán với các chỉ tiêu CÓ THỂ CỘNG DỒN theo kỳ như :
- Doanh thu
- Lợi nhuân
- Số lượng khách hàng mới
- Số lượng đơn hàng
- Số lượng sản phẩm bán ra
- Số giờ làm việc
- ….
Bộ dữ liệu:
Data set thực hành gồm:
- Bảng Sale: gồm thông tin giao dịch của
- Bảng Date: cách tạo bảng date.

HÀM DATESYTD
Ví dụ : Tính doanh thu lũy kế cho từng năm theo hai cách, so sánh sự khác biệt.
Công thức DAX:
Doanh thu = SUM(Sales[Total Amount])
– Công thức tính doanh thu.
Doanh thu lũy kế năm TOTALYTD = TOTALYTD([Doanh thu],'Date'[Date])
– Sử dụng hàm TOTALYTD để tính doanh thu lũy kế năm.
Doanh thu lũy kế năm DATESYTD = CALCULATE([Doanh thu],DATESYTD('Date'[Date]))
– Sử dụng hàm CALCULATE kết hợp DATESYTD để tính doanh thu lũy kế năm

Như chúng ta có thể thấy hai cách tính đem lại kết quả như nhau.
HÀM DATESQTD
Ví dụ : Tính doanh thu lũy kế cho từng quý theo hai cách, so sánh sự khác biệt.
Tương tự phần YTD:
Công thức DAX:
Doanh thu lũy kế quý TOTALQTD = TOTALQTD([Doanh thu],'Date'[Date])
– Sử dụng hàm TOTALQTD để tính doanh thu lũy kế quý.
Doanh thu lũy kế quý DATESQTD = CALCULATE([Doanh thu],DATESQTD('Date'[Date]))
– Sử dụng hàm CALCULATE kết hợp DATESQTD để tính doanh thu lũy kế quý.

Kết quả trả về tương tự nhau.
HÀM DATESMTD
Ví dụ : Tính doanh thu lũy kế cho từng tháng theo hai cách, so sánh sự khác biệt.
Công thức DAX:
Doanh thu lũy kế tháng TOTALMTD = TOTALMTD([Doanh thu],'Date'[Date])
– Sử dụng hàm TOTALMTD để tính doanh thu lũy kế tháng.
Doanh thu lũy kế tháng DATESMTD = CALCULATE([Doanh thu],DATESMTD('Date'[Date]))
– Sử dụng hàm CALCULATE kết hợp DATESMTD để tính doanh thu lũy kế tháng.
Kết quả:

Tương tự như hai phần trên, kết quả giữa hai cách tính là tương tự nhau.
SO SÁNH DATESYTD, DATESQTD, DATESMTD và TOTALYTD, TOTALQTD, TOTALMTD
NHÓM HÀM TOTAL TO DATE | NHÓM HÀM DATES TO DATE | |
| KẾT QUẢ TRẢ VỀ | Trả về giá trị lũy kế từ đầu kỳ | Trả về các giá trị thời gian từ đầu kỳ. |
ỨNG DỤNG | Dùng để tính giá trị lũy kế từ đầu kỳ | Kết hợp với hàm CALCULATE như một điều kiện filter và có tác dụng tương đương hàm nhóm hàm TOTAL TO DATE. |
Ưu điểm | – Không cần thông qua hàm CALCULATE.- Dùng trong trường hợp bộ lọc đơn giản. | – Được sử dụng như một filter của hàm Calculate nên chúng ta có thể dễ dàng kiểm soát các bộ lọc đi kèm.- Logic hơn trong việc viết DAX, những người dùng sau tiếp nhận hay sửa báo cáo có thể hiểu dễ dàng hơn. |
Lưu ý: Các bạn có thể nhầm rằng nhóm hàm TOTAL TO DATE: TOTALYTD, TOTALQTD, TOTALMTD chỉ dùng để tính tổng chỉ số nhưng các hàm đó có thể tính nhiều loại dựa trên tham số <expression> mà mọi người đưa vào.
Qua bài viết về hàm DAX cơ bản: nhóm hàm DATES TO DATE, Datapot hi vọng bạn có một cái nhìn rõ hơn về các hàm DATESYTD, DATESQTD, DATESMTD. Để không bỏ lỡ các nội dung mới về tự học và thực hành Power BI, mời bạn theo dõi chuyên mục Power BI trên Blog và subscribe vào kênh YouTube của Datapot nhé.
