Skip to main content
Announcements
See what Drew Clarke has to say about the Qlik Talend Cloud launch! READ THE BLOG
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Du SQL vers Script QLIKview

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

  • Est-ce que je le fais dans la table de fait? et comment le faire?

Dans ce code dans que j'ai trouvé SET VS_FILTRE_DUT_1='NIVEAU={1},FLAG_DUT={1}';

  • Ca veut dire quoi? Est-ce que Niveau c'était dans vos fichiers sources? et la valeur 1 ça veut dire quoi?
  • Est-ce que dans mon cas je suis obligé de créer des variables avec SET?

--- 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)

  • Comment faire dans Qlikview pour réaliser ces calcules? est ce que je  créer des variables?  ou bien c'est dans la table de fais ?
  • Est ce que c'est Count et agrégations sont faites dans LOAD ou dans le SQL?

Je vous remercie par avance pour votre aide.

0 Replies