• Power BI Dax 动态账期,并将该月余下的天数计入下一个月


    有小伙伴问我如果账期是每月的25号,并且当月余下的天数统计在下一个月内,那么金额该如何计算。

    这是一个很多公司都会遇到的一个问题,那么用Power BI 如何来实现。其实并不复杂,我们来一起理一下。

    首先我们先来思考遇到的问题

    1. 将25号作为月末,而不是自然日的月末。

    2. 每月25号之后的天数统计在下一个月内,剩余3~6 天会记入下一个月。

    一看这样的要求,脑中飞过无数的计算逻辑和过程吧,一时间没什么有效方案,那么先看看下一组分析,下一组是以25天作为一个周期的账期,好像也差多,还是继续看这里。

    为了避免账期日期的各有不同,所以要让计算过程变得灵活点,我们先来设置一个参数,账期日

    mea_DayRange = 25

    然后就是写Dax 函数

    mea_SalesForDayLimit =
    var sd=SELECTEDVALUE(Dim_Calendar[YearMonth])
    var y=IF(MONTH(sd)<>1,YEAR(sd),YEAR(sd)-1)
    var m=IF(MONTH(sd)-1==0,12,MONTH(sd)-1)
    var frd=DATEVALUE(y&"/"&m&"/"&([mea_DayRange]+1))
    var erd=DATE(YEAR(sd),MONTH(sd),[mea_DayRange])
    var p=CALCULATE(SUM(Fact_Sales[Sales]),Dim_Calendar[Date]>=frd,Dim_Calendar[Date]<=erd)
    return p

    分别计算出每期的起始日与结束日,需要注意的是如果是一月份,年时跨年的,这里的Dax 内变量的日期计算用朴实无华的加减法,而不能套用什么的dateadd这种函数操作,我们来看一下结果

    左边的list 是计算的度量值,那么为了验证,我也放了一个筛选器以及实际的销售字段

     

     发现这值的确是我们想要的,并且还能自由改变账期日

     可以看出,即使账期日改成了20号也是完全正确的。

    好了,今天的分享就到这里,有问题可以向我提问,我会尽量答复。

  • 相关阅读:
    Globus Toolkit 4.0正式版发布
    五四爱国纪念歌——最早反映五四运动的歌曲(zz)
    历史上的昨天和今天(zz)
    苹果:2.7GHz G5比3.6GHz P4快98%(zz)
    上海地铁又有人跳轨……
    使用IPAddress解析IP地址时要注意的问题
    WinHEC:电脑硬件和微软OS发展历程展(zz)
    emplace_back与push_back方法的区别
    处理Excel,填充空白区域
    折腾词库,一个词库互转程序
  • 原文地址:https://www.cnblogs.com/Javi/p/13651166.html
Copyright © 2020-2023  润新知