본문 바로가기
Microsoft BI

DAX Query(Time)

 Dimension

 Calculation

DateUS

DATE(MID([DateID], 1, 4), MID([DateID], 5, 2), MID([DateID], 7, 2))

Last1Week

IF([Week]-1 <= [Year] * 100, IF(ISBLANK(CALCULATE(MAX('Time'[Week]), FILTER('Time', 'Time'[Year] = EARLIER([Year]) - 1))), MIN([Week]), CALCULATE(MAX('Time'[Week]), FILTER('Time', 'Time'[Year] = EARLIER([Year]) - 1)) + [Week] - ([Year] * 100) - 1), [Week] - 1)

Last11Week

IF([Week]-11 <= [Year] * 100, IF(ISBLANK(CALCULATE(MAX('Time'[Week]), FILTER('Time', 'Time'[Year] = EARLIER([Year]) - 1))), MIN([Week]), CALCULATE(MAX('Time'[Week]), FILTER('Time', 'Time'[Year] = EARLIER([Year]) - 1)) + [Week] - ([Year] * 100) - 11), [Week] - 11)

Last52Week

IF([Week]-52 <= [Year] * 100, IF(ISBLANK(CALCULATE(MAX('Time'[Week]), FILTER('Time', 'Time'[Year] = EARLIER([Year]) - 1))), MIN([Week]), CALCULATE(MAX('Time'[Week]), FILTER('Time', 'Time'[Year] = EARLIER([Year]) - 1)) + [Week] - ([Year] * 100) - 52), IF(([Week] - 52) > 0, [Week] - 52, [Week]))

LastYearMonth

[MONTHID] - 100

LastYearQuarter

CONCATENATE([Year] - 1, MID([Quarter], 5,2))

LY Week

[Week] - 100

LY Last3Week

IF([LY Week]-3 <= ([Year] - 1) * 100, IF(ISBLANK(CALCULATE(MAX('Time'[Week]), FILTER('Time', 'Time'[Year] = EARLIER([Year]) - 2))), ((([Year] - 1) * 100) + 1), CALCULATE(MAX('Time'[Week]), FILTER('Time', 'Time'[Year] = EARLIER([Year]) - 2)) + [LY Week] - (([Year] - 1) * 100) - 3), [LY Week] - 3)

LY Last11Week

IF([LY Week]-11 <= ([Year] - 1) * 100, IF(ISBLANK(CALCULATE(MAX('Time'[Week]), FILTER('Time', 'Time'[Year] = EARLIER([Year]) - 2))), ((([Year] - 1) * 100) + 1), CALCULATE(MAX('Time'[Week]), FILTER('Time', 'Time'[Year] = EARLIER([Year]) - 2)) + [LY Week] - (([Year] - 1) * 100) - 11), [LY Week] - 11)

Fast1Week

 IF([Week] + 1 > CALCULATE(MAX('Time'[Week]), FILTER('Time', 'Time'[Year] = EARLIER([Year]))), (([Year] + 1) * 100) + 1 - (CALCULATE(MAX('Time'[Week]), FILTER('Time', 'Time'[Year] = EARLIER([Year]))) - [Week]), [Week] + 1)
Fast4Week  IF([Week] + 4 > CALCULATE(MAX('Time'[Week]), FILTER('Time', 'Time'[Year] = EARLIER([Year]))), (([Year] + 1) * 100) + 4 - (CALCULATE(MAX('Time'[Week]), FILTER('Time', 'Time'[Year] = EARLIER([Year]))) - [Week]), [Week] + 4)

FastMonth

IF(MID([MONTHID],5,2) = "12", INT(CONCATENATE([Year] + 1, "01")), [MONTHID] + 1)

 

FastQuarter

IF(MID([Quarter],5,2) = "Q4", CONCATENATE([Year] + 1, "Q1"), CONCATENATE(MID([Quarter], 1, 5), INT(MID([Quarter], 6, 1)) + 1))

DATESTR 

(20180423)

CONCATENATE(YEAR([CurrentTime]), CONCATENATE(IF(MONTH([CurrentTime]) < 10, CONCATENATE("0", MONTH([CurrentTime])), MONTH([CurrentTime])), IF(DAY([CurrentTime]) < 10, CONCATENATE("0", DAY([CurrentTime])), DAY([CurrentTime]))))