Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
bbmmouha
Creator
Creator

Probleme de transformation de table

bonjour la communité

j'ai un probleme avec generic fonction

mes données sont organiser comme suit :

LOAD

    cd_composant,

     dt_tx_pbp_def

FROM bi.[ref_manuel]

where cd_composant <> ''

;

les données :

cd_composant, dt_tx_pbp_def

Man_depart , AIN

Man_depart , AIN

Man_depart , Allier

Man_depart , Alpes

Man_CD,Gain

Man_CD,Perdu

Man_CD,Total

Man_Region,Avre

Man_Region,Rhone

....................

ce que je veux faire c'est de transformer cette table en plusieurs tables celon le champs cd_composant donc

une table Man_depart avec un champs Man_depart_dt_tx_pbp_def qui contient [AIN ,Allier,Alpes]

une autre Man_CD ,Man_Region


et Merci d'avance pour votre aide

7 Replies
ogautier62
Specialist II
Specialist II

Bonjour,

tu pourrais procéder en plusieurs étapes de load :

Man_depart :

LOAD

    cd_composant,

     dt_tx_pbp_def as Man_depart_dt_tx_pbp_def

FROM bi.[ref_manuel]

where cd_composant = 'Man_depart';

etc

cdt

bbmmouha
Creator
Creator
Author

merci olivier pour votre réponse

mais c'été un exemple seulement ma table contien plus que 120 distinct cd_composant

donc il faut utiliser un script automatique

ogautier62
Specialist II
Specialist II

pourrais tu fournir un échantillon sous excel d'une vingtaine de lignes avec 3,4 cd composant stp ?

bbmmouha
Creator
Creator
Author

cd_composantdt_tx_pbp_defcrunch_date
MAN_CD_GAINPerdu20180103
MAN_CD_GAINGain Normal20180103
MAN_CD_GAINRemboursement Total20180103
MAN_SPOTnon Spot20180103
MAN_SPOTSpot20180103
MAN_SPOTSpot Semi-automatique20180103
MAN_DEPARTAin20180103
MAN_DEPARTAisne20180103
MAN_DEPARTAllier20180103
MAN_DEPARTAlpes de Haute-Provence20180103
MAN_DEPARTHautes alpes20180103
MAN_DEPARTAlpes-Maritimes20180103
MAN_DEPARTArdèche20180103
MAN_DEPARTArdennes20180103
MAN_DEPARTAriège20180103
MAN_DEPARTAube20180103
MAN_DEPARTAude20180103
MAN_DEPARTAveyron20180103
MAN_DEPARTBouches-du-Rhône20180103
MAN_DEPARTCalvados20180103
MAN_DEPARTCantal20180103
MAN_DEPARTCharente20180103
MAN_DEPARTCharente-Maritime20180103
MAN_DEPARTCher20180103
MAN_DEPARTCorrèze20180103
MAN_DEPARTCôte-d'Or20180103
MAN_DEPARTCôtes-d'Armor20180103
MAN_DEPARTCreuse20180103
MAN_DEPARTDordogne20180103
MAN_DEPARTDoubs20180103
MAN_DEPARTDrôme20180103
MAN_DEPARTEure20180103
MAN_DEPARTEure-et-Loir20180103
MAN_DEPARTFinistère20180103
MAN_DEPARTCorse du Sud20180103
MAN_DEPARTHaute-Corse20180103
MAN_DEPARTGard20180103
MAN_DEPARTHaute-Garonne20180103
MAN_DEPARTGers20180103
MAN_DEPARTGironde20180103
MAN_DEPARTHerault20180103
MAN_DEPARTIlle-et-Vilaine20180103
MAN_DEPARTIndre20180103
MAN_DEPARTIndre-et-Loire20180103
MAN_DEPARTIsère20180103
MAN_DEPARTJura20180103
MAN_DEPARTLandes20180103
ogautier62
Specialist II
Specialist II

thank you for data,

data loaded in table test, then :

cd_composant:

load distinct cd_composant resident test;

for i = 0 to NoOfRows('cd_composant')-1

vcd = peek('cd_composant',i,'cd_composant');

$(vcd):

load cd_composant,dt_tx_pbp_def as  dt_tx_pbp_def$(vcd)

resident test where cd_composant = '$(vcd)';

next i;

that gives a table for each cd_composant

ogautier62
Specialist II
Specialist II

Bonjour,

c'est bien ce que tu souhaitais ?

ogautier62
Specialist II
Specialist II

Bonjour,

le script correspond il bien à ce que tu souhaitais ?

merci