如何在SSAS里设计三栏式的流水账
0
我需要在SSAS里建一个表是三栏式的流水账记账,来源是另外2个表。
发票表INVOICE放在借方debit,为正数
收货表RECEIPTS放在贷方credit,为负数
年初期初余额beginning balance是固定的,每一次记账后的ending balance是计算出来的,ending balance=beginning balance+debit+credit。如下图。
我需要出来一个trial balance表来按日期排序记账,得到所选期间的ending balance显示在报表中,也要显示图中的流水账,和所选期间的发票总金额,收货总金额。
事实表有3个,一个是beginning balance,一个是发票表,一个是收货表。
维度表是客户和时间,图中未体现。
不知道度量值ending balance该怎么设计?似乎没有办法得到上一行的ending balance。
请专家帮我解决,多谢啦。
发票表INVOICE放在借方debit,为正数
收货表RECEIPTS放在贷方credit,为负数
年初期初余额beginning balance是固定的,每一次记账后的ending balance是计算出来的,ending balance=beginning balance+debit+credit。如下图。
我需要出来一个trial balance表来按日期排序记账,得到所选期间的ending balance显示在报表中,也要显示图中的流水账,和所选期间的发票总金额,收货总金额。
事实表有3个,一个是beginning balance,一个是发票表,一个是收货表。
维度表是客户和时间,图中未体现。
不知道度量值ending balance该怎么设计?似乎没有办法得到上一行的ending balance。
请专家帮我解决,多谢啦。
没有找到相关结果
重要提示:提问者不能发表回复,可以通过评论与回答者沟通,沟通后可以通过编辑功能完善问题描述,以便后续其他人能够更容易理解问题.
3 个回复
天桥下的郑成功 - Hadoop大数据开发工程师、数仓架构师、熟悉数据仓库设计、Hadoop、Spark、HBase、Hive、SSIS等开发 2015-02-12 回答
赞同来自:
维度表正如你说的 客户和时间,事实表“beginning balance,一个是发票表,一个是收货表”
建立好后,可以理解为已知当天的EndingBalance。所有数据你都看的到,现在问题是你的下一次的BeginningBanlance需要取到昨天的 EndingBalance,如果我没理解错的话。
可以使用计算成员来达到你的目的,比如下面的是取上个月的Balance。而你的可能是 上一次的Balance,其实大同小异。无非就是一个 同比环比的概念(以时间为准)。
WITH MEMBER [Measures].[BeginningBalance]
AS
(
PARALLELPERIOD
(
[Date].[Calendar].[Month],
1,
[Date].[Calendar].CurrentMember
),
[Measures].[Internet Sales Amount]
),FORMAT_STRING = "Currency"
SELECT
{
[Measures].[Internet Sales Amount],
[Measures].[BeginningBalance]
} ON 0,
{
[Date].[Calendar].[Month].MEMBERS
} ON 1
FROM [Adventure Works]
建立好后,它就会像一个度量值一样出现在你的计算成员里,这时候可以很方便的在设计界面拖放使用它。
sue_huangyong - BI新手 2015-02-24 回答
赞同来自:
您写的计算成员是属于多维模式的吧。
sue_huangyong - BI新手 2015-02-24 回答
赞同来自:
我忘了说明我只能用表格模式而不能用多维模式了,您提到的计算成员是不是只能用于多维模式呢?
另外,您的例子是取上个月的,我必须是上一次的,还能用这个时间函数的PARALLELPERIOD吗?似乎不是同比环比的概念啊?就是取的上一行的数据。
顺祝新年快乐