Ssas

在 MDX 中,UnknownMember 的 ParallelPeriod 是什麼?

  • July 1, 2015

假設我有一個時間維度,包括所有級別、年、季度、月、日。我每月有一些銷售額和計算過的measere

$$ sales last year $$

WITH MEMBER [Measures].[sales last year] AS (ParallelPeriod([Time].[Time].[Year],1,[Time].[Time].CurrentMember), [Measures].[sales])
SELECT {[Measures].[sales], [Measures].[sales last year]} ON 0
, [Time].[Time].[Month].Members ON 1
FROM [Sales]

現在時間維度有一個可見的 UnknownMember ,它顯示為

$$ sales last year $$與我在層級結構中去年 1 月看到的值相同。 為什麼呢?我怎樣才能避免它?我的意思是所有的總和

$$ sales last year $$應該與所有的總和相同$$ sales $$除了第一年之外的所有年份。

`PARALLELPERIOD’ 的工作方式是將層次結構向上移動到指定的級別,然後向後或向前移動週期數,然後使用相同的路徑再次向下移動。

在這個“沿著路徑移動”中,平行週期將再次下降相同的成員序數。因此,如果它從第一個成員(在您的範例中為 1 月)向上移動,它將再次向下移動第一個成員。如果它向上移動了第二個成員(在您的範例中為 2 月),它將再次向下移動第二個成員。

這當然打破了未知的層次結構,因為每個孩子都是其父母的第一個成員。

所以讓我們說例如你有這個層次結構

    2015             unknown
jan   feb    mar      unknown

然後你對未知層次的葉子成員做一個parallelperiod,parallelperiod會向上移動到未知層次的年份級別,向後移動一年並再次向下移動到葉子級別,記住它是從第一個成員向上移動的未知層次結構,並向下移動 2015 層次結構的第一個成員,即 2015 年 1 月。

引用自:https://dba.stackexchange.com/questions/105637