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

Power Query Colonne personnalisée et requête Odbc.query

GTI_Services

XLDnaute Nouveau
Bonjour,

Dans ma table "CONNEXION_UTILISATEUR", je souhaite créer une colonne personnalisée qui fait référence a une autre table "UTILISATEUR".
Odbc.Query("dsn=Nom_BDD","SELECT * FROM UTILISATEUR WHERE ID_Utilisateur = 3523")

Dans ce cas ça va chercher toujours l'ID Utilisateur 3523 ce qui est normal !

Je souhaite remplacer la valeur 3523 par une colonne de ma table initiale "CONNEXION_UTILISATEUR".
Odbc.Query("dsn=Nom_BDD","SELECT * FROM UTILISATEUR WHERE ID_Utilisateur = [CONNEXION_UTILISATEUR.__ID_Utilisateur]")

Dans ce cas ca me fait une erreur la requête n'arrive pas a identifier la colonne ID_Utilisateur de ma table CONNEXION_UTILISATEUR

Comment peut on intégrer une variable dans une requête Odbc.Query

Merci
 

GTI_Services

XLDnaute Nouveau

mromain

XLDnaute Barbatruc
Bonjour GTI_Services, merinos, le forum,

Je voulais éviter la jointure car la table est trop grande à charger. Ca dépasse les limites d'Excel
Comme le dit merinos, il n'y a pas de limites du côté de PowerQuery.
Les limites dont tu parles sont juste effectives au niveau des données que tu renvois à Excel.

Si tu préfères garder ta méthode, tu peux peut-être essayer ceci (à l'aveugle) :
PowerQuery:
Odbc.Query("dsn=Nom_BDD","SELECT * FROM UTILISATEUR WHERE ID_Utilisateur = " & Text.From([CONNEXION_UTILISATEUR.__ID_Utilisateur]))

Avec cette méthode, il me semble que le moteur de PowerQuery va exécuter autant de requêtes qu'il y a de lignes dans ta source.
Pas certain que ce soit terrible au niveau des performances comparé à la solution proposée.
Ce serait top d'avoir un retour de ta part si tu fais ces tests.

Une autre bonne pratique niveau performance est d'éviter le SELECT * et ne charger que les colonnes qui te sont utiles par la suite.

A+
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…