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
Si ta table de données est trop grande... inutile de tout rapatrier...
J'en ai eu besoin il y a bien longtemps... mais je ne me souviens plus de la suite... Donc cela trainait dans mes bookmarks
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.