Loading

Power BI 8 DAY

DAX 表达式扩展

IN

in:属于在...中的...(计算规则) 后面链接字段名

DAX_IN = CALCULATE(SUM('商机记录'[金额($M)]),('区域'[城市名] in {"北京", "上海"}))

计算结果是属于在区域中的”北京“和”上海“的商机记录中的金额字段的合计
SUM('商机记录'[金额($M)]) 是 计算规则
('区域'[城市名] in {"北京", "上海"}) 是筛选条件

NOT IN

not in:不属于在...中的...(计算规则) ,后面链接字段名

DAX_NOTIN = calculate(SUM('商机记录'[金额($M)]), not '区域'[城市名] in {"北京","上海"})
计算结果是不属于在区域中的”北京“和”上海“的商机记录中的金额字段的合计

时间智能函数

List.Dates

List.Dates(start as date, count as number, step as duration)
date
给定初始值、计数和增量期间值来生成 date 值的列表
返回大小为 count 的 date 值的列表,从 start 开始。给定的增量 step 是加到每个值的 duration 值.
输入:
List.Dates(#date(2011, 12, 31), 5, #duration(1, 0, 0, 0))
输出:
{
    #date(2011, 12, 31),
    #date(2012, 1, 1),
    #date(2012, 1, 2),
    #date(2012, 1, 3),
    #date(2012, 1, 4)
}

TOTALMTD

TOTALMTD:只支持时间点,不支持时间段,在切片器介于下参照后点,不参照前点。

TOTALMTD(表达式,Dates,[筛选器])
在应用指定的筛选器后,针对从该月份的第一天开始到指定日期列中的最后日期结束的间隔,计算指定的表达式的值
MTD = TOTALMTD(SUM('查询1'[金额]),'查询1'[日期])

PREVIOUSMONTH

PREVIOUSMONTH:在切片器列表下,支持时间点,但返回的是时间点所在月份的上一个月数据,在切片器介于下参照前点,不惨遭后点,需要前点的的位移量为一个月

PREVIOUSMONTH(Dates)
返回上个月
PVM = CALCULATE(SUM('查询1'[金额]),PREVIOUSMONTH('查询1'[日期]))

DATEADD

DATEADD:

  1. 在切片器列表下,参照点时,位移量是向前移一个月的时间点(选择2月1日,则计算结果是1月1日的值),反馈值是点

  1. 在切片器介于下,参照前点与后点,因为他的位移量是前移一个月时间段,并且反馈值是时间段。

     前:2022/1/1-后:2022/1/30->空白  一月无法前移
    
     前:2022/2/1-后:2022/2/28->310  如果后点是当月的最后一天则返回上月的最后一天,如果当月最后一天大于上月的最后一天,则也反回上月的最后一天
    
     前:2022/1/1-后:2022/3/31->590  返回一月+二月
    

DATEADD(Dates,NumberofIntervals,Interval)
按指定的间隔移动给定的一组日期。
DA = CALCULATE(SUM('查询1'[金额]),DATEADD('查询1'[日期],-1,MONTH))
posted @ 2022-11-28 20:03  ThankCAT  阅读(54)  评论(0)    收藏  举报