SAP Jobsuche bei DV-Treff
Ramina
  • Ramina
  • SAP Forum - User Thema Starter
vor 14 Jahre
Hallo an alle BW-Fans,

ich befasse mich gerade mit der optimalen Modellierung der extended SAP-Schema. Nach dem ich meine InfoCubes modelliert habe, interessiert mich, ob es wirklich die optimalste Lösung ist.

Es geht um Verkauf: hier werden Daten zu Kunden (KundenGruppe, Ort) und zu Artikeln (ArtikelGruppe, Sortimentsgruppe) erfasst. Nach meiner Modellierung enthält das InfoObject "Kunde" Attribute "KundenGruppe" und "Ort". Das InfoObject "Artikel" hat Attribut "ArtikelGruppe", und InfoObject "ArtikelGruppe" hat Attribut "SortimentsGruppe". Im Cube habe ich Dimensionen Kunde und Artikel (und Zeit natürlich). Von dem Kunden kann ich natürlich auf die Kundengruppe navigieren, von dem Artikel auf die Artikelgruppe aber nicht auf Sortimentsgruppe, deswegen stehen in der Dimension Artikel die InfoObjects "Artikel" und "ArtikelGruppe" (damit ich von der ArtieklGruppe auf die Sortimentsgruppe navigieren kann).

Ich fürchte, dass das nicht die optimale Lösung ist, weil ich gelesen habe, dass die Dimensionen aus Performance-Gründen klein gehalten werden sollen. Andere Möglichkeit ist das InfoObject "Artikel" sofort mit Attributen "ArtikelGruppe" und "SortimentsGruppe" zu modellieren. Somit hätte ich in der Starschema die Dimension Artikel nur mit einem InfoObject "Artikel" und in der Attributstabelle "Artikelgruppe" und "Sortimentsgruppe".

Was denkt ihr, welche Lösung ist besser/schlanker und warum???

Vielen Dank für Eure Hilfe!
Lars_G
vor 14 Jahre
Hallo,

ich fasse nur zum Verständnis noch einmal zusammen:

Merkmale

Kunde hat Attribute KG und Ort

Artikel hat Attribut AG

AG hat Attribut SG

InfoCube:

Dim Kunde (würde ich als LineItem machen!!!)

Attribut Kunde

Dim Artikel

Attribut Artikel

Attribut AG

Dim Zeit

ist klar...

Zunächst zu deiner Anmerkung mit der Dimensionsgröße 🙂 Die Anzahl der Datensätze in der Dimension verändert sich durch deine Modellierung nicht ;)

Du hast ja dennoch ein Artikel mit einer AG eine SG (Verändert sich die Segmentgruppe kommt natürlich ein Satz dazu, aber das ist ja klar) 😉 Die Größe der Dimension würde sich dann ausschlaggebend verändern, wenn du mit auf einmal Kunde und Artikel in eine Dim packst! Also von daher Modellierung OK.

Die andere Idee SG als Attribut vom Artikel zu machen, würde gehen, aber ich weiß nicht ob es gut wäre 😉 (Ich würde die Contentobjekte so wenig wie möglich verändern, da sie meist aus Performance- und Extraktorsicht optimal modelliert sind (sprich wenn du den anpasst müsste die Transformation angepasst werden und die Stammdaten würden an der Stelle nachgelesen werden (du machst bei der obigen Lösung das Gleiche nur das du die Stammdatenstruktur nicht veränderst)). Weiteres Problem ist unter Umständen die historische Wahrheit (je nach Modellierung) die gegebenenfalls nicht mehr vorhanden ist. Beispiel: Der Artikel hat keine Zeitscheiben die Segmentgruppe verändert ändert sich zum 1.8.2010 laut Stammdaten hast du jetzt nur Satz:

Am 31.08.2010 Artikel 1 Artikelgruppe 2 Segmentgruppe 3

Am 01.08.2010 Artikel 1 Artikelgruppe 3 Segmentgruppe 4

Wird nun am 15.09.2010 eine Auswertung gemacht nach Artikelgruppe 3 für die Zeit vom 01.01.2010 bis 01.09.2010 tauchen alle Umsätze in Artikelgruppe 3 auf. Auch eine Auswertung vom 01.01.2010 bis 31.03.2010 würde das Ergebnis auf die Artikelgruppe 3 packen. Schreibst du nun die Artikelgruppe fix in den Cube dann steht sie fest zum Zeitpunkt des Ladeprozesses im Cube. Natürlich ist auch hier die Frage was will man, das muss natürlich im Vorwege geklärt sein und ist ein sehr wichtiger Aspekt für alle Projekte.

Ich würde es so lassen wie es ist und dann die SG als Navigationsattribut und fertig 😉 (Problematisch wird es natürlich wenn du da auch wieder Attribute brauchst...).

Hoffe es ist verständlich und ausreichend was ich geschrieben habe, irgendwie habe ich es im Moment nicht so mit der Formulierung und der Rechtschreibung, sorry ;)

Beste Grüße

Ramina
  • Ramina
  • SAP Forum - User Thema Starter
vor 14 Jahre
Hallo Lars,

ich habe kein Business Content genutzt, alle Objekte habe ich selbst angelegt, deswegen weiß ich nicht welche Modellierungsweise besser ist. Weil, wenn ich InfoCube so modelliere:

1. Dimension Kunde
         InfoObject Kunde    
                 NavAttribut KundenGr
                 NavAttribut Ort
2. Dimension Artikel
         InfoObject Artikel
                 NavAttribut ArtikelGr
         InfoObject ArtikelGr
                 NavAttribut SortimentsGr

--> habe ich ArtikelGr "doppelt-gemoppelt". Wirkt es sich irgendwie auf Abfragezeiten auf? Oder ist es einfach hässlich?

Oder ich packe SortimentsGr auch als Attribut zum Artikel und modelliere so:

1. Dimension Kunde
         InfoObject Kunde    
                 NavAttribut KundenGr
                 NavAttribut Ort
2. Dimension Artikel
         InfoObject Artikel
                 NavAttribut ArtikelGr
                 NavAttribut SortimentsGr

--> d.h. ja, dass in diesem Falle ich die csv-Dateien anpassen muss und manuell die SortimentsGr-IDs mit ArtieklIDs verknüpfen muss. Ich weiß nicht, ob das dem Konzept des BW widerspricht.
Ramina
  • Ramina
  • SAP Forum - User Thema Starter
vor 14 Jahre
Ich weiß nicht genau, was die Line Item Dimensions sind. Ist das dafür gedacht, dass wenn man nur ein Objekt in einer Dimension hat, wie z.b. Kunde, werden keine Text/Attibute/Hierarchietabellen dafür angelegt?
Lars_G
vor 14 Jahre
Hallo,

LineItem = Es wird keine DIM Tabelle angelegt sondern die SID Tabelle des Merkmals ist die DIM Tabelle :)

Deine erste Anmerkung "habe ich ArtikelGr "doppelt-gemoppelt". " ist richtig, wenn du es als eigenständiges Merkmal aufnimmst, natürlich nicht als NAV-Attribut (Es würde unter Umständen zu irritationen kommen bei Änderungen).

zum "dass in diesem Falle ich die csv-Dateien anpassen" wieso??? Verstehe ich nicht 😉

Problem 1: Ich weiß ja nicht wie die Daten aussehen die du bekommst

Ich gehe jetzt davon aus du hast dvier DataSources?! Eine für den Kunden eine für die Artikel eine für die Artikelgruppen und eine für Bewegungsdaten?!

Grüße

Ramina
  • Ramina
  • SAP Forum - User Thema Starter
vor 14 Jahre
Hallo!

Aber wenn die Dimension Kunde nicht viele Einträge enthält, ist es trotzdem gut, die als Line Item Dimension zu modellieren?

Das mit den csv-Dateien: jetzt habe ich je eine DataSource für Artikel (dort stehen ArtikelNr, Beschreibung, Preis und ArtikelgruppeNr) und Artikelgruppe (dort stehen ArtikelgruppeNr, Beschreibung, SortimentsgruppeNr), in DataSource für Sortimentsgruppe stehen SortimentsGrNr, Beschreibung. Zusätzlich noch DataSources für Kunden und Bewegungsdaten. Das heißt, ich habe alle Stammdaten getrännt geladen. Wenn ich jetzt aber Artikel mit beiden Attributen (Artikelgruppe und Sortimentsgruppe) modellieren würde, dann müsste ich ja die DataSource für Artikel ändern und zu den vorhanden Stammdaten noch die SortimentsGrNr hinzufügen. Richtig?

Die Hauptfrage ist eigentlich: wie ist es am optimalsten, die Dimensionen zu modellieren? Soll man sie liber klein halten (also nur z.B. ein oder zwei InfoObjects) und die andren als NAV-Attribute aufnehmen oder ist es besser mehrere Merkmale in eine Dimension hinzufügen? Ich muss für meine Bachelotarbeit eine SAP extended Starschema zeichnen, so iwe hier (http://learnmysap.com/sap-bw/122-sap-bw-star-schema.html) und erklären wie ich meine Fallstudie modelliert habe und wieso meine Modellierungsweise gut ist.

DANKE!