Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Power Query [Trucs et astuces] Créer le dictionnaire de données des requêtes

  • Initiateur de la discussion Initiateur de la discussion Guy_M
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Guy_M

XLDnaute Occasionnel
Bonjour,

Pour ceux qui en aurait besoin voici une requête Power Query permettant de créer le dictionnaire de données des requêtes.
PowerQuery:
let
    Source = #sections,
    Section1 = Source[Section1],
    #"Converti en table" = Record.ToTable(Section1),
    #"Suppprime requête DicoDonnées" = Table.SelectRows(#"Converti en table", each ([Name] <> "DicoDonnée")),
    #"Col. Type de Value" = Table.AddColumn(#"Suppprime requête DicoDonnées", "Type de Value", each Type.TableSchema(type table [ Col1 = Value.Type([Value])])[TypeName]{0}),
    #"Conserve les tables" = Table.SelectRows(#"Col. Type de Value", each ([Type de Value] = "Table.Type")),
    #"Conserve les noms des requêtes" = Table.SelectColumns(#"Conserve les tables",{"Name"}),
    #"Liste des noms des requetes" = #"Conserve les noms des requêtes"[Name],
    #"Dico de données de chaque table" = List.Transform(#"Liste des noms des requetes",each {_, Table.Schema(Expression.Evaluate(_,#shared))}),
    #"Ajout Nom Requête à chaque Dico" = List.Transform(#"Dico de données de chaque table",(MembreListe) => Table.AddColumn(MembreListe{1},"Nom Requête",each MembreListe{0})),
    #"Générer le dico de données" = Table.Combine(#"Ajout Nom Requête à chaque Dico"),
    #"Colonnes permutées" = Table.ReorderColumns(#"Générer le dico de données",{"Nom Requête", "Name", "Position", "TypeName", "Kind", "IsNullable", "NumericPrecisionBase", "NumericPrecision", "NumericScale", "IsSigned", "DateTimePrecision", "MaxLength", "IsVariableLength", "NativeTypeName", "NativeDefaultExpression", "NativeExpression", "Description", "IsWritable", "FieldCaption"}),
    #"Lignes groupées" = Table.Group(#"Colonnes permutées", {"Name", "TypeName", "Kind"}, {{"Requêtes", each Text.Combine([Nom Requête],", "), type text}}),
    #"Colonnes permutées1" = Table.ReorderColumns(#"Lignes groupées",{"Requêtes", "Name", "TypeName", "Kind"}),
    #"Lignes triées" = Table.Sort(#"Colonnes permutées1",{{"Name", Order.Ascending}})
in
    #"Lignes triées"

Il y a une limitation, la requête générant le dictionnaire de données doit s'appeler DicoDonnées. Peut-être qu'une prochaine version s’affranchira de cette contrainte.

En espérant que cela pourra vous être utile à quelqu'un.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Réponses
16
Affichages
1 K
Réponses
2
Affichages
702
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…