Stellen Sie sich einen Würfel mit den Dimensionen DimA, DimB, DimC und DimD vor.SSAS MDX Berechnetes Element, mehrere Bereiche
Ich möchte ein berechnetes Mitglied, das nur berechnet werden sollte, wenn es gegen DimA oder DimB geschnitten wird. Wenn nur gegen DimC oder DimD geschnitten, sollte es Null zurückgeben.
Zur Zeit habe ich erreicht dies, indem Sie die 3 berechnete Elemente unter Verwendung von:
Create Member CurrentCube.[Measures].[CalMeasure1] As Null, VISIBLE = 0;
SCOPE([Measures].[CalcMeasure1]);
SCOPE ([DimA].[DimA].[DimA]);
This = [Measures].[Camp Index];
END SCOPE;
END SCOPE;
Create Member CurrentCube.[Measures].[CalcMeasure2] As Null, VISIBLE = 0;
SCOPE([Measures].[CalcMeasure2]);
SCOPE ([DimB].[DimB].[DimB]);
This = [Measures].[Camp Index];
CREATE MEMBER CURRENTCUBE.[Measures].[CalcMeasure3]
AS IIF(ISEMPTY([Measures].[CalcMeasure1]),[Measures].[CalcMeasure2],[Measures].[CalcMeasure1]),
VISIBLE = 1 ;
END SCOPE;
END SCOPE;
ich ziemlich viele von ihnen zu schaffen haben, so ideal, wollte ich mit einer einzigen Maßnahme, um dies zu tun, anstatt 3 separate Maßnahmen. Ich habe versucht, einen verschachtelten Bereich zu erstellen. Ich habe auch versucht, beide Dimensionshierarchien in einen einzigen Bereich zu bringen. Keine dieser Methoden funktioniert jedoch. Beide Methoden erfordern, dass die Maßnahme gegen DimA und DimB aufgeteilt wird. Ich brauche es, wenn es gegen DimA ODER DimB geschnitten ist.
Hinweis Mein Code über Arbeit der Fall ist, möchte ich es auf ein einziges berechnetes Element
bearbeiten nur kondensieren: - Erwartete Ergebnisse für verschiedene Pivot-Tabelle Verbräuche.
DimA Attribute CalcMeasure3
1 1.1
2 1.1
3 8.6
DimB Attribute CalcMeasure3
4 2.1
5 2.1
6 9.6
DimA Attribute DimC Attribute CalcMeasure3
1 A 1.1
2 B 1.1
3 C 8.6
DimB Attribute DimD Attribute CalcMeasure3
4 D 1.1
5 E 1.1
6 F 8.6
DimC Attribute CalcMeasure3
A (Null)
B (Null)
C (Null)
DimD Attribute CalcMeasure3
D (Null)
E (Null)
F (Null)
(überhöht) geschnitten Dank für Beitrag Tom – whytheq