Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
J'ai un soucis d'affichage sur mon graphe qui affiche le nombre de presentation par nom de presentateur.
j'ai la table de dimension PRESENTATEUR et ma table de faits PRESENTATION
DIM_PRESENTATEUR |
---|
id_presentateur |
first_name |
lastname |
adresse |
FACT_PRESENTATION |
---|
id_presentation |
id_presentateur |
duree_presentation |
J'ai fait un premier chargement dans qlikview avec le script suivant:
PRESENTER:
LOAD `id_presenter`,
first_name,
`lastname`,
`first_name`&' '&`lastname` as PRESENTER_NAME,
`adresse`;
SQL SELECT *
FROM DIM_PRESENTER P, DIM_INSTANCE I
where P.DIN_ID=I.DIN_ID;
PRESENTATION:
LOAD `id_presentation`,
`id_presentateur`,
`id_presentateur` as PERSON_ON
`duree_presentation` AS DURATION;
SQL SELECT *
FROM FACT_PRESENTATION FP, DIM_INSTANCE I
where I.DIN_ID=FP.DIN_ID;
au niveau du graphe, quand je prend comme dimension PRESENTER_NAME, et dans l'expression calcul je mets count(id_presentation).J'ai le graphe suivant (image1) avec le nombre total de presentation. Mais quand je mets plutot comme dimension
id_presentateur et comme expression count(id_presentation) j'ai le graphe suivant(image2).
or que mon but c'est d'avoir le nom des presentateurs a la place des chiffres. comment y arriver, car je ne me retrouve pas.
Pouvez vous m'aider?
Merci
Bonjour Doris,
je ne comprends pas toutes tes manipulations dans ton script, mais si on se base uniquement sur tes DIM_PRESENTATEUR et FACT_PRESENTATION, la clé de jointure étant id_presentateur, le tableau
dim = `first_name`&' '&`lastname`
exp = count(distinct id_presentation)
devrait être juste...
Florent.
Bonjour Florent,
C'est ce que je croyais aussi, mais je me rend compte que cela ne marche que sur les id_presentateur et nom sur le PRESENTER_NAME voir image 2. dans mon modèle en etoile j'ai plusieur table de faits et id_presentation est present dans tous les tables de faits cele ne gène en rien mon calcul. je ne comprend plus rien
peux-tu envoyer ton appli ?
sinon, essaie de rajouter
*,
après tes LOAD, car j'ai l'impression qu'il ne sont pas liés à tes SQL suivants...
Florent
Florent,
Comment je peux faire pour t'envoyer l'appli? tu parles du premier chargement qvd?
après avoir cliqué sur "Répondre", tu clique ici :
puis pour joindre l'appli là :
sinon, essaie ce script à la place du tien :
PRESENTER:
LOAD*,
`id_presenter`,
first_name,
`lastname`,
`first_name`&' '&`lastname` as PRESENTER_NAME,
`adresse`;
SQL SELECT *
FROM DIM_PRESENTER P, DIM_INSTANCE I
where P.DIN_ID=I.DIN_ID;
PRESENTATION:
LOAD*,
`id_presentation`,
`id_presentateur`,
`id_presentateur` as PERSON_ON
`duree_presentation` AS DURATION;
SQL SELECT *
FROM FACT_PRESENTATION FP, DIM_INSTANCE I
where I.DIN_ID=FP.DIN_ID;
Merci,
Je t'ai envoyé le chargement qui fait la generation qvd. a partir de la quelle je vais un autre chargement. aussi il y a le modèle que j'ai fait
en mysql workbench
je crois que tu as voulu faire un load imbriqué, c'est à dire que
or, tu dois indiquer à QVW qu'il s'agit de la table qui vient d'être importée, pour cela il faut écrire
le "*" veut dire que tu reprends TOUS les champs précédent, et après la virgule que tu en modifies certains et les rajoutes à la table...
Essaie ça...
Florent
bien sûr, il faut modifier toutes tes tables qui ont un "load" au dessus du "SQL SELECT"...