Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour tout le monde,
Je suis débutant sur Qlikview et j'ai un projet a rendre, pourriez vous m'aider c'est très urgent.
J'ai un fichier en Excel ou il y a differentes colonnes (pour remplir ces colonnes il faut chercher les valeur d'une base de données SQL server. a gauche de se fichier il y a d'autres colonnes a droite qui sont créées a partir des colonne de gauche.
ci-joint les deux fichiers ( le tableau que je souhaite créer et la requete que je vous traduire pour arriver a ce tableau)
voici les jointures qui existe pour créer ce tableau
FROM
LIGNES L
INNER JOIN DOCUMENTS D ON D.DOC_NUMERO = L.DOC_NUMERO
INNER JOIN DEVISES DE ON DE.DEV_CODE = D.DEV_CODE
LEFT OUTER JOIN ARTICLES A ON A.ART_CODE = L.ART_CODE
LEFT OUTER JOIN ART_FAM AF ON AF.FAR_CODE = A.FAR_CODE
LEFT OUTER JOIN ART_SFAM SF ON SF.SFA_CODE = A.SFA_CODE
LEFT OUTER JOIN TIERS T ON T.PCF_CODE = D.PCF_CODE
LEFT OUTER JOIN REPRESENTANTS R ON R.REP_CODE = D.REP_CODE
LEFT OUTER JOIN TIERS_FAM TF ON TF.FAT_CODE = T.FAT_CODE
LEFT OUTER JOIN TIERS_SFAM TS ON TS.SFT_CODE = T.SFT_CODE
LEFT OUTER JOIN SERVICES S ON S.SRV_CODE = T.SRV_CODE
LEFT OUTER JOIN DIVISIONS DI ON DI.DIV_CODE = T.DIV_CODE
LEFT OUTER JOIN TARIFS TG ON TG.TAR_CODE = T.TAR_CODE
LEFT OUTER JOIN TIERS TP ON TP.PCF_CODE = T.PCF_PAYEUR
LEFT OUTER JOIN PAYS P ON P.PAY_CODE = D.PAY_CODE
Voila ce que j'ai fait pour le moment:
J'ai créé sur Qlikview plusieurs onglets, chaque Onglet représente une dimension, dans chaque dimension j'ai selectionné que les attributs, dont j'en ai besoin.J'ai créé un onglet Table de Fait.
(voir le tableau DIM_DOCUMENTS ci-dessus), je veux arriver a construire le meme fichier excel
J'ai traduit cette requete sql par exemple
CASE (D.DOC_TYPE)
WHEN 'V'
THEN
CASE (D.DOC_STYPE)
WHEN 'P' THEN 'Pro-forma'
WHEN 'D' THEN 'Devis'
WHEN 'C' THEN 'Commandes'
WHEN 'B' THEN 'Bons de Livraison'
WHEN 'R' THEN 'Bons de Retour'
WHEN 'F' THEN 'Factures'
WHEN '1' THEN 'Factures Financières'
WHEN 'A' THEN 'Avoirs'
WHEN '0' THEN 'Avoirs Financiers'
END
WHEN 'A' THEN
CASE (D.DOC_STYPE)
WHEN 'D' THEN 'Demandes de Prix'
WHEN 'C' THEN 'Commandes'
WHEN 'B' THEN 'Bons de Réceptions'
WHEN 'R' THEN 'Bons de Retour'
WHEN 'F' THEN 'Factures'
WHEN '1' THEN 'Factures Financières'
WHEN 'A' THEN 'Avoirs'
WHEN '0' THEN 'Avoirs Financiers'
END
END AS 'Sous type de doc.',
j'ai fait comme ça : (voir le fichier DIM_DOCUMENTS)
J'ai un script SQL que j'essaye de traduire sur Qlikview. seulement quand je suis arrivé à :
CASE WHEN (D.DOC_STYPE) IN ('A', '0', 'R') THEN -L.LIG_QTE ELSE L.LIG_QTE END AS 'Qte',
Par exemple!!!
Je n'ai pas su comment faire la jointure pour faire ça sur Qlikview
Dans la DIMENSION D qui est Documents, il n' y a pas l'attribut LIG_QTE, donc je ne peux pas faire ça dans l'onglet DIM_DOCUMENTS, Genre :
if (colonne, (valeur vraie, valeur fausse) as TITRE
Dans ce code dans que j'ai trouvé SET VS_FILTRE_DUT_1='NIVEAU={1},FLAG_DUT={1}';
--- Si tu regardes bien le fichier excel a droite, il y a toute une partie en vert, cette partie c'est des colonne calculés a partir des colonnes a gauche.
Par exemple : la Colonne AG : Total Frai Prod: Elle est calculée a partir deux colonnes Frais1 et Frais2, (=SOMME(AL15:AN15)
Je vous remercie par avance pour votre aide.