惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

人人都是产品经理
人人都是产品经理
Google DeepMind News
Google DeepMind News
博客园 - 【当耐特】
量子位
博客园 - 司徒正美
爱范儿
爱范儿
Hugging Face - Blog
Hugging Face - Blog
博客园 - 聂微东
Jina AI
Jina AI
J
Java Code Geeks
腾讯CDC
大猫的无限游戏
大猫的无限游戏
V
Visual Studio Blog
I
InfoQ
D
Docker
Recent Announcements
Recent Announcements
MongoDB | Blog
MongoDB | Blog
博客园 - Franky
宝玉的分享
宝玉的分享
G
Google Developers Blog
GbyAI
GbyAI
Y
Y Combinator Blog
有赞技术团队
有赞技术团队
H
Help Net Security

博客园 - 哥本哈士奇(aspnetx)

dbt+SQLServer构建数据仓库(13):运维 FAQ 篇 dbt+SQLServer构建数据仓库(12):进阶 FAQ 篇 dbt+SQLServer构建数据仓库(11):FAQ 篇 dbt+SQLServer构建数据仓库(10):macro 以及 data vault的应用实例 dbt+SQLServer构建数据仓库(9):用Vibe Coding创建一个DBT UI dbt+SQLServer构建数据仓库(8):Vibe Coding用dbt构建data vault数仓 dbt+SQLServer构建数据仓库(7):进阶扩展 dbt+SQLServer构建数据仓库(6):Jinja与DAG实战 dbt+SQLServer构建数据仓库(5):数据测试 dbt+SQLServer构建数据仓库(4):分层建模实战 dbt+SQLServer构建数据仓库(3):dbt_project.yml配置精讲 dbt+SQLServer构建数据仓库(2):与传统方案对比及迁移决策 dbt+SQLServer构建数据仓库(1):认识dbt与项目工作流程 SQL Server 索引知识汇总 医疗器械行业 Salesforce Territory 完整落地实例 Raw Data Vault vs Business Data Vault Neo4j 多跳查询实战:从社交网络场景理解图遍历 Git 本地版本管理学习笔记 看完《低智商犯罪》,学习Cypher构建知识图谱 LangChain DeepAgents 学习笔记 LangChain Deepagent 版本0.6.1中间件一个bug Neo4j笔记(五):查询的处理流程 微软 SQL Server 版本演进史:从诞生到 SQL Server 2025 提升 Text2SQL 准确率 SQLServer Management Studio(SSMS) 22 Copilot 最佳实践学习笔记 SQLServer RAG笔记4:从服务层到前端交互 SQLServer RAG笔记5:为SQLServer 2025配置Ollama SQL Server RAG 笔记3:SQLServer2025 向量数据库 详解传统RAG、Text2SQL、Graph RAG:适用场景与问题示例汇总 SQL Server RAG 笔记2:图数据库服务层与前端可视化构建
Power BI学习笔记-周报销售数据分析
哥本哈士奇(aspnet · 2025-09-02 · via 博客园 - 哥本哈士奇(aspnetx)

Power BI学习笔记-周报销售数据分析

简介

来自B站的Power BI学习视频的学习笔记。
记录来自B站的Power BI教学视频,由“高级财务BP-Ni”发布,视频发布者主要发布财务类相关的PBI视频,视频长度30分钟左右。
视频链接:
【powerbi周报分析模型搭建教程,30分钟详细讲解!-哔哩哔哩】 https://b23.tv/l45rz8m
视频很不错,推荐大家也一起观看学习,这个视频是我自己的学习笔记,方便后续快速查找相应的知识点。

视频讲解的是是基于销量的分析,维度包括时间,产品,渠道,城市等。
Dashboard的设计相对也比较简洁,左侧一个时间筛选,年加月,右侧一个大的透视表,行上维度是产品,列上维度是周。度量数据包括销售额,周环比增长率。销售额伴随着条件格式的柱图,增长率带有向上和向下的箭头。
img

学习重点:

这个视频可以巩固的知识点:

  • 跟周WEEK相关函数的使用
  • 基于周的环比计算
  • 自动创建日期维度表
  • 度量值的条件格式丰富数据展现

自动创建日期维度表

视频时间点:03:10
创建时间维度表的方法很多。
其中一种方法是以下方法创建时间维度表:

日期表 = 
    VAR startdate = DATE(2020, 1, 1)
    VAR enddate = DATE(2030, 12, 31)
    RETURN
    ADDCOLUMNS(
        CALENDAR(startdate, enddate),
        "年份", YEAR([Date]),
        "季度", "Q" & FORMAT([Date], "Q"),
        "月份", MONTH([Date]),
        "月份名称", FORMAT([Date], "MMMM"),
        "星期几", SWITCH(WEEKDAY([Date], 2),1,"周一",2,"周二",3,"周三",4,"周四",5,"周五",6,"周六",7,"周日"),
        "是否周末", IF(WEEKDAY([Date], 2) > 5, "是", "否")
)

指定好相应的范围就可以自动生成对应的数据。
视频里用的是另外一种方法:

日期表 = CALENDARAUTO()

这个首先会创建一个有一个字段date的时间表。然后可以再根据此字段,创建其它字段比如YEAR, MONTH, DAY等。

跟周WEEK相关函数的使用

然后通过WEEKNUM创建日期属于第几周。

第几周 = WEEKNUM('日期表'[Date])

接下来计算在周里的第几天,着重讲了下WEEKDAY函数的第二个参数,取值为1和2的区别,1是以周日为一周的第一天,2是以周一为一周的第一天。这个来自于东西方使用习惯的差别。

周几 = WEEKDAY('日期表'[Date],2)

周环比和同比的计算

视频时间点:15:20
因为是周报,而且左侧提供了月份的筛选,所以环比就涉及到一个问题。比如一个月的最后一周可能只有两天,这样拿这一周的数据对比上一周的数据是没有意义的,所以这里要实现的效果是,这一周有几天,那么就跟前一周对应的天做对比。

周环比金额 = CALCULATE([销售额], DATEADD('日期表'[Date], -7 DAY))

这里顺便提一下,同比的计算。

同比 = 
VAR CurrentValue = SUM('表名'[数值列]) 
VAR PreviousYearValue = CALCULATE( SUM('表名'[数值列]), SAMEPERIODLASTYEAR('日期表'[日期]) // 自动匹配去年同期 ) 
RETURN IF(PreviousYearValue = 0, 0, (CurrentValue - PreviousYearValue) / PreviousYearValue)

个人笔记:如果要按周来看数据的话,那么就应该避免按月去晒数据,不然就会像同比计算一样,总会有这样那样的歧义,

度量值的条件格式丰富数据的展现

视频时间点:31:15
右键度量值,选择条件格式,这里可以指定: