2016-07-05 4 views
0

Für einen SSRS-Bericht versuche ich, eine Liste sortierter Daten aus einer Dimension zur Verwendung mit einem Parameter zurückzugeben.MDX - So wählen Sie eine Spalte aus und sortieren die zurückgegebenen Daten

Meine Dimension ist [Radio].[Radio NO].[Radio NO] wo die letzte Radio NO ist eine Zeichenfolge.

Ich finde Beispiele für die Rückgabe einer Spalte beim Sortieren auf eine andere, aber ich kann nicht herausfinden, wie zu sortieren und nur eine Spalte zurückgeben.

Antwort

1

Ohne die genaue Struktur des Würfels zu sehen/einen Weg fragen Sie erkunden können, wenn Sie alphabetisch bestellen möchten, ist die folgende

ORDER(
    [Radio].[Radio NO].[Radio NO].MEMBERS 
    ,[Radio].[Radio NO].CURRENTMEMBER.MEMBER_CAPTION 
    ,BDESC 
) 

Wenn Sie durch eine Maßnahme in Ihrem Würfel bestellen möchten , dann etwa wie folgt:

ORDER(
    [Radio].[Radio NO].[Radio NO].MEMBERS 
    ,[Measures].[Profit] 
    ,BDESC 
) 

Dies ist ein mögliches, wenn Sie wirklich die Spaltennamen SSRS ändern müssen, aber es hat den Nachteil, ändert es auf ein Maß, bevor man:

WITH 
MEMBER [Measures].[thisIsTheNewName] AS 
    [Radio].[Radio NO].CURRENTMEMBER.MEMBER_CAPTION 
SELECT 
{[Measures].[thisIsTheNewName]} ON COLUMNS, 
ORDER(
    [Radio].[Radio NO].[Radio NO].MEMBERS 
    ,[Radio].[Radio NO].CURRENTMEMBER.MEMBER_CAPTION 
    ,BASC 
) On ROWS 
FROM [OurCube]; 
+0

Wie kann ich der zurückgegebenen Spalte einen Alias ​​oder einen Namen geben? Ich muss es für einen Berichtsparameter referenzieren können. – PabloCruise

+0

leider nicht - Wenn Sie mit einem benutzerdefinierten Set beschäftigen, ist es nicht möglich, die Spaltenüberschrift zu ändern: sollte in SSRS leicht genug sein? – whytheq

+0

Ich habe diesen Bericht geerbt, der einige Verbesserungen benötigt. Ich bin neu in MDX. Ich habe Jahrzehnte SQL Erfahrung. Ich versuche meinen Kopf um MDX zu wickeln - total fremd für mich. Sie könnten mir erlauben, dies in SQL umzuschreiben, aber ich würde gerne sehen, ob ich es in MDX nicht umsetzen kann. – PabloCruise

0

Danke whytheq! Basierend auf Ihrer Antwort, hier ist, was ich dachte:

SELECT {} ON COLUMNS, 
ORDER(
    [Radio].[Radio NO].[Radio NO].MEMBERS 
    ,[Radio].[Radio NO].CURRENTMEMBER.MEMBER_CAPTION 
    ,BASC 
) On ROWS 
    FROM [OurCube]