let
DateDebut=#date(2010, 1, 1),
DateFin=#date(2030, 12, 31),
NbJour = Duration.Days(DateFin-DateDebut),
Source = List.Dates(DateDebut, NbJour+1, #duration(1, 0, 0 ,0))
in
Source
let
DateDebut=#date(2010, 1, 1),
DateFin=#date(2030, 12, 31),
NbJour = Duration.Days(DateFin-DateDebut),
Source = List.Dates(DateDebut, NbJour+1, #duration(1, 0, 0 ,0)),
#"Converti en table" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Type modifié" = Table.TransformColumnTypes(#"Converti en table",{{"Column1", type date}}),
#"Colonnes renommées" = Table.RenameColumns(#"Type modifié",{{"Column1", "DateKey"}}),
#"Semaine ISO" = Table.AddColumn(#"Colonnes renommées", "Semaine", each
if Number.RoundDown((Date.DayOfYear([DateKey])-(Date.DayOfWeek([DateKey], Day.Monday)+1)+10)/7)=0 then
Number.RoundDown((Date.DayOfYear(#date(Date.Year([DateKey])-1,12,31))-(Date.DayOfWeek(#date(Date.Year([DateKey])-1,12,31), Day.Monday)+1)+10)/7)
else if (Number.RoundDown((Date.DayOfYear([DateKey])-(Date.DayOfWeek([DateKey], Day.Monday)+1)+10)/7)=53 and (Date.DayOfWeek(#date(Date.Year([DateKey]),12,31), Day.Monday)+1<4)) then
1
else
Number.RoundDown((Date.DayOfYear([DateKey])-(Date.DayOfWeek([DateKey], Day.Monday)+1)+10)/7))
in
#"Semaine ISO"
DateDebut=List.Min(tblVente[DateVente])
DateFin=List.Max(tblVente[DateVente])
Calendrier =
VAR BaseCalendar =
CALENDAR ( DATE ( 2016, 1, 1), DATE ( 2018, 12, 31) )
return
GENERATE(
BaseCalendar,
VAR BaseDate = [Date]
VAR YearDate = YEAR (BaseDate)
VAR MonthNumber = MONTH(BaseDate)
VAR MonthName = FORMAT(BaseDate, "mmmm")
VAR MonthShortName = FORMAT(BaseDate, "mmm")
VAR YearMonthName = FORMAT(BaseDate, "mmm yyyy")
VAR TrimNumber = TRUNC ( (MonthNumber-1) / 3 ) + 1
VAR TrimName = "T" & TrimNumber
VAR YearTrimName = YearDate & TrimName
VAR NumWeek = WEEKNUM(BaseDate,21)
RETURN ROW (
"DateDuJour", BaseDate,
"Année", YearDate,
"Mois", MonthNumber,
"Nom du mois", MonthName,
"Nom court du mois", MonthShortName,
"Mois Année", YearMonthName,
"Trimestre", TrimNumber,
"Nom trimestre", TrimName,
"Année trimestre", YearTrimName,
"Semaine", NumWeek
)
)