枫言枫语 - BI the way枫言枫语

人生没有彩排
每一天都是现场直播

最新发布

PowerBI Free账号域名切换 - 枫言枫语
INFO

PowerBI Free账号域名切换 【重要通知】

TOP

各位小伙伴大家好, 首先告诉大家一个消息,我博客的域名现在已经切换至:www.ximaple.com 原来的域名虽然能够自动重定向,但在之后将彻底关闭,之前收藏了的小伙伴可能需要更新一下收藏夹。 另外就是本次通知的重点了:之前开放给大家学习...

夕枫

PowerBI计算组的选择表达式的应用 - 枫言枫语
PowerBI

PowerBI计算组的选择表达式的应用

NEW

前言 PowerBI的计算组是一个很强大的功能,它能够批量更改度量值的计算逻辑,并提供了动态数据格式功能,能够帮助我们实现许多技巧,在某些场景下具有不可代替的作用。而在2025年5月18日的更新中,计算组又迎来了一次增强,新增的选择表达式能...

夕枫

45、理解GENERATE函数 - 枫言枫语
PowerBI

45、理解GENERATE函数

GENERATE函数也可以生成笛卡尔积组合,但与CROSSJOIN函数不同的是,GENERATE函数可以根据不同行来与不同的表产生笛卡尔积。 语法和作用 语法:GENERATE ( Table1, Table2 ) 作用:对Table1的每...

夕枫

44、理解CROSSJOIN函数 - 枫言枫语
PowerBI

44、理解CROSSJOIN函数

CROSSJOIN函数可以生成多个表的笛卡尔积组合,经常被用于模拟视觉对象的计值环境,以及处理明细正确但总计不正确等场景。 语法和作用 语法: CROSSJOIN ( table1, table2, [tableN... ] ) 作用:返回...

夕枫

43、理解TOPN函数 - 枫言枫语
PowerBI

43、理解TOPN函数

TOPN函数也是必须掌握的函数,它可以返回指定表按指定条件进行排序后的前N行,经常用于计算头部产品或客户等分析场景。 语法和作用 语法: TOPN(n_value, table, orderBy_expression, [order[, o...

夕枫

42、理解RANKX函数 - 枫言枫语
PowerBI

42、理解RANKX函数

RANKX函数是DAX函数中的核心函数之一,可以用来对数据进行排名,虽然有些窗口函数也可以实现排名,但RANKX仍然是必须要掌握的函数。 语法和作用 语法: RANKX(table, expression[, value[, order[,...

夕枫

41、理解SELECTEDVALUE函数 - 枫言枫语
PowerBI

41、理解SELECTEDVALUE函数

SELECTEDVALUE函数也是使用频率比较高的一个函数,经常用于获取切片器或矩阵行列标签等筛选器中被筛选的单个值。 语法和作用 语法: SELECTEDVALUE(columnName[,alternateResult]) 作用:如果指...

夕枫

40、理解HASONEFILTER函数 - 枫言枫语
PowerBI

40、理解HASONEFILTER函数

HASONEFILTER函数与HASONEVALUE函数基本一模一样,唯一区别就在于,HASONEVALUE函数考虑的是交叉筛选,而HASONEFILTER函数只考虑其参数所指定列的直接筛选,除此之外,它们的行为全都一致。 语法和作用 语法...

夕枫

39、理解HASONEVALUE函数 - 枫言枫语
PowerBI

39、理解HASONEVALUE函数

HASONEVALUE函数的使用频率也很高,它可以判断指定列的可见数据去重后是不是只有一个值,经常用于判断矩阵所处的层级,以及作为将表当作标量值来使用时的保护机制。 语法和作用 语法:HASONEVALUE(columnName) 作用:如...

夕枫

38、理解SELECTCOLUMNS函数 - 枫言枫语
PowerBI

38、理解SELECTCOLUMNS函数

SELECTCOLUMNS函数与ADDCOLUMNS函数非常类似,SELECTCOLUMNS函数也是迭代表的每一行并计算所给的表达式,最后给表添加新列,但它最终只返回新添加的派生列,而不会返回原有列。 语法和作用 语法: SELECTCOL...

夕枫

37、理解ADDCOLUMNS函数 - 枫言枫语
PowerBI

37、理解ADDCOLUMNS函数

ADDCOLUMNS函数是一个表函数,同时也是迭代函数,它会像计算列一样,迭代表的每一行并计算所给的表达式,最后给表添加一个新列。 语法和作用 语法: ADDCOLUMNS(table_expression, name, expressio...

夕枫

PowerBI的“值筛选行为”功能的介绍 - 枫言枫语
PowerBI

PowerBI的“值筛选行为”功能的介绍

前言 在2024年10月,PowerBI更新了一个名为“值筛选行为”的功能,目的是为了修复Auto-Exists机制中的Bug。但由于海量的报表已经运行在这个Bug的基础之上,影响范围过大,且Bug的行为相对稳定可重复,已经逐渐演变成了一个...

夕枫

PowerBI中度量值所处的计值环境研究 - 枫言枫语
PowerBI

PowerBI中度量值所处的计值环境研究

前言 在前面介绍自动匹配原理的文章中,有提到Auto-Exists机制本身就存在Bug,那么本篇文章就来探讨一下这个问题,而这个问题其实就是对度量值所处的计值环境的研究。 这个Bug其实PowerBI官方也是清楚的,但由于海量的报表已经运行...

夕枫

36、理解自动匹配(Auto-Exists) - 枫言枫语
PowerBI

36、理解自动匹配(Auto-Exists)

自动匹配(Auto-Exists)是DAX引擎的一个优化机制,主要目的是为了剔除无效运算来提升计算速度。但自动匹配的优化机制除了会影响底层实现外,它还会对计值环境造成影响,如果不理解这个机制的话很容易就会出现错误,特别是这个优化机制本身就存...

夕枫

35、理解数据沿袭 - 枫言枫语
PowerBI

35、理解数据沿袭

数据沿袭(Data Lineage)是一个很重要且设计很巧妙的特性,它决定了各种筛选器能否筛选模型中的数据,以及使用什么姿势来筛选。同时,DAX引擎以一种自然且直观的方式来处理数据沿袭的复杂性,在编写表达式时通常不需要考虑它,以至于大多数用...

夕枫

34、交叉筛选和直接筛选 - 枫言枫语
PowerBI

34、交叉筛选和直接筛选

当某个表或字段被筛选时,其被筛选的原因或类型可以分为两种,即交叉筛选和直接筛选。理解清楚交叉筛选和直接筛选的概念和区别,可以有助于实现更细腻的操作和技巧。 交叉筛选与直接筛选的概念 当针对列时,如果这个列被筛选了,且出现筛选的原因是其自身列...

夕枫

33、循环依赖和主键 - 枫言枫语
PowerBI

33、循环依赖和主键

某个表达式在计算时如果引用了其他对象,则称之为依赖,有线性依赖与循环依赖两种。其中,循环依赖是不正常的依赖关系,当检测到循环依赖时会报错,而线性依赖则是正常的行为,并不会报错。 循环依赖指的是两个对象在计算时互相依赖,比如想要计算A就要先得...

夕枫

SQL案例 - 统计加班员工占比 - 枫言枫语
SQL

SQL案例 - 统计加班员工占比

描述 某公司员工信息数据及单日出勤信息数据如下: 员工信息表staff_tb(staff_id-员工id,staff_name-员工姓名,staff_gender-员工性别,post-员工岗位类别,department-员工所在部门),如下...

夕枫

SQL案例 - 统计各个部门平均薪资 - 枫言枫语
SQL

SQL案例 - 统计各个部门平均薪资

描述 某公司员工信息数据及员工薪资信息数据如下: 员工信息表staff_tb(staff_id-员工id,staff_name-员工姓名,staff_gender-员工性别,post-员工岗位类别,department-员工所在部门),如下...

夕枫