我想基於這個問題,以創建成員計數空值的最大續集 - MDX查詢
我有一個產品A出售 我想找到的連續兩天的最大範圍,而不會出售
例如:
天1,2,3產品不出售,之後,它連續15天銷售,在第19天它沒有出售2天,之後它每天銷售,直到月底
所以我最多的日子沒有UT銷售爲3
我想基於這個問題,以創建成員計數空值的最大續集 - MDX查詢
我有一個產品A出售 我想找到的連續兩天的最大範圍,而不會出售
例如:
天1,2,3產品不出售,之後,它連續15天銷售,在第19天它沒有出售2天,之後它每天銷售,直到月底
所以我最多的日子沒有UT銷售爲3
下面的查詢在Microsoft立方體試樣冒險提供了運作的,你想要什麼:
WITH Member Measures.[days without sales] AS
IIf([Measures].[Internet Sales Amount] > 0
, 0
,(Measures.[days without sales], [Date].[Calendar].CurrentMember.PrevMember) + 1
)
Member Measures.[Max days without sales] AS
Max([Date].[Calendar].[Date].Members
,Measures.[days without sales]
)
SELECT { [Measures].[Max days without sales] }
ON COLUMNS
FROM [Adventure Works]
WHERE [Product].[Product].&[486]
的措施days without sales
是遞歸定義,並返回多少天直到幷包括當前成員[Date].[Calendar]
層次結構沒有銷售。您可能需要修改「無需銷售」的標準,但請記住,在MDX中,數字比較將NULL
視爲0
--這與SQL不同。 如果這個層次結構中的每個成員都有一個成員,即這個層次結構中沒有差距。而實際上,這個定義比僅僅工作幾天更具有一般性:如果你使用[Date].[Calendar].CurrentMember
的月份,它會給你沒有銷售額的月數等等。它可以用於層次結構的每個級別。
的措施Max days without sales
不包含在其定義的產品,它提供了最大天無論是在上下文(在這種情況下,WHERE
子句中的產品)。
請注意 - 因爲實際上有一個環比的[Date].[Calendar]
層次中的所有天計算Measures.[Max days without sales]
時,並在該遞歸沿着前幾天再次迭代,而這一切在結果集中的每個細胞 - 這可能大報告速度緩慢。
非常感謝你,這就是我想要的 – Harthur90