仅 SSAS MDX YTD 最后值
SSAS MDX YTD Last Value only
请你帮忙:
事实table
a) 实际值
测量:每周流入这是基础数据库中的字段table
[措施].[每周流入]
我使用以下方法计算年初至今的流入量
汇总
(
截止日期
(
[期末].[期末].[年],
[期间结束].[期间结束].CurrentMember
),
[措施].[_每周流入]
)
我想显示一个新的计算度量值,它将仅显示显示实际流入的最后一条记录的单个 YTD 流入值。
这不能作为一个 运行 总数重复,只是一个值。请参阅所附示例:
Screen shot
我如何使用计算的度量来实现这一目标?能否举个例子?
日期维度:See screen shot
添加MDX后请看截图3。不应显示粉红色背景的值。绿色背景者需出示:Screen Shot 3
屏幕截图 4:Additional Measure
屏幕截图 5:Screen shot 5
Screen Shot 6
谢谢
所以您需要 运行 BottomCount(1 行)在您的 [Measures] 上。[_Weekly Inflow] 以获得具有非空值 _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
请你帮忙:
事实table a) 实际值
测量:每周流入这是基础数据库中的字段table [措施].[每周流入]
我使用以下方法计算年初至今的流入量
汇总 ( 截止日期 ( [期末].[期末].[年], [期间结束].[期间结束].CurrentMember ), [措施].[_每周流入] )
我想显示一个新的计算度量值,它将仅显示显示实际流入的最后一条记录的单个 YTD 流入值。 这不能作为一个 运行 总数重复,只是一个值。请参阅所附示例: Screen shot 我如何使用计算的度量来实现这一目标?能否举个例子?
日期维度:See screen shot
添加MDX后请看截图3。不应显示粉红色背景的值。绿色背景者需出示:Screen Shot 3
屏幕截图 4:Additional Measure
屏幕截图 5:Screen shot 5
Screen Shot 6
谢谢
所以您需要 运行 BottomCount(1 行)在您的 [Measures] 上。[_Weekly Inflow] 以获得具有非空值 _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