Frage

Ich weiß nicht, ob dies möglich ist oder nicht, oder ob mein begrenztes Wissen über MDX wird mich in der falschen Richtung drängt ...

Der Würfel ich bin der Umgang mit zwei verschiedenen Dimensionen für Termine, [Statement Dates] und [Premium Dates]. Weitere in der Hierarchie jeder sieht wie folgt aus:

[Statement Dates].[Statement Year].[2008]  
[Payment Dates].[Payment Year].[2008]

Für die Business-Logik Ich bin Umsetzung Ich brauche so etwas zu tun:

select
  ({ [Measures].[Commission] }) on columns,
  ({[Products].[Product Category]}) on rows
from [Cube]
where
(
  IIF( [Products].[Product Category].CurrentMember.Name = "Some Category",
       [Statement Dates].[Statement Year].[2008], 
       [Payment Dates].[Payment Year].[2008] )
)

Also ich brauche es, zu unterscheiden, was Dimension zum Filtern des Jahres auf Basis von welcher Produktkategorie verwendet wird.

Dieses parst ok und die Abfrage ausgeführt wird, aber die Zahlen scheinen darauf hinzudeuten, dass die IIF Aussage immer false zurückkehrt.

War es hilfreich?

Lösung

Da die WHERE-Klausel zuerst wird die .CurrentMember Funktion im IIF ausgewertet wird nur „Alle Produkte Cateogories“ sehen wird. In diesem Fall werden die [Produkte]. [Produktkategorie] .CurrentMember.Name wird nie gleich „Einige Kategorie“ als die einzige Produktkategorie im Kontext „Alle Produkt Cateogories“.

Eine mögliche Arbeit um wäre eine Berechnung wie die folgende zu tun:

WITH MEMBER Measures.Commission2 as 
SUM(
{[Products].[Product Category].[Product Category].Members}
, IIF( [Products].[Product Category].CurrentMember.Name = "Some Category"
   , ([Statement Dates].[Statement Year].[2008],[Measures].[Commission])
   , ([Payment Dates].[Payment Year].[2008].[Measures].[Commission]) )
)
select  
   ({ [Measures].[Commission2] }) on columns
,  ({[Products].[Product Category]}) on rows
from [Cube]

könnten Sie tun, auch eine scoped assignement im Berechnungsskript in Ihrem Würfel diese Art der Sache zu tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top