如何在Power BI中计算年初至今(YTD)日均数据?
计算各科目年初至今(YTD)日均数据的Power BI度量值方案
前提准备
确保你的数据模型中存在日期表,并与查询表(Query)的App Date字段建立关联。若没有日期表,可先创建:
Date Table = CALENDARAUTO()
创建完成后,在「建模」选项卡中将其标记为日期表。
两种场景的度量值公式
场景1:按有数据的日期计算日均(仅统计存在记录的日期)
YTD日均记录数(有数据日期) = VAR YTD总记录数 = CALCULATE(COUNT(Query[ID]), DATESYTD('Date Table'[Date])) VAR YTD有数据天数 = CALCULATE(DISTINCTCOUNT(Query[App Date]), DATESYTD('Date Table'[Date])) RETURN DIVIDE(YTD总记录数, YTD有数据天数, 0)
场景2:按日历年初至今的全部天数计算日均(包含无数据的日期)
YTD日均记录数(日历天数) = VAR YTD总记录数 = CALCULATE(COUNT(Query[ID]), DATESYTD('Date Table'[Date])) VAR YTD总日历天数 = DATEDIFF(STARTOFYEAR('Date Table'[Date]), MAX('Date Table'[Date]), DAY) + 1 RETURN DIVIDE(YTD总记录数, YTD总日历天数, 0)
公式说明
COUNT(Query[ID]):统计对应科目的总记录数(ID为每条记录的唯一标识)DATESYTD():筛选出年初至今的日期范围DISTINCTCOUNT(Query[App Date]):统计YTD内有数据记录的日期数量DATEDIFF(...) +1:计算年初至今的总日历天数(+1是为了包含起始日期)DIVIDE():安全除法函数,避免出现除以0的错误,第三个参数为除以0时返回的默认值
原公式问题说明
你之前使用的calculate (average(Query[app date]))是计算日期的平均值,这没有实际业务意义。我们需要的是记录数的日均,因此必须先统计总记录数,再除以对应天数。
内容的提问来源于stack exchange,提问作者jnic
相关产品推荐
相关产品推荐

