Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
Mon App QV actuelle ramène 4 grosses tables. La première est ma table cible. Les trois autres me permettent de catégoriser les personnes présentent dans la 1ère (sexe, age, lieu d'habitation,...).
Schéma :
Table A : table cible population (IDENTIFIANT, ...)
Table B : table des appartenances géographiques du client (IDENTIFIANT, adresse, CP, VILLE, DEP,...)
Table C : table des caractéristiques individuelles (IDENTIFIANT, sexe, âge, profession,...)
Table D : table des contrats souscrits par le client (IDENTIFIANT, Numéro de contrat,...)
Actuellement, toutes les lignes des trois tables sont ramenées (les personnes présentes dans la 1ère table mais aussi ceux qui ne le sont pas, environ 500 000 lignes pour chacune de ces tables) et cela pèse lourd quand je dois recharger la donnée.
Est-ce qu'en utilisant la propriété "Resident", cela pourrait contourner le problème ? A savoir, importer de mes tables B, C et D, seulement les lignes des identifiants présents dans A ?
Si oui, j'ai lu des sujets dessus, mais je ne comprends pas où placer ce fameux "Resident"..
Si non, pouvez-vous m'éclairer sur ce point ?
Sabrina,
As-tu fais ton left join également avec BASE_CLIENT_GENERALITES ?
- Soit tu fais une seule table avec toutes tes tables :
TABLE A:
Load *
FROM unfichier;
TABLE REGROUPEE:
Load IDENTIFIANT
RESIDENT TABLE A;
left join
Load *
FROM fichiertableB;
left join
Load *
FROM BASE_CLIENT_GENERALITES;
- Soi tu fais une table qui regroupe toutes tes tables avec le left join à chaque fois :
TABLE REGROUPEE:
Load *
FROM FICHIER A;
left join
Load *
FROM FICHIER B;
left join
Load *
FROM BASE_CLIENT_GENERALITES;
- Soit tu veux distinguer tes tables et alors tu fais :
TABLE A:
Load *
FROM unfichier;
TABLE B:
Load IDENTIFIANT
RESIDENT TABLE A;
left join
Load *
FROM fichiertableB;
TABLE BASE_CLIENT_GENERALITES:
Load IDENTIFIANT
RESIDENT TABLE A;
left join
Load *
FROM BASE_CLIENT_GENERALITES;
Kevin
Pour ma part, je distingue les tables entre elles (donc, ta troisième méthode). Voici le script que j'utilise, peut-être que cela vient de la partie "SQL" ?
Voici le code que j'utilise
TABLE_B :
LOAD IDENTIFIANTS
RESIDENT TABLE_A ; //Table_A correspond à ma table de "base"
left join
LOAD IDENTIFIANT,
CHAMP_1,
CHAMP_2,
CHAMP_3,
CHAMP_4
CHAMP_5;
SQL SELECT *
FROM "BDD.BASE_CLIENT_GENERALITES";
Au préalable, j'ai fais une connexion avec SQL Server (sur lequel mes tables sont stockées).
Tu as un S à IDENTIFIANTS dans ton premier et pas dans ton second load. La jointure ne se fait donc pas.
Kevin
Un grand merci pour ton aide !