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] )
)
这将删除除指定列之外的所有筛选器上下文。
目标是让功率枢轴 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] )
)
这将删除除指定列之外的所有筛选器上下文。