1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
let
Source = "",
Calendrier = let CreationDateTable = (#"Date Début" as date, #"Date Fin" as date) as table =>
let
#"Nombre de jours" = Duration.Days(Duration.From(#"Date Fin" - #"Date Début")),
#"Source Calculée dans liste" = List.Dates(#"Date Début",#"Nombre de jours",#duration(1,0,0,0)),
#"Transfrome Liste en Table" = Table.FromList(#"Source Calculée dans liste", Splitter.SplitByNothing()),
ChangedType = Table.TransformColumnTypes(#"Transfrome Liste en Table",{{"Column1", type date}}),
#"RenamedColumn en Date" = Table.RenameColumns(ChangedType,{{"Column1", "Date"}}),
#"Insert Année" = Table.AddColumn(#"RenamedColumn en Date", "Année", each Date.Year([Date])),
#"Insert Trimestre" = Table.AddColumn(#"Insert Année", "Trimestre", each Date.QuarterOfYear([Date])),
#"Insert Mois" = Table.AddColumn(#"Insert Trimestre", "Mois", each Date.Month([Date])),
#"Insert Jour dans mois" = Table.AddColumn(#"Insert Mois", "Jour", each Date.Day([Date])),
#"Insert Date AAAAMMJJ" = Table.AddColumn(#"Insert Jour dans mois", "Date AAAAMMJJ", each [Année] * 10000 + [Mois] * 100 + [Jour]),
#"Insert Mois Libellé" = Table.AddColumn(#"Insert Date AAAAMMJJ", "Mois libellé", each Date.ToText([Date], "MMMM", "French"), type text),
#"Insert Mois MMM Année" = Table.AddColumn(#"Insert Mois Libellé", "Mois et Année", each Date.ToText([Date], "MMM", "French") & " " & Number.ToText([Année])),
#"Insert Trimestre Année" = Table.AddColumn(#"Insert Mois MMM Année", "Trimestre Année", each "T" & Number.ToText([Trimestre]) & " " & Number.ToText([Année])),
#"Insert Jour Semaine" = Table.AddColumn(#"Insert Trimestre Année", "Jour Semaine", each Date.DayOfWeek([Date])),
#"Insert Jour Libellé" = Table.AddColumn(#"Insert Jour Semaine", "Jour Libellé", each Date.ToText([Date], "dddd", "French"), type text),
#"Insert Date Fin Semaine" = Table.AddColumn(#"Insert Jour Libellé", "Semaine Date Fin", each Date.EndOfWeek([Date]), type date),
#"Insert Date Début Semaine" = Table.AddColumn(#"Insert Date Fin Semaine", "Semaine Date Début", each Date.StartOfWeek([Date]), type date),
#"Insert Semaine" = Table.AddColumn(#"Insert Date Début Semaine", "Semaine", each Date.WeekOfYear([Date], Day.Monday), type text),
#"Insert Date Début Mois" = Table.AddColumn(#"Insert Semaine", "Date Début Mois", each Date.StartOfMonth([Date]), type date),
#"Insert Date Fin Mois" = Table.AddColumn(#"Insert Date Début Mois", "Date Fin Mois", each Date.EndOfMonth([Date]), type date),
#"Insert Semestre" = Table.AddColumn(#"Insert Date Fin Mois", "Semestre", each "S" & (if Date.Month([Date]) <= 6 then "1" else "2") & " " & Number.ToText([Année]), type date),
#"Type modifié" = Table.TransformColumnTypes(#"Insert Semestre",{{"Année", Int64.Type}, {"Trimestre", Int64.Type}, {"Mois", Int64.Type}, {"Jour", Int64.Type}, {"Date AAAAMMJJ", Int64.Type}, {"Mois libellé", type text}, {"Mois et Année", type text}, {"Trimestre Année", type text}, {"Jour Semaine", Int64.Type}, {"Jour Libellé", type text}, {"Semaine Date Fin", type date}, {"Semaine Date Début", type date}, {"Semaine", Int64.Type}, {"Date Début Mois", type date}, {"Date Fin Mois", type date}, {"Semestre", type text}})
in
#"Type modifié"
in
CreationDateTable
in
Calendrier |
Partager