MTD:=CALCULATE([Total Revenue],DATESMTD('Calendar'[Date]))
LY_MTD:=CALCULATE([MTD],SAMEPERIODLASTYEAR('Calendar'[Date]))
MTD hiện tại đã đúng, nhưng LY_MTD thì nó tính cả tháng rồi năm trước nên Thầy cho em hỏi là có cách nào tính chỉ tính đến ngày cùng kỳ của năm rồi ko.
Ví dụ doanh thu MTD hiện giờ là từ 01/05/2023 → 25/05/2023
thì cùng kỳ MTD của năm rồi sẽ là từ 01/05/2022 → 25/05/2022 chớ ko phải tính cả tháng 5.2022
Em cảm ơn
*****
bảng Date, nếu em break đến bậc ngày thì nó tính đúng. Nhưng í em là viết measure như thế nào để tính cùng kỳ năm rồi của MTD mà ko cần phải break tới ngày
Bên trái: LY_MTD thì nó tính cả tháng rồi năm trước
Bên phải: cũng công thức nó nếu break đến bậc ngày thì nó tính đúng
SAMEPERIODLASTYEAR là cùng kỳ năm ngoái, nên khi trên pivot bạn group theo tháng thì nó là cả tháng của năm ngoái, còn break theo ngày, ví dụ ngày 25 thì nó roll được đúng về ngày 25 của năm trước và áp dụng MTD, do đó khi break theo ngày dữ liệu đúng còn group theo tháng dữ liệu sẽ là cả tháng.
Ở đây bài toán đang là bạn cần so sánh đúng ở tháng hiện tại so với cùng kỳ năm trước. Ví dụ đang ở ngày 25/5, thì bạn có thể tính:
MTD Lastyear = CALCULATE([MTD],DATESBETWEEN('Calendar'[Date],STARTOFMONTH(MAX(Date)),MAX(Date)
Ta dùng Max(date) để xác định ngày cuối cùng rồi kéo về cùng kỳ của năm trước, khi đó group sẽ không bị cả tháng, tuy nhiên dữ liệu của các tháng về sau (ví dụ trên data là từ June, July …) sẽ vẫn là MTD của tháng 5. Bạn cân nhắc cách sử dụng cho phù hợp với mục đích nha
mình cảm ơn