Ich habe die folgende Hierarchie erstellt:CASE-Anweisung in MDX Verwendung von Daten aus unterschiedlicher Hierarchieebene
ich diese bestimmte Abfrage geschrieben habe mein Ergebnis:
WITH MEMBER [Ecotassa] AS
CASE
WHEN [Tempo].[Anno].CurrentMember.MemberValue = '2011' THEN '9114646'
WHEN [Tempo].[Anno].CurrentMember.MemberValue = '2012' THEN '8787551.65'
WHEN [Tempo].[Anno].CurrentMember.MemberValue = '2013' THEN '8435651.26'
WHEN [Tempo].[Anno].CurrentMember.MemberValue = '2014' THEN '8917336.39'
WHEN [Tempo].[Anno].CurrentMember.MemberValue = '2015' THEN '9465533.37'
ELSE NULL
END
SELECT
{ [Measures].[Dato], [Ecotassa] } ON COLUMNS,
{ ([Tempo].[Periodo].[Mese Anno].MEMBERS) } ON ROWS
FROM [AGRO]
WHERE ([TipoMisura].[Tipo Misura].&[1], [TipoAnno].[Tipo Anno].&[2],
[TipoPeriodo].[Tipo Periodo].&[2],
[Mercato].[Mercato].&[1],
[Aziende].[Descrizione Codice Azienda].&[100 - BASF]);
Das Ergebnis dass ich bekomme ist:
Das ist nicht mein gewünschtes Ergebnis, für Ecotassa muss ich das Ergebnis für dieses spezielle Jahr erhalten. Aber ich bekomme null.
Keine Ahnung, dass ich mit der Abfrage falsch liege. Kann mir bitte jemand dabei helfen?
danke es gibt mir das ergebnis nach meiner anforderung. Aber ich habe den Fluss nicht verstanden. Wie genau funktioniert es? Kannst du es mir bitte erklären? –
@YousufSultan Hallo. Dies ist in der obigen Berechnung Y '[Tempo]. [Periodo] .CurrentMember' .... Tempo.periodo ist im aktuellen Kontext (dh die SELECT) -Klausel, während Sie' [Tempo]. [Anno] .CurrentMember 'Das war nicht im Zusammenhang. Dies ist der Hauptunterschied. Ich habe auch Ihre Benutzerhierarchie verwendet, anstatt Benutzer- und Attributhierarchien zu mischen ... Ich habe das Gefühl, dass "[Tempo]. [Anno]" eine Attributhierarchie trifft: Lassen Sie mich ein exploratives Skript hinzufügen, damit Sie sehen können. – whytheq
Die Testabfrage, die Sie angegeben haben, gibt die entsprechenden Jahre für EcotassaTEST zurück –