#Powerbi 利用时间智能函数,进行周度分析

powerbi,利用,时间,智能,函数,进行,分析 · 浏览次数 : 662

小编点评

**步骤 1:构建含年周度的日期表** ```dax # 生成日期表 DATE TABLE = ADDCOLUMNS( CALENDAR(DATE(2023, 1, 1), DATE(2023, 1, 22)), "年", YEAR([Date]), "季度", ROUNDUP(MONTH([Date]) / 3, 0), "月", MONTH([Date]), "周", WEEKNUM([Date]), "年季度", YEAR([Date]) & "Q" & ROUNDUP(MONTH([Date]) / 3, 0), "年月", YEAR([Date]) * 100 + MONTH([Date]), "年周", year([date]) * 100 + weeknum([date]), "星期几", WEEKDAY([Date]) ) ``` **步骤 2:构建度量值上周同期_度量值** ```dax # 上周同期曝光人数 FLOWEDOWN_WTD = CALCULATE( '流量度量值'[曝光人数(人)], DATEADD('日期表'[日期], -7, DAY) ) ``` **步骤 3:构建流量本周至今度量值** ```dax # 流量本周至今度量值 FLOWEDOWN_TODAY = VAR curyear = SELECTEDVALUE('日期表'[年]) VAR curweeknum = SELECTEDVALUE('日期表'[周]) RETURNCALCULATE( '流量看板度量值'[曝光人数(人)], FILTER( ALL('日期表'), '日期表'[年] =curyear & AND '日期表'[日期] <= MAX('日期表'[日期]) ) ) ``` **步骤 4:构图** ```dax # 构建图表 VAR curyear = SELECTEDVALUE('日期表'[年]) VAR curweeknum = SELECTEDVALUE('日期表'[周]) VAR dateRange = DATESBETWEEN('日期表'[日期], TODAY() - 7, TODAY()) VAR flowData = FILTER( '日期表', '日期表'[年] = curyear && '日期表'[周] = curweeknum && '日期表'[日期] >= dateRange ) RETURN EVALUATE { { "日期", flowData[日期] }, { "曝光人数 (上周)", flowData[曝光人数(人)] }, { "曝光人数 (本周至今)", flowData[曝光人数(人)] } } ```

正文

在实际工作中,我们往往需要同比分析,月度和年度的分析都有对应的时间智能函数,分别是MTD和YTD,但是缺少了周度的时间智能函数,而

恰恰日常工作中,我们又需要以周度来进行对应的分析,今天我们来学习一下,如何使用Powerbi来进行周度分析。

我们这里假设要进行流量的周度分析,流量表里包含了日期、曝光人数等业务值。

第一步:构建含年周度的日期表

首先,我们需要一个含有周度列的时间表,下面是生成日期表的DAX,这个可以直接使用。

日期表 = ADDCOLUMNS( 
CALENDAR(date(2023,1,1),date(2023,1,22)),
"年", YEAR ( [Date] ),
"季度", ROUNDUP(MONTH([Date])/3,0),
"月", MONTH([Date]),
"周", weeknum([Date]),
"年季度", year([date]) & "Q" & ROUNDUP(MONTH([Date])/3,0),
"年月", year([Date]) * 100 + MONTH([Date]),
"年周", year([Date]) * 100 + weeknum([Date]),
"星期几", WEEKDAY([Date]) 
)

  

这里生成的年周列

 第二步:构建度量值

上周同期_度量值:这里我们来算曝光人数的上周同期数,上周同期的话,其实就是平移日期7天,去计算曝光,所以这里选用了dateadd函数去计算

曝光人数(上周) = CALCULATE('流量度量值'[曝光人数(人)],DATEADD('日期表'[日期],-7,DAY))

  

流量本周至今度量值:这里VAR先申明了一个变量,SELECTEDVALUE这里返回当前选择日期对应的实际年周,下方FILTER中,两个筛选条件,一个是当前周,一个是小于日期表中的最大值。

流量_曝光人数_本周至今WTD = 

VAR curyearweek=SELECTEDVALUE('日期表'[年周])

RETURN

CALCULATE(

  '流量看板度量值'[曝光人数(人)],

  FILTER(

    ALL('日期表'),

    '日期表'[年周]=curyearweek

    &&'日期表'[日期]<=MAX('日期表'[日期])

  )

)

 流量上周累积度量值

 

上周累计 = 

VAR curyear= SELECTEDVALUE('日期表'[年])

VAR curweeknum=SELECTEDVALUE('日期表'[周])

RETURN

CALCULATE(

  '流量看板度量值'[曝光人数(人)],

  FILTER(

    ALL('日期表'),

    '日期表'[年]=curyear

    &&'日期表'[周]=curweeknum-1

  )

)  

    流量总和:

流量总和 = CALCULATE(SUM('流量表'[曝光人数]))

 流量周环比:

流量周环比 = DIVIDE(流量总和,曝光人数(上周))-1

第三步:构图

 

 

总结,在进行周分析时,重点在于时间智能函数的返回值,在实际应用中,我们需要注意筛选条件的返回值,熟练运用VAR和CALCULATE+FILTER+ALL函数组合,可以让我们在任意的期间段分析都如鱼得水。

我是simone,期待下次分享。

与#Powerbi 利用时间智能函数,进行周度分析相似的内容:

#Powerbi 利用时间智能函数,进行周度分析

在实际工作中,我们往往需要同比分析,月度和年度的分析都有对应的时间智能函数,分别是MTD和YTD,但是缺少了周度的时间智能函数,而 恰恰日常工作中,我们又需要以周度来进行对应的分析,今天我们来学习一下,如何使用Powerbi来进行周度分析。 我们这里假设要进行流量的周度分析,流量表里包含了日期、曝光

#Powerbi 利用动态格式字符串功能,实现百分数智能缩位(powerbi4月重磅更新功能.)

以下内容(基于POWERBI 23年4月更新的最新版本) 实际业务中,日常报表一般都有一个较为规范的百分数缩位要求,如果统一要求保留一位小数,那么在有些时候,我们会面临被缩成0.0%的尴尬,例如原有的百分比为"0.02%",如果保留一位的话,powerbi会返回一个值为"0.0%"。 这时候如果我们

#PowerBI 1分钟学会,利用format函数,自定义格式显示

PowerBI是一款强大的数据分析和可视化工具,它可以帮助我们快速地创建各种报表和仪表盘,展示数据的洞察和价值。 在PowerBI中,有许多内置的函数可以帮助我们处理和转换数据,其中一个常用的函数就是Format函数。 Format函数的作用是将一个值按照指定的格式进行显示,例如日期、时间、货币、百

#Powerbi 利用视觉对象着色地图,制作数据地图

日常工作中,有时我们会遇到需要地图来展示我们的数据场景,利用POWERBI,我们可以快速的制作自己的业务地图。 Powerbi自带了三大地图,今天我们用到的是形状地图。 步骤讲解: 第一步:下载对应的地图资源,可以是全国的,也可以是具体省市的,这个根据我们的具体业务来进行选择。 http://dat

#Powerbi 1分钟学会,利用AI,为powerbi报表进行高端颜色设计

1分钟学会利用AI,为powerbi报表进行高端颜色设计

#Powerbi 理解VAR函数

VAR意思即为变量,在编程语言中,变量是一个重要概念,DAX作为一种语言也有变量概念,利用VAR,我们可以缩短我们一些DAX语句的长度,更清晰的表达我们的度量值计算逻辑。 举例说明: 我们要计算一个产品的同比增长率 如果不用VAR 第一步:需要计算今年的销售额 [Sales]=SUM(销售表[销售额

PowerBI_一分钟了解POWERBI计算组_基础运用篇(一)

在第一篇计算组的文章中,给大家介绍了,POWERBI的计算组功能的基本概念和作用。 本文,旨在通过简单案例,介绍计算组功能的具体应用场景。 没有看过第一篇的同学,可以先简单过一下第一篇,补齐一下概念和打开计算组功能。 https://www.cnblogs.com/simone331/p/18146

#Powerbi 季度时间进度计算

上一篇我们学习了月度时间进度的计算方法,今天我们学习季度时间进度的测算。 思路:找出目前共计消耗了多少天(季度),目前日期所在的季度共有多少天,两者相除即是季度的时间进度 首先列出DAX函数: 本季度第一天 = STARTOFQUARTER(TREATAS({TODAY()},'日期表'[日期]))

#Powerbi函数学习 SELECTEDVALUE与ISFILTERED

Power BI中的DAX函数ISFILTERED可以用来判断一个表或者一个列是否被筛选器所影响。 这个函数的语法很简单,就是ISFILTERED(),返回值是TRUE或者FALSE。那么,这个函数有什么用呢?我们来看一个例子。 第一步:数据源和基础度量值

#PowerBi 1分钟学会,以“万”为单位显示数据

PowerBi是一款强大的数据分析和可视化工具,它可以帮助我们快速地制作出各种图表和报表,展示数据的价值和洞察。 但是,有时候我们的数据量太大,导致图表上的数字难以阅读和比较。例如,如果我们想要查看某个月的销售额,而数据是以元为单位的,那么可能会看到一串很长的数字,如123456789元。 这样的数