如何将度量聚合限制为计算成员中的单个维度
How measure aggregation can be restricted to single dimension in calculated member
我有以下查询,其中计算的度量 TotalPNLPercent 显示了个别基金的 % pnl。
With
Member [Measures].[Fund_NAV] as
([Measures].[NAV_Calculated_IncludingAccruals_CurrentDay],[Fact PNL Data].[Fund].CurrentMember)
Member [Measures].[TotalPNLPercent]
as (
Case
when isempty([Measures].[Fund_NAV]) or [Measures].[Fund_NAV] = 0
then 0
else
([Measures].[Total MTM PNL] / [Measures].[Fund_NAV])*100
End
)
select
non empty
{
[Measures].[TotalPNLPercent],
[Measures].[Total MTM PNL],
[Measures].[Fund_NAV]
} on 0,
non empty
{
[Fact PNL Data].[Fund].[Fund].Members *
// [Fact PNL Data].[Asset].[Asset].Members*
[Fact PNL Data].[Rundate].&[2015-02-11T00:00:00]
} on 1
from
[DSV_NirvanaClientDW]
当我还将资产维度放在行轴中时,[Measures].[Fund_NAV] 根据单个基金中存在的资产进一步拆分数字。我要的是 [措施].[Fund_NAV] 除资金外不应该分开。如果 fund1 有 3 个资产,那么相同的 [Measures].[Fund_NAV] 应该出现对应于 fund1 和资产的 3 个不同行。
当前行为完全合乎逻辑,因为事实 table 与基金和资产维度相关。我不想删除事实 table 和资产之间的关系。
有什么方法可以限制 [Measures].[Fund_NAV] 计算的度量的聚合仅限于 Fund 维度??
如果我没理解错的话,您需要稍微调整一下计算成员的定义。
With
Member [Measures].[Fund_NAV] as
(
[Measures].[NAV_Calculated_IncludingAccruals_CurrentDay],
[Fact PNL Data].[Fund].CurrentMember,
[Fact PNL Data].[Asset].[All]
)
显式添加 [All]
成员会覆盖 [Fact PNL Data].[Asset]
层次结构中对 当前成员 的隐式引用。
我有以下查询,其中计算的度量 TotalPNLPercent 显示了个别基金的 % pnl。
With
Member [Measures].[Fund_NAV] as
([Measures].[NAV_Calculated_IncludingAccruals_CurrentDay],[Fact PNL Data].[Fund].CurrentMember)
Member [Measures].[TotalPNLPercent]
as (
Case
when isempty([Measures].[Fund_NAV]) or [Measures].[Fund_NAV] = 0
then 0
else
([Measures].[Total MTM PNL] / [Measures].[Fund_NAV])*100
End
)
select
non empty
{
[Measures].[TotalPNLPercent],
[Measures].[Total MTM PNL],
[Measures].[Fund_NAV]
} on 0,
non empty
{
[Fact PNL Data].[Fund].[Fund].Members *
// [Fact PNL Data].[Asset].[Asset].Members*
[Fact PNL Data].[Rundate].&[2015-02-11T00:00:00]
} on 1
from
[DSV_NirvanaClientDW]
当我还将资产维度放在行轴中时,[Measures].[Fund_NAV] 根据单个基金中存在的资产进一步拆分数字。我要的是 [措施].[Fund_NAV] 除资金外不应该分开。如果 fund1 有 3 个资产,那么相同的 [Measures].[Fund_NAV] 应该出现对应于 fund1 和资产的 3 个不同行。 当前行为完全合乎逻辑,因为事实 table 与基金和资产维度相关。我不想删除事实 table 和资产之间的关系。 有什么方法可以限制 [Measures].[Fund_NAV] 计算的度量的聚合仅限于 Fund 维度??
如果我没理解错的话,您需要稍微调整一下计算成员的定义。
With
Member [Measures].[Fund_NAV] as
(
[Measures].[NAV_Calculated_IncludingAccruals_CurrentDay],
[Fact PNL Data].[Fund].CurrentMember,
[Fact PNL Data].[Asset].[All]
)
显式添加 [All]
成员会覆盖 [Fact PNL Data].[Asset]
层次结构中对 当前成员 的隐式引用。