在DAX中利用MAX或MAXX函数获取最新数据

您所在的位置:网站首页 查找最大值函数怎么求和 在DAX中利用MAX或MAXX函数获取最新数据

在DAX中利用MAX或MAXX函数获取最新数据

2024-07-11 12:27| 来源: 网络整理| 查看: 265

MAX函数和MAXX函数是一对具有相同运算意义的聚合函数和迭代函数。

MAX函数的定义如下:

函数语法 1: MAX() 函数语法 2: MAX(, ) 参数: column(列): 需要进行求和运算的数字列或者日期列,该列可以是原始列,也可是计算列。expression(表达式):任何可以返回唯一数字或者日期的表达式。返回值:数字或日期。说明:如果参数列中没有数字或者日期,MAX函数的返回值是空。包含非数字类型数据,则返回指是空。当对两个表达式的返回值进行比较时,如果某一个表达式的返回值为空,则当做数字0进行比较。如果两个表达式的计算结果都为空,则MAX返回空。

MAX函数的运算过程以及特点与SUM函数一样,都不受行上下文影响。如果想让MAX函数依据行上下文内容进行计算,就需要再其外围添加CALCULATE函数将行上下转换成筛选上下文,或者在度量值中使用MAX函数。

MAXX函数定义:

函数语法: MAXX(, ) 参数: table(表):第二部分表达式需要计算的表单。该表单可以是一个原始数据表单,也可以是一个通过函数计算过后生成的表单。expression(表达式):对第一部分表单中每一行进行计算的表达式。返回值:数字或者日期。说明:MAXX函数会忽略对空值,逻辑值或者文本值的比较。

MAXX函数的运算过程和特点与SUMX一样,绝大多数情况下都在度量值当中进行使用。如果想让MAXX的计算结果受到行上下文印象,可以通过对参数表单添加过滤条件来实现。

MAX函数或MAXX函数除了运用在对数字进行比较的场景中外,其最常见的应用实例是按照某一特定要求获取最新数据。例如下图是一张客户购买产品的记录信息。由于购买时间不同,客户购买某种商品所花的价格也不尽相同。如果想知道客户最近一次购买某种产品是该产品的单价就可以利用MAX来实现。 这里写图片描述 创建一个Measure利用MAX函数获取客户最近一次消费日期:

Latest_Date = MAX(Customer[Date])

创建另外一个Measure利用最后一次消费时间获取与之对应的产品单价

LatestPrice = LOOKUPVALUE(Customer[Unit Price],Customer[Date],MAX(Customer[Date]))

这里写图片描述

能否不创建上一个LatestPrice Measure直接获得与最新销售日期对应的产品单价呢?可以试一下,去掉LatestPrice列,直接添加Unit Price。 这里写图片描述 从PowerBI的返回结果看,Unit Price做了一个汇总计算,将Customer和Product值相同的数据的Unit Price进行了求和运算。之所以有这样的结果是因为当前的Unit Price是原始计算列,添加到表中只能做简单的汇总运算,无法根据当前筛选上下文设定进行动态计算。因此,直接添加Unit Price是无法满足要求的。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3