函数周期表丨时间智能丨值丨 OPENINGBALANCE 系列

OPENINGBALANCEMONTH函数

OPENINGBALANCEQUARTER函数

OPENINGBALANCEYEAR函数

OPENINGBALANCE系列函数一共包含三个函数:OPENINGBALANCEMONTH函数,OPENINGBALANCEQUARTER函数,OPENINGBALANCEYEAR函数。

这三个函数隶属于“值函数”,与之算是对应的函数系列有:CLOSINGBALANCE函数系列和ENDOF函数系列。但是用法上又有所区别。

CLOSINGBALANCE函数与ENDOF函数都可以计算期末库存余额系列,但是前者自带上下文转换,而后者需要借助于CALCULATE进行上下文转换。

OPENINGBALANCE函数的内部运算有点类似于CLOSINGBALANCE函数,自带上下文转换。忽略一些语法,单从结果上来看,与二者的用途是相对应的。而且,部分结果上看来这三个函数的结果是一致的,但是其意义是完全不同的。

用途:计算月/季度/年的期初库存。

语法

语法1:

DAX=
OPENINGBALANCEMONTH(<表达式>,<日期>[,<筛选器>])

语法2:

DAX=
OPENINGBALANCEQUARTER(<表达式>,<日期>[,<筛选器>])

语法3:

DAX=
OPENINGBALANCEYEAR(<表达式>,<日期>[,<筛选器>][,<结束日期>])

参数

表达式:用来计算数据的表达式。

日期:包含日期的列。

筛选器:(可选项)应用于当前上下文的筛选条件。

结束日期:(可选项)此项只有年度函数有,前两者没有,用来定义年度结束日期。

返回结果

一个具体的数值,表示当前上下文的月初/季度初/年初的计算结果。

例子

模拟数据:

例子1:

OPENINGBALANCEMONTH例子 =
OPENINGBALANCEMONTH ( SUM ( '销售表'[购买数量] ), '销售表'[订单日期] )

结果:

为月份匹配上个月期末的销售数据,即期初数据。

可能有的小伙伴说了,这不与CLOSINGBALANCE函数系列和ENDOF函数系列的结果差不多么?别急,继续输入代码:

对比代码1:

CLOSINGBALANCEMONTH例子 =
CLOSINGBALANCEMONTH ( SUM ( '销售表'[购买数量] ), '销售表'[订单日期] )

对比代码2:

ENDOFMONTH例子 =
CALCULATE ( SUM ( '销售表'[购买数量] ), ENDOFMONTH ( '销售表'[订单日期] ) )

对比结果:

对比后两者,后两者的作用是为每个月的每日匹配期末的数值。也就是1月1日对应的匹配数值是1月31的,以此类推。

而前者,是为次月匹配上个月的月末数值,即为本周期期初的数值。

小伙伴们,搞懂了没?这是前者与后面二者的区别。

例子2:

OPENINGBALANCEQUARTER例子 =
OPENINGBALANCEQUARTER ( SUM ( '销售表'[购买数量] ), '销售表'[订单日期] )

结果:

为季度匹配上一个季度的期末值,即本季度期初值。

例子3:

OPENINGBALANCEYEAR例子 =
OPENINGBALANCEYEAR ( SUM ( '销售表'[购买数量] ), '销售表'[订单日期] )

结果:

为年度匹配上一年度的期末数值,即本年度的期初数值。

好啦,本期就到这里了。

小伙伴们,GET了么?

白茶会不定期的分享一些函数卡片哦。

(文件在知识星球[PowerBI丨需求圈])

这里是白茶,一个PowerBI的初学者。

下面这个知识星球是针对有实际需求的小伙伴,有需要的请加入下面的知识星球。

(这个星球里面有白茶之前所有的案例文件。)

请在PC端查看,有部分图片无法在移动端显示。
PowerBI丨白茶