我试图通过Power View绘制各个时间点所有账户余额的总和,以便我可以看到总数是如何变化的 .
我没有交易历史记录(加/减),只有每个帐户在特定时间点的“余额” .
我的数据的简化示例是:
账户日期余额a111 01 2015年1月100 a111 2015年2月1日150 b222 2015年3月1日200 c333 2015年3月1日300 b222 2015年5月1日150 d444 01 June 2015 400
据我所知,我需要创建一个度量来生成每个“帐户”的动态排名,按最新日期排序 . 然后,我应该能够创建第二个度量来SUM每个等级= 1的帐户 .
在PowerPivot DAX - Dynamic Ranking Per Group (Min Per Group)问题中讨论过这个问题的类似例子,但我似乎无法在Power View中显示我想要的线图 .
我想在折线图上显示的是(让图表整理缺少的日期):
日期余额01 Jan 2015 100 - 仅限帐户a111 2015年2月1日150 - 仅限帐户a111,但新值01 2015年3月650 - 帐户a111(最新),b222和c333 2015年5月1日600 - 如上所述,但帐户b222已更新01 Jun 2015 1000 - 所有帐户的最新值
但是,我目前看到的是:
日期余额01 Jan 2015 100 - 与此日期对应的余额总和2015年2月1日150 - 如上所述2015年3月1日500 - 上述2015年5月1日150 - 以上01 Jun 2015 400 - 如上
据我所知,问题在于,在图中的每个数据点,“过滤器上下文”仅减少到与日期匹配的行,而我需要在该日期之前使用'等级为1 .
作为参考,我使用Excel 2013,数据最终通过Power Query(从SharePoint中提取数据)进入,所以如果有必要,我可以在那里工作(即生成一个数字'组ID'用于DAX MAX()功能,因为它似乎不喜欢字符串) .
我希望这不要混淆,并提前感谢任何帮助 .
1 回答
对此的解决方案是具有单独的日期维度表,因此可以在不考虑事实表的情况下每月独立地计算余额 .
假设您有一个名为Date的日期表 .
因此,首先要创建基本度量
接下来,我们计算事实表中的第一个月,以用作查看Date表值的底线 .
现在我们在上下文中确定最后一个日期,其中包含第一个月和当前月份之间的日期范围:
因此,请考虑2015年5月1日当月的a111 . 此度量将查看2015年1月1日(我们的
[First Ever Balance Date]
)和2015年5月1日(MAX Date[Month]
)之间的所有日期,找到具有余额的最后一行并返回相应的Date[Date]
(2015年2月1日) .该指标将在账户初始余额之前的任何月份返回BLANK . 在日期过滤中使用BLANKS不起作用,因此我们应该使用[First Ever Balance Date]替换这些BLANK值,以确保该帐户的运行余额仍将返回0 .
现在,我们可以通过查看
Last Balance Date Remove Blanks
的余额来计算任何月份的任何帐户的当前余额最后,我们在帐户中使用SUMX来累加各自的
Last Balance
金额 .现在,您可以在数据透视表中将日期[月]放在行上,将[帐户总余额]作为度量 . 请注意,这将包括样本集中没有事实表行(例如4/1/2015)的月份 . 如果要排除这些,请添加另一个中间度量来计算事实表行:
如果[Fact Table Row Count]为BLANK(),则创建一个返回BLANK()的度量,否则为[Account Total Balance]