From 8f3216839c82fd3304d5809cd5383deda6d560af Mon Sep 17 00:00:00 2001 From: Alberto Spelta Date: Wed, 10 Apr 2024 09:23:21 +0200 Subject: [PATCH] Fix error when 0 (Sunday) is used as `WeekDayNumber` in HolidaysDefinition.json (#45) * Fix configuration error when WeekDayNumber is 0 (Sunday) * Applied fix as suggested by the code review --- src/Dax.Template/Tables/Dates/HolidaysTable.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Dax.Template/Tables/Dates/HolidaysTable.cs b/src/Dax.Template/Tables/Dates/HolidaysTable.cs index 657b80d..d6c0dd3 100644 --- a/src/Dax.Template/Tables/Dates/HolidaysTable.cs +++ b/src/Dax.Template/Tables/Dates/HolidaysTable.cs @@ -129,7 +129,10 @@ public HolidaysTable(IHolidaysConfig config): base(config) __SeptemberEquinox + '{config.HolidaysDefinitionTable}'[DayNumber], IF ( '{config.HolidaysDefinitionTable}'[MonthNumber] = 96, -- March Equinox __MarchEquinox + '{config.HolidaysDefinitionTable}'[DayNumber], - IF ( '{config.HolidaysDefinitionTable}'[WeekDayNumber] <> 0, + IF ( '{config.HolidaysDefinitionTable}'[WeekDayNumber] IN {{ 0, 1, 2, 3, 4, 5, 6 }} + && '{config.HolidaysDefinitionTable}'[DayNumber] = 0 + && '{config.HolidaysDefinitionTable}'[OffsetWeek] <> 0 + && '{config.HolidaysDefinitionTable}'[MonthNumber] IN {{ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }}, VAR _ReferenceDate = DATE ( __HolidayYear, 1 + MOD ( '{config.HolidaysDefinitionTable}'[MonthNumber] - 1 + IF ( '{config.HolidaysDefinitionTable}'[OffsetWeek] < 0, 1 ), 12 ), 1 )