Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
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.
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>
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
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.