- 博客(20)
- 收藏
- 关注
原创 SUMMARIZE函数
如果你在报表里放了一个**日期切片器**,选了 1 月份,那么 SUMMARIZE 的第一参数 `生产明细` 会被自动筛选成只有 1 月的数据,然后基于 1 月的数据去重求和。如果直接 `SUM(产量)`,会得到:100+100+100+200+200 = **700** ❌(错误)。**问题**:产品 X 的产量明明是 100,但在表中因为物料明细重复出现了 3 次。SUMMARIZE 会按你指定的列**分组**,每组只留**一行**。- **SUMMARIZE = 按列分组 + 去重**
2026-02-25 14:33:55
361
原创 表构造器(Table Constructor)
本节课我们学习了Power BI中的**表构造器**(Table Constructor),它是一种通过大括号 `{}` 直接创建表的语法,可以用于生成物理表或虚拟临时表。这里 `{ "小家电", "数码电子" }` 就是一个临时构建的一列表,`IN` 操作符判断 `产品类别` 是否存在于该临时表中。- 例如:`表构造器练习 = { ("张三",20), ("李四",21), ("王五",30) }`- **特殊情况**:如果表只有**一列**,可以省略小括号,直接在大括号内用逗号分隔各行。
2026-02-25 14:30:25
369
原创 数据沿袭与TREATAS函数
* 目标表没建立关系,但通过TREATAS借了产品表的血统,正确筛选出了每个类别的目标额。| 服装 | 200 | 120 || 食品 | 150 | 90 || 小家电 | 100 | 80 |**2. 销售表**(与产品表通过产品ID关联)- **值**:[实际销售额]、[销售目标]| 产品类别 | 实际销售额 | 销售目标 |**3. 目标表**(独立导入,无关系)- **行**:目标表[产品类别]
2026-02-24 15:45:53
57
原创 父子层级占比计算
父子层级占比 =SWITCH (TRUE (),// 情况1:当前是省份层级ISINSCOPE ( '区域表'[省份] ),DIVIDE ([总销售额],CALCULATE ( [总销售额], ALL ( '区域表'[省份] ) )),// 情况2:当前是大区层级ISINSCOPE ( '区域表'[大区] ),DIVIDE ([总销售额],CALCULATE ( [总销售额], ALL ( '区域表'[大区] ) )
2026-02-24 11:30:22
298
原创 时间智能函数DATESINPERIOD()
老师讲了一大段,其实核心只有一句:👉DATESINPERIOD 永远包含“起点日期”不包含最早端包含当前日期包含当前日期不包含最远端这节课其实就是在教你:👉如何用 DATESINPERIOD 写动态移动平均它生成的日期区间一定包含当前日期。
2026-02-06 15:28:22
380
原创 RANKX /TOPN
1️⃣RANKX:一二做表,三做比较2️⃣RANKX 的第三参数,永远只在“外部筛选上下文”计算3️⃣TOPN 返回的是“表”,真正决定显示的是后面的 CALCULATE + INTopNTable到底算出了什么?
2026-01-29 10:37:17
691
原创 移动平均(Moving Average)
VALUES ( '日历'[日期] ),'日历'[日期] >= x - 30,AVERAGEX ( y, [销售额] )'日历'[日期] < x。MAX ( '日历'[日期] )移动平均30天销售额 :=
2026-01-28 11:08:03
98
原创 HASONEVALUE/SELECTEDVALUE
一句话先记住结论(先给答案)👉“我只想知道现在是不是只选了一个值”(判断用)👉“如果只选了一个值,把它直接拿出来给我用”(取值用)
2026-01-26 17:00:52
295
原创 ADDCOLUMNS / SELECTCOLUMNS
在“原表基础上加一列”我要在一张已有表上,临时多算一列出来用虚拟表里的列 = 已算好的结果度量值 = 每次引用都会重新算“能用虚拟列,就别再用度量值”1️⃣我是不是在“一行一行地算东西”?→ 用2️⃣我是不是在“对一张表做聚合(MAXX / SUMX)”?→优先引用虚拟表里的列。
2026-01-26 16:34:57
257
原创 如何理解PowerBI中:如果外部有行上下文转换的筛选条件,外部筛选条件首先与这个转换后的筛选条件合并,这里需要注意的是,但是这个行上下文转换的筛选条件不影响筛选参数的计算。
"行上下文自动变成的筛选条件,会在最后与其他条件合并,但不会影响CALCULATE内部筛选参数自身的计算过程。可以这样想:行上下文转换的条件是"免费赠送"的筛选条件,它们一直存在,但CALCULATE内部的函数(如ALL、VALUES、FILTER等)在计算时可能忽略它们。
2025-12-22 14:23:33
435
原创 MYSQL CHAPTER7
假设我们想把order表分成两个组别,如果是今年的订单就放在“Active”里,不然就放在“Archived”里。之前学习过用Union运算符合并结果,现在用IF函数(IF(expression,first,last))。在学完上面的IF之后,如果我们有好几个表达式需要测试怎么办?如果DATEDIFF后面接的两个日期值对调,则会得到-4。且这个函数只返回天数的间隔,而不是小时或分钟。以上为日期函数,时间函数同理。练习:得到当年下的订单。
2024-01-02 16:17:11
857
1
原创 论文修改建议
4、48页收入构成明细表,为什么22年的收入下降那么多,而5.2.1的标题是业绩增长显著,这两者是不是有冲突,补充解释。1、2.2,尤其是其中的2.2.3,不是理论基础,更像是制度背景,建议单独在级别2中再加一个,这样以来第二章标题改为相关概念、制度背景与理论基础。2、第二章中,2.1和2.2可以合并,标题叫概念界定,之后两节分别是文献综述与理论基础,第二章题目依此可以改一下。4、5.4风险分析,内容基本都是延伸,这部分放在第五章不太合理,比如政治上可能性的风险,放在建议部分更好些。
2024-01-02 15:41:30
524
1
原创 MYSQL CHAPTER6
注意,使用EXISTS和使用IN的区别在于,使用IN时,MySQL会执行子查询并将结果返回到WHERE,而当IN()后面接的customer_id的数量达到成千上万时,会妨碍最佳性能,此时用EXISTS运算符能提高效率。以上查询的运算逻辑是,首先会来到员工表,对每位员工执行这段子查询,计算同一个部门员工的平均工资,然后如果这名员工的工资高于平均值,这名员工就会被返回在最终结果里。之前我们学习的子查询都是非相关子查询,当子查询里没有外查询的引用同时和外查询无相关性时,MySQL只会执行一次这个子查询。
2023-12-21 15:21:38
843
原创 Python 1.2 Python基础语法
方式三:使用type()语句,查看变量中存储的数据类型信息。以上得到的输出结果均为:string_type=type(”饱饱“)输出结果为: 11。输出结果为: 11。方式二:用变量存储type()语句的结果。方式一:使用print直接输出类型信息。print(type(”饱饱“))name=type(”饱饱“)
2023-12-20 20:28:06
491
原创 Python 1.1
Python解释器功能:将Python代码翻译成二进制告知计算机。 在安装Python环境时,必须勾选”Add Python to PATH“。 安装Python环境本质上就是在电脑中安装Python解释器程序。 Python安装目录中的“Python.exe”就是Python解释器。 验证Python环境是否安装完成:点击电脑桌面左下角,搜索cmd(或者使用win+r快捷键,在弹出的运行框内输入cmd),弹出命令提示符,输入Python,按键回车,如果能够看到Python的版本,则表明Python
2023-12-20 17:09:31
454
原创 MYSQL CHAPTER5
当SQL查询语句中除了聚合函数外选择了多个字段,在GROUP BY 的时候都要加上,道理很简单,如果只用多个字段中的一个字段作为分组的依据,那么剩下的字段仍然无法与聚合函数之间构成有明确合理的关联。要注意,ROLLUP仅仅在MySQL中有,这不是一个标准的SQL语言,所以你无法在SQL Server或者Oracle里执行这个查询。WITH ROLLUP会让我们额外得到一行,汇总整个结果集。另外,ROLLUP只能用于聚合值的列。
2023-12-20 13:01:40
905
原创 MYSQL CHAPTER4
在一个表中,如果某个列被设置为自动递增,每次在该表插入一条新记录时,这个列的值会自动增加,LAST_INSERT_ID ( ) 将会返回刚插入行的自动生成的自增值。由于这列的自动递增属性被启用了,如果不提供任何值,MySQL就会自动生成一个唯一值,因此要不就使用确切值,比如200,要不就用默认值DEFAULT让MySQL自己生成这个值。但当用设计模式打开创建出的新表时会发现,这张表没有主键,而且也没有标记自动递增列,因为用以上代码创建时,MySQL会自动忽略这些属性。:自动递增,通常被用在主键列。
2023-12-12 15:00:49
879
原创 MYSQL CHAPTER3
SQL有LEFT JOIN和RIGHT JOIN两个外连接,使用LEFT JOIN时,所有左表的记录,也就是customers,会被返回,不论条件c.customer_id=o.customer_id正不正确,此时我们会得到所有的customer。以上得到的结果中只显示有order的customer,而当我们想看到所有的customer,不论他们有没有order时,应该怎么做?真正用到交叉连接的案例是,当下有一个型号表(小中大),还有个颜色表(红蓝绿),现在要把所有的型号跟所有的颜色结合。
2023-12-08 15:32:48
962
原创 MYSQL CHAPTER2
第一行的customer_id左侧的黄键表示此列为这张表的主键列,该列的值要能够唯一识别表里的记录。这张表默认以customer_id进行排序。正确表达为WHERE state=’VA’ OR state=’GA’ OR state=’LA’否,SQL中不能将字符串同Boolean表达式结合。此时页面可以操作任意列的增删改。
2023-12-07 10:29:16
1000
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅