数据源为不同月份的财务报表,根据财务报表的数据创立了毛利率、资产负债率、成本占收入比率等多个度量值。
需求:所有度量值都需要计算本月值、上月值、本年累计,如果分别设立度量值的话,会很多。是否有方法统一设定时间函数,选不同度量值时,分别对应。(即统一设定上月值的计算,毛利率、资产负债率等分别计算上月值)
数据源为不同月份的财务报表,根据财务报表的数据创立了毛利率、资产负债率、成本占收入比率等多个度量值。
需求:所有度量值都需要计算本月值、上月值、本年累计,如果分别设立度量值的话,会很多。是否有方法统一设定时间函数,选不同度量值时,分别对应。(即统一设定上月值的计算,毛利率、资产负债率等分别计算上月值)
1:如果是相同的时间跨度,可以用VAR定义一个时间跨度表, 然后其它度量都用这个表作为筛选表。可以减少重复书写的代码量,对运行效率也有帮助;
2:如果多个度量都有相同的底层计算公式,可以将这个公用的公式先定义在一个度量里,其它度量进一步引用这个公用度量;
3:否则的话,多个度量 即使看上去类似的公式, 但目前来看 无法进一步缩减代码量,因为目前的DAX无法自定义(带参数)的函数。
或许有人会想到SWITCH+VALUES(或ISFILTERED)之类的方法。但我认为这个方法换汤不换药,表面看多个度量合并成了1个,但这个度量里面依然要根据不同情况 写不同公式,而且额外增加判断以及多层括号,代码量没减少却增加了复杂性。