Qlik Community

Groupe des Utilisateurs Francophones

Vous êtes francophone? Ce groupe est pour vous. Venez découvrir comment démarrer avec Qlik Sense et QlikView, poser vos questions et partager vos tutos et astuces avec les membres de notre communauté.

New Contributor II

Modélisation en étoile

Bonjour,

Je suis en train de construire une application assez complète basée sur un logiciel de gestion commerciale.

J'avais dans un premier temps lié les tables comme dans une base relationnelle mais j'ai été rapidement confronté aux problèmes engendrés par plusieurs tables de fait (notamment les références circulaires).

Suivant les préconisations de Qlikview, j'ai donc modifié mon modèle de données pour passer à un schéma en étoile (éventuellement en flocon).

Qlikview schema étoile.jpg

Au début tout allait bien. J'ai relié mes Lots aux articles et fournisseurs via ma Table_Fait qui relie les clés primaires et ajoute une clé concaténée avec le script suivant :

[Table_Fait]:

//LOT

LOAD Distinct

    Hash128(Lot_cod,Fou_cod,Lfl_lig,Art_cod) as Lot_Key,

    Null()    as Fact_Key,

    null() as Fact_Frais_Key,

    Null() as Id_Fact,

    Null() as Id_Ligne_Fact,

    "Lot_cod" as Id_Lot,

    "Fou_cod" as Id_Fou_Lot,

    Null() as Id_Client,

    Hash128(Lot_cod, Lfl_lig) as Id_Lot_Ligne,

    "Art_cod" as Id_Article;

Le problème est arrivé quand j'ai voulu ajouter la table des factures. La jointure avec les clients est OK mais la ou ça coince c'est qu'une ligne de facture est rattachée à une ligne de lot et donc à un article et un fournisseur.

Concatenate ([Table_Fait])

//FACTURE

Facture_ligne:

LOAD Distinct

    Null() as Lot_Key,

    Hash128("Fac_nbl",Lf_lig, Text(Cli_cod) ) as Fact_Key,

    null() as Fact_Frais_Key,

    "Fac_nbl" as Id_Fact,

     Hash128("Fac_nbl",Lf_lig) as Id_Ligne_Fact,

     Null() as Id_Lot,

     Null() as Id_Fou_Lot,

     Text(Cli_cod) as Id_Client,

     Hash128(Lot_cod, Lfl_lig) as Id_Lot_Ligne,

     Null() as Id_Article;

Comment faire la liaison avec la partie Lot ? Avec le code ci-dessus, lorsque je clique sur une facture, je n'ai plus les articles.

Faut il que j'aille chercher en SQL les articles et fournisseurs rattachés à un lot d'une ligne de facture ?

Merci d'avance pour votre aide.

Gilles

1 Reply
Highlighted
New Contributor II

Re: Modélisation en étoile

En faisant un exemple plus simple, je crois avoir trouvé une solution. Au lieu de faire concatenate sur ma table de fait, j'ai fait un join et la ça a l'air de fonctionner.

Voir l'exemple ci-joint.

Pouvez-vous me dire si c'est la bonne solution ?

Merci d'avance

Gilles