Dax计算列,vlookup最大值

Dax calculated column, vlookup max value

目标是让功率枢轴 table 只显示与最后一个时间戳相对应的定价信息,所有必要的数据都在一个 table。

平时excel,我会尝试用vlookup解决问题。

我尝试了下面的计算列(以及其他列),但没有用。结果是它反映了该行的时间戳,而不是当天的最长时间,这样就无法在功率枢轴上提供所需的结果。

column =
CALCULATE ( MAX ( TabName[Effective Time] ), ALL ( TabName ), TabName[Result] )
    = MAXX (
        FILTER (
            TabName,
            EARLIER ( TabName[Effective Time] ) = TabName[Effective Time]
        ),
        TabName[Result]
    )

这是我正在寻找的输出示例。

对于蓝色涂料产品有两次,5:00 和 17:00。

它找到最晚的时间(17:00)并将其输出到计算列中。

然后重复获取每个产品的最新价格。

Date Effective Time Product Price Desired Calculated Column
7/13/2021 5:00 Blue Paint 2.00 17:00
7/13/2021 12:00 Green Paint 3.00 16:00
7/13/2021 17:00 Blue Paint 3.00 17:00
7/13/2021 16:00 Green Paint 2.00 16:00
7/13/2021 5:00 Red Paint 4.00 11:00
7/13/2021 11:00 Red Paint 4.00 11:00
Column = CALCULATE(MAXX('fact','fact'[Effective Time]),ALLEXCEPT('fact','fact'[Product]))

如果您需要按日期-产品分组的最大有效时间,请使用以下

Column = CALCULATE(MAXX('fact','fact'[Effective Time]),ALLEXCEPT('fact','fact'[Product],'fact'[Date]))

ALLEXCEPT 函数在这些情况下很方便:

Desired Calculated Column =
CALCULATE (
    MAX ( TabName[Effective Time] ),
    ALLEXCEPT ( TabName, TabName[Product], TabName[Date] )
)

这将删除除指定列之外的所有筛选器上下文。