0

Je construis un modèle dimensionnel pour l'analyse des ventes qui a un fait appelé Ventes et qui est lié à une dimension Produit. Point est que pour chaque jour l'inventaire du produit va changer, et cette information est importante pour eux d'analyser pourquoi un produit spécifique n'a pas été vendu (par exemple, le jour XX/XX le produit 123456 n'a pas été vendu parce que là où aucun produit dans l'inventaire).Modélisation dimensionnelle pour les ventes avec dimension produit et inventaire

J'aimerais connaître la meilleure option pour modéliser cette situation et, si possible, une brève explication sur la façon dont cela fonctionnerait.

Merci d'avance!

Répondre

1

Ceci est une question de discussion assez large, alors voici une discussion.

Les tables de dimension

-- Products ----- 
ProductId 
Name 
(etc.) 

Contient une ligne par produit étant suivi ProductId devrait être une clé de substitution

-- Time -------- 
TimeId 
ReportingPeriod (Q1, week 17, whatever as desired) 
(etc.) 

contient une ligne pour chaque jour étant suivi. Une fois que les résultats d'une journée d'activités sont connues, il peut être ajouté à l'entrepôt

Notez que TimeID ne doit pas être une clé de substitution

tables de faits

-- Inventory ------------------------- 
ProductId 
TimeId 

Une fois que la les résultats des activités d'une journée sont connus, ils peuvent être ajoutés à l'entrepôt Une ligne (par jour) pour chaque produit, répertoriant l'inventaire disponible à la fin de la journée

Mais alors cela devient complexe: quelles sont les données nécessaires et quelles sont les données disponibles? En supposant que les données sont pour un jour, les faits possibles à suivre et enregistrer comprennent:

StartingInventory -- What you had at the start of the day 
UnitsReceived -- Units received for storage today 
UnitsSold -- Units sold (that cannot be sold again) but not yet shipped 
UnitsShipped -- Units shipped (sold or otherwise) 
EndingInventory -- Units in stock at end of day 

Il devient complexe rapidement. Encore une fois, cela dépend beaucoup de l'information dont vous disposez et des questions qui seront posées à votre entrepôt.

+0

Merci pour votre explication !! Dans notre cas, notre table de faits serait Ventes (total du produit vendu, montant total des ventes - par produit, client, magasin, etc.). D'après ce que je comprends, ils veulent suivre un problème du genre «D'accord, ce produit a été vendu environ 40 fois par jour la semaine dernière et cette semaine, ses ventes ont diminué de 70%.» Est-ce parce qu'il n'y en a plus? Peut-être que la solution pour suivre cette information est à travers une table historique, mais je ne suis pas sûr de savoir comment cela fonctionnerait. –

+0

Une autre chose est qu'il y aura d'autres métriques dans la table de faits, comme le billet moyen, le nombre moyen de produits vendus, le prix maximum payé, le prix minimum payé ... Dans ce cas, comment serait la meilleure chose à mesure que certaines mesures n'aurait pas de sens dans le fait (par ex. ticket moyen par produit: si le fait est détaillé par produit, cette information sera la même que "nombre de produits vendus", n'est-ce pas?) –

+1

. Si c'est un fait auquel le produit individuel ne s'applique pas, faites une table de faits distincte (peut-être table DaySummary, columsn TimeId, TotalSales, MediumTicket, etc.?) –

Questions connexes