2014-07-23 101 views
0

我已經搜索和搜索,找不到似乎應該是相當簡單的答案。MDX獲取層次值

我有一個維度中的員工層次結構。員工有積分(在事實表中)。當我將層次結構拖到行上時,我可以很容易地看到合適的點。問題在於員工根據工作代碼進行不同的判斷,這並不一定對應於層次結構中的層次。

例如,我有項目工程師是。他們根據個人的觀點進行評判。我可以將名字拖到行上,按工作代碼進行過濾,並將點放入測量中,並且我確切地知道用戶想要查看的內容。

項目工程師II是一個不同的故事。他們根據TEAM分數進行判斷。我把名字拉到行上,按工作代碼進行過濾,並且我需要一個計算出的度量來總結屬於它們的所有點,就像我將層次結構拖到行上一樣。問題是我似乎無法將Name或EmployeeID關聯到層次結構以獲得團隊價值。事實上,我甚至無法獲取Employee ID主鍵,因爲它隱藏在父子層次結構下。我必須拿到它的副本。

我該如何達到這個要求?我已經嘗試了許多不同的MDX(我不是專家的語言),但是至關重要的一點似乎是,我無法根據行值獲取層次結構成員。就好像它們完全不相關,事實上,我知道我的密鑰副本與某個特定的層次結構成員有關。出於這個原因,我也認爲它可能不是MDX,而是可能需要改變的維度屬性/關係/屬性。

請幫忙!讓我知道是否有任何問題可以回答有關多維數據集或需求的問題。

更新:我已經使用橋表和多對多關係設置了維度,如以下鏈接所述:http://www.sqlbi.com/wp-content/uploads/The_Many-to-Many_Revolution_2.0.pdf(第70頁)。我沒有提及它,因爲我認爲它並不相關,它覆蓋了這個問題。我是這樣設置的,因爲它既有正式的也有非正式的層次結構。從概念上講,我不明白它的重要性,因爲父母子女關係正是你期望的 - 有一個父母字段對應一個關鍵值。

+0

你是如何設置維度表的?你如何設置層次結構?這是什麼意思?:「我甚至無法獲取員工ID主鍵,因爲它隱藏在父級子級別下」 –

+0

我的意思是關鍵字段不顯示在多維數據集瀏覽器中。所有其他字段都會這樣做,但我不是使用關鍵字段,而是使用父字段名稱的標籤來查看層次結構。儘管啓用了屬性層次結構屬性設置爲true,但我無法看到行上的關鍵字段。所以我在第二欄中做了一個副本,強制它出現。但它與層次結構沒有關係。 – DavidJones

+0

如果您創建屬性併爲其分配鍵字段,則應該可以通過在行上刪除該屬性將其分配給多維數據集瀏覽器中的行。那是你的追求? –

回答

0

我能解決這個問題。

我用下面的MDX來創建一個命名集,以實質上給我我以前得不到的東西 - 父子層次結構的實際葉子成員,而不是它的副本。

DESCENDANTS([Vw Dim Employee Hierarchies].[PIDH Name].&[37Informal] 
       , [Vw Dim Employee Hierarchies].[PIDH Name].Levels.Count - 1 
       , LEAVES) 

會員37Informal是非正式的層次結構的根,我指定的底層,樹葉選項返回根成員和指定級別之間的層次結構的所有葉級別成員。

然後,我可以通過比較指定集中的每個成員的值到層次結構上的父級,從而創建我需要的「TeamPoints」計算成員。如果它是同一個名字,那麼我總結他的觀點和他所有的兄弟點。如果不是,我只是回覆了他的觀點。代碼如下:

CASE WHEN [Vw Dim Employee Hierarchies].[PIDH Name].CurrentMember.Parent.Name = 
       [Vw Dim Employee Hierarchies].[PIDH Name].CurrentMember.Name 
    THEN SUM(
      {[Vw Dim Employee Hierarchies].[PIDH Name].CurrentMember.Siblings 
        * UNION({[Vw Dim Employee Hierarchies].[Job Code].&[ENGOPROF]} 
          , {[Vw Dim Employee Hierarchies].[Job Code].&[PROJENG]} 
          , {[Vw Dim Employee Hierarchies].[Job Code].&[INTRNENG]})} 
      , [Measures].[Points]) 
    ELSE [Measures].[Points] 
    END 

關鍵是真正的命名集。沒有它,我無法從行中的層次結構中獲取所有葉節點,這是我的計算成員在CurrentMember上下文中正確評估所需的。