2016-05-09 25 views
1

Meine MDX Anfrage gibt mir dieses Ergebnis:Mdx Anfrage bekommen das erste Element eines Tupels mit Datetime

enter image description here

Für meine Entitäten, ich habe mehrere Jahre für einen Wert, ich brauche nur bekommen die erstes Jahr für das Unternehmen (und andere Dimensionen). Ich habe versucht, die Funktion .FirstChild in der Jahresdimension diesen Rückgabewert nur mit dem Jahr '2014' (erstes Jahr in meiner Dimension) zu verwenden. Die Funktion .Item() gibt nur leere Werte:

SELECT 
    NON EMPTY 
    {[Measures].[Value]} ON COLUMNS 
,NON EMPTY 
    { 
     [EntiteFederal].[EntiteCode].[EntiteCode].ALLMEMBERS* 
     [T].[Year].[Year].ALLMEMBERS* 
     [T].[YearDate].[YearDate].ALLMEMBERS 
    } 
    DIMENSION PROPERTIES 
    MEMBER_CAPTION 
    ,MEMBER_UNIQUE_NAME 
    ON ROWS 
FROM [Mycube]; 

Antwort

2

Hoffentlich arbeitet - heikel für mich zu testen:

WITH 
    SET [EntYr] AS 
    Generate 
    (
     [EntiteFederal].[EntiteCode].[EntiteCode].MEMBERS AS X 
    , 
     X.CurrentMember 
     * 
     Head 
     (
      NonEmpty 
      (
      [T].[Year].[Year].ALLMEMBERS * [T].[YearDate].[YearDate].ALLMEMBERS 
      ,X.CurrentMember 
     ) 
     ) 
    ) 
SELECT 
    NON EMPTY 
    [Measures].[Value] ON COLUMNS 
,NON EMPTY 
    [EntYr] ON ROWS 
FROM [Mycube]; 
+0

es funktioniert !!!! Ich kenne die Kopffunktion nicht, Danke für alle – Huojian

+0

(blimey - ich bin überrascht, dass das erste Mal funktioniert hat) – whytheq