ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索

Powerbi计值上下文和上下文转换

已有 37 次阅读2023-11-14 08:57 |个人分类:DAX| PowerBI, DAX, PowerBI, DAX

这半个月终于把DAX圣经中的计值上下文和calculate篇章详细地看完了,现在就我的理解和大家分享一下,书中的语言过于专业晦涩,以后关于上下文如果有新的总结再和大家分享

Powerbi中的上下文是指DAX运算时候所处的表、表行,所有的上下文统称为计值上下文,计值上下文分为行上下文和筛选上下文,以下是两种计值上下文的分别介绍
  1. 行上下文指在表中迭代所形成的上下文,因为计算列是在表中添加的,所以计算列天然自带行上下文,
  2. 筛选上下文指在是视觉对象、切片器等筛选结果所形成的上下文
上下文转换则比较复杂,calculate是dax中唯一一个可以创建筛选上下文的函数(包括calculatetable),它的第一参数为表或表表达式,其他参数为筛选器,所以calculate能将筛选上下文转换为行上下文从而进行交互计算。注意,上下文转换会生成笛卡尔积,所以尽量避免在大规模的数据中使用。
同时迭代函数和calculate是一种语法糖的关系,也就是说所有的迭代函数都是calculate的省略,所以在使用迭代函数的时候也会有上下文转换,为了避免上下文转换带来的运算负担,所以首先应该避免在较大的表格上进行上下文转换(无论是行还是列),其次要注意上下文转换中嵌套的上下文转换的基数,以免带来运算负担和运算错误。
另外书中针对上下文转换这个篇章讲了很多也讲的比较复杂,其实只要理解calculate有这样的一个特性就好了,然后再多理解其中的逻辑就不会被绕乱,但calculate本身还有其他特性我们在其他篇章再讲述

路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 免费注册

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-28 15:38 , Processed in 0.025028 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

返回顶部