在使用Power BI中的库存度量时,我们可能会遇到一些奇怪的效果。让我们看看这种情况如何出现以及如何解决。
介绍
当数据无法在时间上聚合时,通常会使用库存计算。
例如,把我的银行账户余额随时间累加起来是一个不好的主意。这对我来说是一个好主意,但对我的银行来说不是。
目前,我正在为一个客户项目创建一个人力资源数据的报告解决方案。
一个关键指标是人数(Headcount),这也是一个库存度量,因为我们在一个事实表中存储了每个月的人数。
这看起来是一个容易的任务。
但在某些情况下,我们必须额外进行一步才能获得正确的结果。
现在,让我们深入研究。
基础库存度量
首先,库存度量的正确名称是半添加度量。这是因为,如上所述,它们不会在时间上聚合数据,而是在所有其他维度上聚合。
计算人数(Headcount)的基础半添加度量很简单:
Headcount = VAR LastDataDay = LASTNONBLANK('Date'[Date] ,[Headcount (Base)])
RETURN CALCULATE([Headcount (Base)], LastDataDay)
度量[Headcount (Base)]包含简单的聚合(SUM)以获得所需结果。
我总是使用基础度量,以便能够包含其他逻辑,并且可以在后续度量中重复使用。一个例子是当用户想看到千位数或百万位数时,使用一个缩放因子,而不需要在Power BI中使用自动显示单位,这会添加奇怪的缩放因子,如“千”和“百万”。
然后,我使用LASTNONBLANK()函数获取具有Headcount (Base)度量结果的最后一个日期。然后,将此函数的结果作为过滤器应用于CALCULATE()调用以获得最终结果。