Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Mapping de données

Bonjour à tous,

J'ai un mapping de données à faire pour enrichir une table et j'avoue que si j'utilise parfois le mapping ou des replaces là je ne vois pas comment faire.

Ma source de départ se présente comme cela :

 

    

Titre projetRéférenceEtatDate
Projet AInconnueT-101-janv
Projet AROAF-12T001-mars
Projet AROAF-12T301-avr
Projet A1ROAF-12T410-avr
Projet BInconnueT-101-janv
Projet CROCF-24T002-avr
Projet CROCF-24T103-avr

Ici on voit que le projet A à l'état T-1 ne porte pas de Référence et qu'il récupère une référence à l'état T0 et qui à partir de ce moment là devient la clé de lecture car par la suite le projet peut voir son nom être modifié

Si j'avais été en SQL j'aurai donc créé une table de référence basée sur T0 du style Select Titre, Référence FRom ..; Where Etat = T0

Puis à la constitution de ma table finale utilisée cette table pour tranformer Référence quand égale à "inconnue" pour obtenir une table donc la clé serait alors référence.

Une Idée?

D'avance Merci.

1 Solution

Accepted Solutions
maxgro
MVP
MVP

Je ne sais pas comment faire pour Project B, il n'y a pas l'etat T0

Anyway, let me try with a mapping table, like a SQL table de référence

Script

Source:

load * inline [

Titre projet, Référence, Etat, Date

Projet A, Inconnue, T-1, 01-janv

Projet A, ROAF-12, T0, 01-mars

Projet A, ROAF-12, T3, 01-avr

Projet A1, ROAF-12, T4, 10-avr

Projet B, Inconnue, T-1, 01-janv

Projet C, ROCF-24, T0, 02-avr

Projet C, ROCF-24, T1, 03-avr

];

MapFromTitreToReference:

Mapping load [Titre projet], Référence

Resident Source

Where Etat = 'T0';

Final:

NoConcatenate LOAD

  [Titre projet],

  if(Référence='Inconnue',

          ApplyMap('MapFromTitreToReference', [Titre projet]),

          Référence

     ) as Référence,

  Etat,

  Date

Resident Source;

Result

1.png

View solution in original post

3 Replies
maxgro
MVP
MVP

Je ne sais pas comment faire pour Project B, il n'y a pas l'etat T0

Anyway, let me try with a mapping table, like a SQL table de référence

Script

Source:

load * inline [

Titre projet, Référence, Etat, Date

Projet A, Inconnue, T-1, 01-janv

Projet A, ROAF-12, T0, 01-mars

Projet A, ROAF-12, T3, 01-avr

Projet A1, ROAF-12, T4, 10-avr

Projet B, Inconnue, T-1, 01-janv

Projet C, ROCF-24, T0, 02-avr

Projet C, ROCF-24, T1, 03-avr

];

MapFromTitreToReference:

Mapping load [Titre projet], Référence

Resident Source

Where Etat = 'T0';

Final:

NoConcatenate LOAD

  [Titre projet],

  if(Référence='Inconnue',

          ApplyMap('MapFromTitreToReference', [Titre projet]),

          Référence

     ) as Référence,

  Etat,

  Date

Resident Source;

Result

1.png

Not applicable
Author

Je vais essayer ça, je pense qu'on est sur la bonne voie

Not applicable
Author

Parfait c'est exactement ça merci.