簡體   English   中英

僅 SSAS MDX YTD 最后值

[英]SSAS MDX YTD Last Value only

請您幫忙:

事實表 a) 實際值

Measure: Weekly Inflow 這是基礎數據庫表 [Measures].[Weekly Inflow] 中的字段

我使用以下方法計算 YTD 流入

聚合 ( PeriodsToDate ( [Period End].[Period End].[Year], [Period End].[Period End].CurrentMember), [Measures].[_Weekly Inflow])

我想顯示一個新的計算度量,它將顯示一個 YTD 流入值,僅用於顯示實際流入的最后一條記錄。 這不能作為一個運行總計而重復,只是一個單一的值。 請參閱所附示例:屏幕截圖我如何使用計算的度量來實現此目的? 請你能舉個例子嗎?

日期維度:見屏幕截圖

請在添加 MDX 后查看屏幕截圖 3。 不應顯示粉紅色背景的值。 需要呈現綠色背景的:屏幕截圖3

屏幕截圖 4:附加措施

屏幕截圖 5:屏幕截圖 5

屏幕截圖 6

謝謝

因此,您需要在 [Measures].[_Weekly Inflow] 上運行 BottomCount(1 行)以獲取具有 _Weekly Inflow 非空值的最后一個元組,這將是一個計算度量。接下來,在您的 YTD 度量中添加一個檢查 [Period End].[Period End] 用戶層次結構的當前值到上述度量的唯一值的情況。 我手頭沒有示例多維數據集,但查詢結構將如下所示。

 with member Measures.[NewColumn]
as 
(bottomcount(
nonempty(
existing
{([Date].[Date].[Date].members)}
,[Measures].[_Weekly Inflow]),
1
).item(0).Name

member 
Measures.[YTD]
as 
case when [Period End].[Period End].currentmember.name=Measures.[NewColumn] then 
Aggregate ( PeriodsToDate ( [Period End].[Period End].[Year], [Period End].[Period End].CurrentMember ), [Measures].[_Weekly Inflow] )
else 
null end

編輯

with member Measures.[NewColumn]
    as 
    (bottomcount(
    filter(
    existing
    {([Date].[Date].[Date].members)}
    ,[Measures].[_Weekly Inflow]>0),
    1
    ).item(0).Name

    member 
    Measures.[YTD]
    as 
    case when [Period End].[Period End].currentmember.name=Measures.[NewColumn] then 
    Aggregate ( PeriodsToDate ( [Period End].[Period End].[Year], [Period End].[Period End].CurrentMember ), [Measures].[_Weekly Inflow] )
when 
[Period End].[Period End].currentmember.name=[Period End].[Period End].defaultmember then Aggregate ( PeriodsToDate ( [Period End].[Period End].[Year], [Period End].[Period End].CurrentMember ), [Measures].[_Weekly Inflow] )
    else 
    null end

編輯

    member 
    Measures.[YTD]
    as 
    case when [Period End].[Period End].currentmember.name=Measures.[NewColumn] then 
    Aggregate ( PeriodsToDate ( [Period End].[Period End].[Year], [Period End].[Period End].CurrentMember ), [Measures].[_Weekly Inflow] )
when 
[Period End].[Period End].currentmember.name="Feburary 2018" then Aggregate ( PeriodsToDate ( [Period End].[Period End].[Year], [Period End].[Period End].CurrentMember ), [Measures].[_Weekly Inflow] )
    else 
    null end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM