Ich versuche, die Verkaufsmenge aller Produkte in einer Kategorie und deren Unterkategorien zu summieren und den Umsatzbetrag für Produkte mit demselben Produktdimensionsschlüssel nur einmal hinzuzufügen.MDX: Summe, Mitglieder mit doppeltem Namen ignorierend
Jede Kategorie kann eine beliebige Anzahl von Unterkategorien haben und jede Unterkategorie kann eine beliebige Anzahl von Unterkategorien haben, bis zu fünf Unterkategorien. Die Anzahl der Unterkategorien kann variieren.
So ist die category_hierarchy
im category_dimension
hat diese Ebenen:
main_category
, sub_category_1
, sub_category_2
, ..., sub_category_5
und könnte wie folgt aussehen:
id main_category sub_category_1 sub_category_2 sub_category_3 ...
1 Electronics
2 Electronics Camera & Photo
3 Electronics Camera & Photo Accessories
4 Electronics Camera & Photo Digital Cameras
5 Electronics Camera & Photo Film Photography Film Cameras
6 Electronics Camera & Photo Film Photography Film
7 Electronics Headphones
8 Home & Kitchen
...
In der Faktentabelle gibt es Verkaufszahlen für jedes Produkt pro Kategorie pro Tag und jedes Produkt kann zu mehr als einer Kategorie gehören (wenn ein Produkt zu mehr als einer Kategorie gehört, hat es in jeder dieser Kategorien die gleichen Verkaufszahlen), z .
id product_id category_id date_id sales other_information
1 1 1 2016-06-30 4 AAA
2 1 2 2016-06-30 4 BBB
3 1 6 2016-06-30 4 CCC
4 2 2 2016-06-30 5 DDD
5 2 4 2016-06-30 5 EEE
...
Wenn ich jetzt eine einfache MDX-Abfrage ausführen mir die Anzahl der Verkäufe für jede Kategorie zeigen sie die Verkaufsnummer mehrfach summieren werden, wenn das Produkt in mehreren Kategorien ist:
SELECT
{[DATE_DIMENSION].[DATE_HIERARCHY].ALLMEMBERS} ON COLUMNS
,NON EMPTY
{[CATEGORY_DIMENSION].[CATEGORY_HIERARCHY].ALLMEMBERS}
*
{[PRODUCT_DIMENSION].[PRODUCT_HIERARCHY].ALLMEMBERS} ON ROWS
FROM [Cube]
WHERE [MEASURES].[SALES];
kehrt
2016-06-30 2016-06-29 ...
CATEGORY PRODUCT_ID SALES SALES
All Categories All Products 22 ...
1 12
2 10
Electronics All Products 22
1 12
2 10
Camera & Photo All Products 18
1 8
2 10
Digital Cameras All Products 5
2 5
Film Photography All Products 4
1 4
Film All Products 4
1 4
I Umsatz 4 für das Produkt 1 und den Umsatz um 5 immer möchte erhalten für das Produkt 2 auf 2016.06.30 (aber noch in der Lage sein, die Verkäufe von Woche/Monat/Jahr zu aggregieren):
Was ist, wenn Verkauf für (ProductA/Subcategory 1) = 5 und (ProductA/Subcategory 2) = 3? – whytheq
Der Umsatz für (ProduktA/Unterkategorie 1) ist immer = (ProduktA/Unterkategorie 2) –
Bearbeitet die Frage, um die Kategoriestruktur zu verdeutlichen. –