Power BI 之 DAX上下文

上下文为何物

1、Power Pivot 是什么?
Power Pivot 是一种数据建模技术,用于创建数据模型,建立关系,以及创建计算。
2、Power Pivot 与 上下文的关系是什么?
Power Pivot 中的公式受到在数据透视表中应用的筛选器、表之间对的关系以及公式中使用的筛选器的影响。它们之间运作的桥梁是上下文,通过上下文执行动态分析。
3、上下文有哪些?
在这里插入图片描述

DAX查询上下文

查询上下文是指为公式隐式检索的数据子集。 将度量值或其他值字段放入数据透视表中的单元格时, Power Pivot 引擎会检查行和列标题、切片器以及报表筛选器以确定上下文。 然后,Power Pivot 引擎会进行必要的计算,以填充透视数据表中的每个单元格。 检索的数据集是各单元格的查询上下文。

DAX行上下文

1、定义:
当再计算列中创建公式时,该公式的行上下文将包括来自当前行中所有列的值。 如果该表与其他表相关,则上下文还包括来自该其他表中与当前行相关的所有值。行上下文自动遵循表之间的关系,以便于确定相关表中哪些行与当前行相关联。
2、须知:

  • 行上下文标识当前行,仅仅用于迭代,不会筛选任何数据,也不会自动利用关系。
  • 在当前的行上下文中,可以通过RELATED 和 RELATEDTABLE函数利用关系,以获取相关联表中得数据。
  • 行上下文存在于计算列或迭代函数中,没有其他方法可以创建行上下文,计算列和迭代函数会自动创建行上下文。

3、计算列的过程:

  • DAX从表中的第一行开始迭代,首先创建了包含该行的行上下文并对表达式求值;
  • 然后移到第二行,再次求出表达式;
  • 有多少行需要被计算,行上下文就创建了多少次。

迭代函数执行过程

  1. 第一步:过滤数据,函数中的参数数据表受到筛选上下文的影响,只返回过滤之后的数据行,用于确定迭代(逐行扫描)的表的范围。
  2. 第二步:执行迭代计算,函数中的参数表达式处于行上下文中。

DAX筛选上下文

定义:创建的度量值再筛选上下文中执行公式的计算,筛选上下文是对表应用过滤之后,数据被筛选方向后的上下文。由三部分构成:关系、查询上下文中的单元格(每行对应的列值)以及报表元素之间的交互构成的过滤,外部切片器组成的显式过滤。

  1. 关系:数据模型中创建的关系,筛选上下文自动使用关系。
  2. 查询上下文:在当前查询的上下文中,每行的列值也会作为过滤器。
  3. 外部切片器:在报表中设置切片器,是在查询上下文外部设置的过滤器。

本文来自个人在官方博客的学习和总结,链接 DAX上下文 贴出来了哈~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值