1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| let
Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
// Tableau Source
Calcul_DDN = Table.AddColumn(Source, "DDN", each let x = try Int64.From(Text.End(Text.BeforeDelimiter([Auteurs principaux], "-"),4)) in if x[HasError] then null else x[Value]),
// Calcul de la date de naissance. On cherche les 4 caractères situés juste avant le tiret "-", et on essaye (try Int64.From) de transformer ces 4 caractères en numérique. Si cela fonctionne, on récupère cette année, sinon, on met null
Calcul_DDC = Table.AddColumn(Calcul_DDN, "DDC", each let x = try Int64.From(Text.Start(Text.AfterDelimiter([Auteurs principaux], "-"),4)) in if x[HasError] then null else x[Value]),
// Même principe que pour l'année de naissance, sauf qu'ici, on prend les 4 caractères situés juste après le tiret. pour calculer l'année de décès, si elle existe
CritDDN = T_Crit[#"Année Naissance"]{0},
// Récupération de l'année de naissance dans le tableau de critère
CritDDC = T_Crit[#"Année Décès"]{0},
// Récupération de l'année de décès dans le tableau de critère
Filtre_Dates = Table.SelectRows(Calcul_DDC, each [DDN] >= CritDDN and [DDC]<= CritDDC),
// Filtrage sur ces deux dates
Ajout_Auteur = Table.Distinct(Table.AddColumn(Filtre_Dates, "Auteurs", each Text.Trim(Text.BeforeDelimiter([Auteurs principaux], Text.From([DDN]))))[[Auteurs],[DDN],[DDC]])
// Ajout d'une colonne pour récupérer les auteurs. On récupère le texte situé avant la date de naissance (Text.From([DDN])), auquel on enlève le ou les espaces englobant ce texte (Text.Trim). On ne garde que les 3 colonnes calculées (Auteurs, DDN et DDC), auxquelles on enlève les doublons (Table.Distinct)
in
Ajout_Auteur |
Partager