首页 > 其他分享 >DAX:概述EARLIEST和EARLIER函数

DAX:概述EARLIEST和EARLIER函数

时间:2023-05-04 18:44:26浏览次数:32  
标签:Product 上下文 函数 DAX EARLIER 外层 EARLIEST UnitPrice

EARLIER函数用于访问外层行上下文,即使用外层行上下文,而不是最内层的行上下文检索列的值。

EARLIER(<column>, <number>) 
EARLIEST(<column>) 

注意:EARLIER函数的第二个参数是可选的,默认值是1,表示要跳过的层数,可以向外跳过2层或多层行上下文。EARLIEST函数直接访问最外层的行上下文。

自从变量出现之后,EARLIER函数的所有功能都可以通过变量来实现,并且更直观和高效。

举个例子,创建计算列,对产品的价格进行排序:

方法1:使用EARLIER函数实现Dense Rank,DAX的实现思路:

  • 计算列会创建最外层的行上下文,FILTER函数是迭代函数,会创建一个行上下文,这是内层行上下文。
  • 由于外层的行上下文不会筛选数据,因此,VALUES('Product'[UnitPrice])得到的是整个表的UnitPrice。
  • EARLIER('Product'[UnitPrice])访问外层行上下文,得到当前行的UnitPrice。
  • FILTER函数过滤,得到比当前行的UnitPrice大的所有数据行,计算其行数就得到当前行的UnitPrice的排名。
'Product'[UnitPriceRankDense] =
    COUNTROWS( FILTER( VALUES('Product'[UnitPrice]),'Product'[UnitPrice] > EARLIER('Product'[UnitPrice]))
        )

方法2:使用变量实现等价的Dense Rank:

'Product'[UnitPriceRankDense] =

VAR PriceOfCurrentProduct = 'Product'[UnitPrice]
VAR HigherPrices =  FILTER( VALUES('Product'[UnitPrice]), 'Product'[UnitPrice] > PriceOfCurrentProduct )
RETURN COUNTROWS(HigherPrices) + 1

 

 

参考文档:

标签:Product,上下文,函数,DAX,EARLIER,外层,EARLIEST,UnitPrice
From: https://www.cnblogs.com/ljhdo/p/17372068.html

相关文章

  • 171_DAX 按照维度计算累计值
    171_DAX按照维度计算累计值一、背景今天来看一个比较简单的案例,按照维度计算累计值。按照惯例,先看下结果。注意矩阵中标红的位置,年月是按照每年12个月累计,月份是按照......
  • 如何在Power BI DAX Studio 中测试验证行级别安全性和对象级别安全性
    行级别安全性可控制用户访问指定行,对象级安全性可控制用户访问指定的列和表。下面通过DAXStudio工具测试验证行级别安全性和对象级安全性的权限控制。01设置PowerBI中的......
  • 170_DAX & Power Query M 文档整理
    170_DAX&PowerQueryM文档整理一、背景最近和一些刚刚接触DAX、PowerQuery的朋友(就是买我课程同学[doge],这是硬广告,要问课程在哪里对吧?见文末。)聊到,希望能有一......
  • [LeetCode] 1101. The Earliest Moment When Everyone Become Friends
    Therearenpeopleinasocialgrouplabeledfrom 0 to n-1.Youaregivenanarray logs where logs[i]=[timestampi,xi,yi] indicatesthat xi and ......
  • DAX:LOOKUPVALUE 函数
    LOOKUPVALUE函数用于根据一个或多个搜索条件,从一个表中获取一个或0个值。LOOKUPVALUE运行在行上下文中,不需要两个表之间存在关系,搜索结果也不受过滤条件的影响。当两个表之......
  • DAX:GROUPBY函数
    DAX中的SUMMARIZE函数功能强大,但同时也很难使用。它可用于执行表之间的分组和连接,正如我们之前在分组数据一文中描述的那样。不幸的是,它在计算聚合值时存在一些众所周......
  • How to Change Reset Retrieve the WebLogic Server Administrator Password on WLS 1
    TochangetheAdministratorpasswordonWLS10.3.6orearlier,performthefollowingstepsdependingonyoursituation:IFYOUKNOWCURRENTPASSWORDStartthe......
  • [Google] LeetCode 1101 The Earliest Moment When Everyone Become Friends 并查集
    Therearenpeopleinasocialgrouplabeledfrom0ton-1.Youaregivenanarraylogswherelogs[i]=[timestampi,xi,yi]indicatesthatxiandyiwillbe......
  • DAX Studio 3 正式发布
    DAXStudio3 于今天发布。这个新的主要版本提供了新的用户界面和用户体验,提供了现代的外观和感觉,而不会丢失以前版本中提供的任何功能。相反,在DAXStudio3中,许多过去......