Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Ventes avec des produits composés

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.

1 Solution

Accepted Solutions
sfatoux72
Partner - Specialist
Partner - Specialist

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

View solution in original post

1 Reply
sfatoux72
Partner - Specialist
Partner - Specialist

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