MDX-Abfrage "mit den" und sum-problem
Ich habe eine Frage, wie
WITH MEMBER [measures].[Count] AS
SUM(([Location].[Hierarchy].[Zone].[1].Children),[Measures].[Length])
SELECT {[measures].[Count]} ON 0,
{[Location].[Hierarchy].[Zone].&[1].Children} on 1
FROM [NTAP]
Ich bin ein echter Anfänger mit MDX-aber von meinem Verständnis sollten sich die mir eine Liste mit allen Zone 1:s-Kinder und einer Summe aller jener Kinder, Länge zusammengefasst. Das problem ist, ich bekomme eine Liste mit den Kindern und eine Summe für alle Zone 1:s-Länge?
Bekomme ich diese:
1 103026769420
2 103026769420
3 103026769420
4 103026769420
Aber was ich möchte ist so etwas wie das
1 84984958
2 9494949
3 934883
4 9458948588
Lage ist eine Hierarchie wie:
Zone Kinder
1
1
2
3
2
1
2
3
edit: sollte vielleicht sagen, dass der Grund, warum ich mit den ist, dass die Maßnahme.Länge wird mit einem Iif in der finalen version. Aber bekomme ich sogar diese Arbeit 🙁
edit2: fixed spelling
InformationsquelleAutor Balroq | 2011-05-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bekommen Sie die Summe aller Kinder aus der Zone 1 für jedes Kind der Zone 1.
Kann man umschreiben als:
Durch die Art und Weise, [1] <> &[1]. Ohne die & Sie sind unter Angabe des namens und mit der-Taste. Wenn in Ihrem Fall Schlüssel = name, den Sie haben nichts zu befürchten.
Gibt es Kinder unter den Kindern der Zone 1? Oder sind es Blätter? Wenn Sie verlässt, erhalten Sie keine sinnvollen Ergebnisse. Zu beheben, können Sie ändern Sie die Abfrage: MIT MEMBER [Measures].[Anzahl], SUM([Ort].[Hierarchie].CurrentMember, [Measures].[Länge]) SELECT {[Measures].[Count]} ON 0, {[Standort].[Hierarchie].[Zone].&[1].Kinder} auf 1 AUS [NTAP]
Super, Danke, das war es, es war Blätter unter die Zone 1. Ich habe eine harte Zeit zu verstehen, warum das funktioniert? Mir scheint es, dass CurrentMember in die Arbeits-Abfrage Zone 1 und nicht die Blätter unter?
Gut, Sie haben die Kinder von Zone 1 auf der ROWS-Achse. Daher die CurrentMember Funktion geben Sie anstelle von Zone 1 selbst. By the way, können Sie überspringen die SUMME zu nennen. Wenn Sie Fragen, für die Tupel der (Ort.currentmember, Messen) Sie sollten die gleiche, wie Sie arbeiten, mit nur ein Element.
Der Grund, von Anfang an mit SUMME, ist, dass ich möchte, um zu zählen die Kinder der zone 1 mit der Länge > 0 und war in der Planung zu verwenden, SUM([Ort].[Hierarchie].CurrentMember,Iif([Measures].[Länge] > 0 ,1,0), Aber, die nicht arbeiten, alles was ich bekomme ist 1 auf alle Zeilen, eine Idee warum?
InformationsquelleAutor Boyan Penev
Einer Abfrage zählen die Kinder mit L > 0:
Diese natürlich nicht funktionieren, wenn Sie den Kindern auf Zeilen, dann würden Sie bekommen Null-Werte, wie Sie Blätter und keine Kinder haben, sich.
InformationsquelleAutor Boyan Penev