2017-06-29 5 views
0

Ich bin neu in MDX und Cubes.MDX Nachkommen von gefilterten Nachkommen

Ich muss meine Daten mit Nachkommen der Nachkommen eines bestimmten Mitglieds mit einem bestimmten Attribut teilen.

DIM1 ist eine Dimension mit Parent als übergeordneter untergeordneter Hierarchie und einem Attribut Attr1.

Gegeben ist der folgende Elternbaum. Die Elemente 601, 711, 712 und 811 müssen zum Schneiden verwendet werden. Es ist in Ordnung, wenn eines ihrer Eltern zurückgegeben wird, Messdaten gibt es nur auf der Blattebene.

 
    Id | Parent | Attr1 
    1 |  | 1 
    2 |  1 | 3 
501 |  2 | 5 
601 | 501 | 11 
701 | 501 | 11 
711 | 701 | 15 
712 | 701 | 16 
810 | 501 | 7 
811 | 810 | 11 

ich die Fehler empfange „die Abkömmlinge Funktion erwartet ein Element oder eine Reihe von einer einzigen Hierarchie für das Argument 1. Ein Satz von mehreren Hierarchien übergeben wurde.“ wenn

WHERE 
    DESCENDANTS ( 
    { { DESCENDANTS ([DIM1].[PARENT].&[501].CHILDREN) } * { [DIM1].[Attr1].&[11] } } 
) 

Antwort

0

versuchen, können Sie versuchen, Unter Abfrage für von Klausel statt, wo Zustand.

z.B.

SELECT 
    NON EMPTY { [Measures].[Sale Amt] } ON COLUMNS, 
    NON EMPTY {[Dim1].[Attr].children} * {[Dim1].[Parent].children } on rows 
from 
(
    SELECT ({ [Dim1].[ParentH].[Parent].&[501], [Dim1].[ParentH].[Parent].&[501].children}) ON COLUMNS 
    FROM [DBSF Test] 
) 
0

Zur Zeit haben Sie ein innerhalb der äußeren DESCENDANTS Funktion Quer verbinden - so wird dies einen Satz von mehrere Hierarchie Tupel schaffen - daher die Ausnahme. Wenn du den Cross-Join nach außen verschiebst tut es immer noch Fehler?

WHERE 
    DESCENDANTS ( 
    DESCENDANTS ( 
     [DIM1].[PARENT].&[501].CHILDREN 
    ) 
) * { [DIM1].[Attr1].&[11] } 
Verwandte Themen