Qlik Community

Groupe des Utilisateurs Francophones

Announcements
June 28, 10AM ET: Qlik Nation and Qlik Community present: CyberSleuth REGISTER TODAY
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Fusionner 2 tableaux

bonjour,

J'essaie de faire un travail sur qlikview qui me pose une bonne colle:

j'ai actuellement 2 tableaux sur un document qlikview, venant de 2 bases de données: en colonnes des années (ANNEE1 et ANNEE2), en ligne des SIREN (SIREN1 pour un tableau, SIREN2 pour l'autre) . Et je somme des prestations (PREST1 pour le premier tableau et PRESTA2 pour l'autre)

Les 2 bases de données ont des noms de champ totalement différents et des champs en plus ou en moins  (je fais des sélections différentes dessus), je ne veux pas unifier les notations

Je voudrais savoir s'il y a un moyen de réunir les tableaux en un seul: c'est à dire d'afficher dans une seule case (PRESTA1+PRESTA2) quand SIREN1=SIREN2 et ANNEE1=ANNEE2, et  par exemple si SIREN1 existe et pas SIREN2 pour une année,afficher PRESTA1.

Je ne sais pas du tout si c'est possible.

Dans tout les cas, je vous remercie d'avance.

Cordialement,

Philippe

1 Solution

Accepted Solutions
rlp
Creator
Creator

Il vous faut le rajouter en fin de script: c'est du code de mise en forme de la structure des tables qui est donc à opérer après le chargement "brut".

En revanche, il vaut mieux nommer vos différentes tables, ce qui donne:

Fact_table_1 :

NoConcatenate

LOAD

PRESTA1,

ANNEE1,

SIREN1,

CONTRAT

FROM

;

Fact_table_2 :

Noconcatenate

LOAD

PRESTA2,

ANNEE2,

SIREN2,

CODE

FROM

;

+ Rajouter, en fin de fichier, le code précédemment fourni.

Cordialement.

View solution in original post

3 Replies
rlp
Creator
Creator

La somme n'est en elle-même pas dificile à faire. Le gros problème est plutôt d'avoir des dimensions communes (année et siren) aux deux tableaux.

Pour cela, il vous faut modifier le script en ajoutant:

année:

NoConcatenate

LOAD

     FieldValue('ANNEE1' , IterNo() ) as ANNEE ,

     FieldValue('ANNEE1' , IterNo() ) as ANNEE1 ,

AUTOGENERATE FieldValueCount( 'ANNEE1' ) ;

OUTER JOIN(année)

LOAD

     FieldValue('ANNEE2' , IterNo() ) as ANNEE ,

     FieldValue('ANNEE2' , IterNo() ) as ANNEE2

AUTOGENERATE FieldValueCount( 'ANNEE2' ) ;

SIREN:

NoConcatenate

LOAD

     FieldValue('SIREN1' , IterNo() ) as SIREN ,

     FieldValue('SIREN1' , IterNo() ) as SIREN1

AUTOGENERATE FieldValueCount( 'SIREN1' ) ;

OUTER JOIN( SIREN )

LOAD

     FieldValue('SIREN2' , IterNo() ) as SIREN ,

     FieldValue('SIREN2' , IterNo() ) as SIREN2

AUTOGENERATE FieldValueCount( 'SIREN2' ) ;

Il ne reste plus qu'à construire un tableau ayant pour dimension ANNEE et SIREN et ayant pour expressions

<PRESTA1> + <PRESTA2>

Not applicable
Author

Merci pour la réponse rapide

année:

NoConcatenate

LOAD

     FieldValue('ANNEE1' , IterNo() ) as ANNEE ,

     FieldValue('ANNEE1' , IterNo() ) as ANNEE1 ,

AUTOGENERATE FieldValueCount( 'ANNEE1' ) ;

OUTER JOIN(année)

LOAD

     FieldValue('ANNEE2' , IterNo() ) as ANNEE ,

     FieldValue('ANNEE2' , IterNo() ) as ANNEE2

AUTOGENERATE FieldValueCount( 'ANNEE2' ) ;

SIREN:

NoConcatenate

LOAD

     FieldValue('SIREN1' , IterNo() ) as SIREN ,

     FieldValue('SIREN1' , IterNo() ) as SIREN1

AUTOGENERATE FieldValueCount( 'SIREN1' ) ;

OUTER JOIN( SIREN )

LOAD

     FieldValue('SIREN2' , IterNo() ) as SIREN ,

     FieldValue('SIREN2' , IterNo() ) as SIREN2

AUTOGENERATE FieldValueCount( 'SIREN2' ) ;

cette partie doit etre située à la fin du code? ou au contraire, je dois mettre cela à l'interieur des LOAD déjà présents? désolé je débute dans l'édition de script

mon code est comme ca:

LOAD

PRESTA1,

ANNEE1,

SIREN1,

CONTRAT

FROM

;

LOAD

PRESTA2,

ANNEE2,

SIREN2,

CODE

FROM

;

merci beaucoup

rlp
Creator
Creator

Il vous faut le rajouter en fin de script: c'est du code de mise en forme de la structure des tables qui est donc à opérer après le chargement "brut".

En revanche, il vaut mieux nommer vos différentes tables, ce qui donne:

Fact_table_1 :

NoConcatenate

LOAD

PRESTA1,

ANNEE1,

SIREN1,

CONTRAT

FROM

;

Fact_table_2 :

Noconcatenate

LOAD

PRESTA2,

ANNEE2,

SIREN2,

CODE

FROM

;

+ Rajouter, en fin de fichier, le code précédemment fourni.

Cordialement.