Ssas MDX:从单元格中缓慢变化的维度获取属性
我需要生成一个报告,显示多维数据集中的日常更改。例如,对于账户,我们在第X天显示余额,在第Y天显示余额。我通过以下方式实现:Ssas MDX:从单元格中缓慢变化的维度获取属性,ssas,mdx,Ssas,Mdx,我需要生成一个报告,显示多维数据集中的日常更改。例如,对于账户,我们在第X天显示余额,在第Y天显示余额。我通过以下方式实现: WITH MEMBER OldBalance AS ([Balance], [Date].[Date].[2013-05-01]) -- start date MEMBER NewBalance AS ([Balance], [Date].[Date].[2013-05-04]) -- end date SELECT {OldBalance, NewBalance} ON
WITH
MEMBER OldBalance AS ([Balance], [Date].[Date].[2013-05-01]) -- start date
MEMBER NewBalance AS ([Balance], [Date].[Date].[2013-05-04]) -- end date
SELECT {OldBalance, NewBalance} ON COLUMNS
[Account].[AccountNumber].[AccountNumber] ON ROWS
FROM TheCube
这显示了每个帐户的两列,每个人都很高兴:
OldBalance NewBalance
ACT123 1050.25 1048.29
ACT345 950.08 1421.92
除了帐号之外,[account]维度还将SalesRepName作为属性,并且SalesRepName的值可能会随着时间的推移而变化,这使得[account]维度的变化缓慢。我想看到的是以下几点:
OldBalance NewBalance OldSalesRep NewSalesRep
ACT123 1050.25 1048.29 John Smith John Smith
ACT345 950.08 1421.92 John Smith George Fisher
但我不知道如何在MDX中实现这一点,甚至不知道这是否可能 诀窍是使用类似于
TopCount
的东西,然后使用Item
:
与
成员【日期】【日期】。起始日期为【日期】【日期】【2013-05-01】
成员【日期】【日期】。结束日期为【日期】【日期】【2013-05-04】
成员旧余额为([余额],[日期].[日期].StartDate)
成员新余额为([余额],[日期].[日期].EndDate)
成员OldSalesRep AS
头号人物(
非空(
([Account].[SalesRep].[SalesRep],[Date].[Date]。开始日期,
[账户][AccountNumber].CurrentMember],[余额],
1)
.项目(0).项目(0).属性(“标题”)
成员NewSalesRep AS
头号人物(
非空(
([Account].[SalesRep].[SalesRep],[Date].[Date].EndDate,
[账户][AccountNumber].CurrentMember],[余额],
1)
.项目(0).项目(0).属性(“标题”)
在列上选择{OldBalance、NewBalance、OldSalesRep、NewSalesRep}
行上的[Account].[AccountNumber].[AccountNumber]
从多维数据集
但是,请记住,在大型多维数据集上,性能可能不太好。诀窍是使用类似于
TopCount
的方法,然后使用Item
:
与
成员【日期】【日期】。起始日期为【日期】【日期】【2013-05-01】
成员【日期】【日期】。结束日期为【日期】【日期】【2013-05-04】
成员旧余额为([余额],[日期].[日期].StartDate)
成员新余额为([余额],[日期].[日期].EndDate)
成员OldSalesRep AS
头号人物(
非空(
([Account].[SalesRep].[SalesRep],[Date].[Date]。开始日期,
[账户][AccountNumber].CurrentMember],[余额],
1)
.项目(0).项目(0).属性(“标题”)
成员NewSalesRep AS
头号人物(
非空(
([Account].[SalesRep].[SalesRep],[Date].[Date].EndDate,
[账户][AccountNumber].CurrentMember],[余额],
1)
.项目(0).项目(0).属性(“标题”)
在列上选择{OldBalance、NewBalance、OldSalesRep、NewSalesRep}
行上的[Account].[AccountNumber].[AccountNumber]
从多维数据集
但是,请记住,在大型多维数据集上,性能可能不太好
WITH
MEMBER [Date].[Date].StartDate AS [Date].[Date].[2013-05-01]
MEMBER [Date].[Date].EndDate AS [Date].[Date].[2013-05-04]
MEMBER OldBalance AS ([Balance], [Date].[Date].StartDate)
MEMBER NewBalance AS ([Balance], [Date].[Date].EndDate)
MEMBER OldSalesRep AS
TopCount(
NonEmpty(
([Account].[SalesRep].[SalesRep], [Date].[Date].StartDate,
[Account].[AccountNumber].CurrentMember), [Balance]),
1)
.Item(0).Item(0).Properties("Caption")
MEMBER NewSalesRep AS
TopCount(
NonEmpty(
([Account].[SalesRep].[SalesRep], [Date].[Date].EndDate,
[Account].[AccountNumber].CurrentMember), [Balance]),
1)
.Item(0).Item(0).Properties("Caption")
SELECT {OldBalance, NewBalance, OldSalesRep, NewSalesRep} ON COLUMNS
[Account].[AccountNumber].[AccountNumber] ON ROWS
FROM TheCube