1 Reply Latest reply: Mar 31, 2017 3:37 PM by Sébastien Fatoux RSS

    Ventes avec des produits composés

    yves lepape

      bonjour,

      je dispose de 2 tables.

      la première avec les ventes par produits.

      parmi ces produits, certains sont "simples" et d'autres sont "composés".

      "composé" signifie que le produit est composé d'un certains nombres d'autres produits simples.

      la deuxième table contient la liste des produits "composés" avec la liste des produits "simples" les composants.

       

      je dois calculer le nombre de produits simples vendus seuls et vendus via des produits "composés".

       

      par exemple, table 1 correspond aux ventes

      produits | ventes (quantité)

      A | 1

      B | 2

      C | 5

       

      table 2 correspond à

      produits composés | produits simples | quantité

      B | A | 2

      B | C | 3

       

      ( le produit B est composé de 2xA et 3xC)

       

      donc, combien avons-nous vendus de produits A, seuls et via composés ?

      vente seul = 1 (table 1 = A)

      vente via composé = 2 (table 1 = B) x 2 (table 2, B composé de 2 pièces de A) = 4

       

      avez-vous une idée?

      merci.

        • Re: Ventes avec des produits composés
          Sébastien Fatoux

          J'arrive à ça :

          Community_1241922.png

           

          En effectuant ceci dans le script de chargement:

           

          Ventes:
          LOAD * Inline [
               produits, ventes (quantité)
               A, 1
               B, 2
               C, 5
          ]
          ;

          Composition:
          LOAD * Inline [
               produits composés, produits simple, quantité
               B, A, 2
               B, C, 3
          ]
          ;

          Concatenate(Composition)
          LOAD Distinct
              
          produits as [produits composés],
              
          produits as [produits simple],
               1
          as quantité
          Resident Ventes
          Where not Exists([produits composés], produits);


          Left Join (Ventes)
          LOAD
              
          [produits composés] as produits,
              
          [produits composés],
              
          [produits simple],
              
          quantité
          Resident Composition;

          DROP Table Composition;

           

          Et en créant un tableau avec :

          • la dimension
            • [produits simple]
          • les expressions
            • Vente seul :                Sum({$<[produits composés]=P([produits simple])>} [ventes (quantité)])
            • Vente via composé :   Sum({$<[produits composés]-=P([produits simple])>} [ventes (quantité)]*quantité)
            • Vente total :                Sum([ventes (quantité)]*quantité)