回忆是一座桥
却是通往寂寞的牢

原理篇

26、理解VAR变量-夕枫 | 笔绘人生

26、理解VAR变量

  VAR变量可以在任意计值环境进行定义,并且它仅在定义时的计值环境里计算一次,在后续的引用中都不再计算,因此VAR变量其实是个常量,但为了与别的资料兼容,因此仍然称呼其为变量。   通过VAR变量,...

夕枫评论(0)

25、理解行上下文转换-夕枫 | 笔绘人生

25、理解行上下文转换

  在之前的文章中已经详细介绍了筛选上下文,相信大家对筛选上下文已经有了深刻的理解。那么在这个基础上学习行上下文转换将会非常简单,只需要将行上下文转换的规则搞明白,立刻就可以使用筛选上下文的相关知识,从而把行上下文与筛选...

夕枫评论(1)

24、理解行上下文嵌套-夕枫 | 笔绘人生

24、理解行上下文嵌套

  在上篇文章里,已经介绍了行上下文的真正指代:“ 表中各列在某一行的索引标记的集合 ”,并且给出了对行上下文的最佳理解方式:“ 忽略DAX引擎内部对行上下文的转换与处理,直接把行上下文简单理解成正在计算的当前行的所有数...

夕枫评论(0)

23、理解行上下文-夕枫 | 笔绘人生

23、理解行上下文

  在Excel里,数据是以单元格的形式存储的,所以我们能够很方便的引用每一个值。但在DAX中,数据存储的最小单位是列,因此要想具体引用某个值就需要告诉DAX引擎:要引用的值位于哪个列的哪一行。其中,列由我们自己指定,而...

夕枫评论(0)

22、理解ALLEXCEPT函数-夕枫 | 笔绘人生

22、理解ALLEXCEPT函数

  本篇文章将介绍ALLEXCEPT函数的使用,ALLEXCEPT函数的使用频率没有ALL函数高,但在某些情况下却是很有用的。当我们需要移除多个筛选器并保留少数筛选器时,使用ALLEXCEPT函数能够大大减少代码的书写量...

夕枫评论(0)

21、理解ALLCROSSFILTERED函数-夕枫 | 笔绘人生

21、理解ALLCROSSFILTERED函数

  ALLCROSSFILTERED函数一般不常用,因为在一般情况下可以使用ALL函数来代替,但是在某些较特殊的模型和应用场景中,ALLCROSSFILTERED函数的作用就显得很重要了。因此,本篇文章将对ALLCROS...

夕枫评论(0)

20、理解ALL函数-夕枫 | 笔绘人生

20、理解ALL函数

  本篇文章将介绍ALL函数的所有用法与细节,ALL函数是DAX的核心函数之一,它让我们能够自由地移除筛选器,是一个非常重要的函数,因此我们要彻底掌握ALL函数的每一处细节。   ALL函数的语法结构...

夕枫评论(0)

19、扩展表原理-夕枫 | 笔绘人生

19、扩展表原理

  本篇文章将介绍DAX中最重要的一个原理,那就是扩展表原理。如果说数据模型是DAX的灵魂,那么扩展表原理就是数据模型的基石。扩展表原理非常重要,但这并不是体现在它的功能性作用上,它的真正意义是能够让我们彻底理解筛选器在...

夕枫评论(0)

18、案例-关键字筛选-夕枫 | 笔绘人生

18、案例-关键字筛选

  到目前为止,我们已经介绍了不少的知识点,但都以原理居多,所涉及到的函数比较少,而且介绍函数时也没有结合具体的案例来介绍,大都只讲计值流程与注意事项去了。因此,本篇文章将介绍一个小案例,用来串联之前学过的内容。 &em...

夕枫评论(0)

17、理解IF与SWITCH-夕枫 | 笔绘人生

17、理解IF与SWITCH

  本篇文章将介绍IF与SWITCH函数的各种用法,这两个函数属于逻辑函数,虽然比较简单,但却是不可或缺的。   IF函数 语法: IF( <logical_test> , <val...

夕枫评论(0)

16、理解VALUES与DISTINCT-夕枫 | 笔绘人生

16、理解VALUES与DISTINCT

  本篇文章将介绍VALUES与DISTINCT这两个函数的使用与注意事项,它们都属于DAX的核心函数,因此这两个函数的每一处细节最好都要掌握。   先来看一下本篇文章要用到的数据与数据模型,如下图所...

夕枫评论(0)

15、常用迭代函数详解-夕枫 | 笔绘人生

15、常用迭代函数详解

  本篇文章将详细介绍常用迭代函数的计值流程与各种细节。迭代函数在DAX中是很重要的一类函数,这类函数就类似于编程语言里的循环体,在计算中常常充当发动机的角色,其重要性不言而喻。此外,筛选器的其中一种重要来源就是由行上下...

夕枫评论(1)

14、理解CALCULATE与CALCULATETABLE-夕枫 | 笔绘人生

14、理解CALCULATE与CALCULATETABLE

  本篇文章将介绍CALCULATE与CALCULATETABLE这两个函数的完整计值流程,这两个函数是DAX中最强大也是最重要的函数,它让我们拥有了任意修改筛选上下文的能力。但是,通常某个东西的功能越强大,也意味着这个...

夕枫评论(0)

13、深入理解筛选上下文-夕枫 | 笔绘人生

13、深入理解筛选上下文

  本篇文章将介绍固化筛选器与标准筛选器以及固化筛选器之间的交互行为,并简单介绍一下复杂筛选还原现象,最后对筛选上下文的修改方式做一点讨论。   固化筛选器需要筛选多个列,通常是由表转化而来。由于目前...

夕枫评论(0)

12、理解筛选上下文-夕枫 | 笔绘人生

12、理解筛选上下文

  在之前的文章中我们了解到:” 多个筛选器经过交互后可以合并成一个筛选器组合,然后该筛选器组合再去筛选模型中的数据,最后模型中各个表的可见数据组成了当前计值环境里的筛选上下文 “。因此,我们只需要把下面这两个过程搞清楚...

夕枫评论(0)

11、初识CALCULATE与CALCULATETABLE-夕枫 | 笔绘人生

11、初识CALCULATE与CALCULATETABLE

  为了更好地介绍筛选器之间地交互行为,我们需要一些前置知识。所以,本篇文章将介绍CALCULATE与CALCULATETABLE函数的初步应用,等介绍完筛选上下文的全部内容后,再继续深入介绍这两个函数。这两个函数是DA...

夕枫评论(0)

10、了解筛选上下文-夕枫 | 笔绘人生

10、了解筛选上下文

  上篇文章我们已经初步了解了筛选上下文的定义与生成方式,以及初始筛选器等内容。为了更好地掌握筛选上下文,那么本篇文章将介绍筛选器的相关内容,主要就是介绍筛选器的表示形式与在表间关系上的传递过程,并简单介绍下两种计值上下...

夕枫评论(0)

09、初识筛选上下文-夕枫 | 笔绘人生

09、初识筛选上下文

  DAX的计值环境是由数据模型、筛选上下文以及行上下文所构成的,而DAX表达式的整个计值流程都依赖于计值环境。因此,对计值环境的理解决定着你对DAX的掌握程度,可见计值环境的重要性。那么本篇文章就将带领你们初步认识筛选...

夕枫评论(0)