1 Reply Latest reply: Oct 29, 2014 10:00 AM by Gilles Colombari RSS

    Modélisation en étoile

    Gilles Colombari

      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]: //LOTLOAD 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