使用 DAX 的事实中的 MAX 日期

MAX Date in Facts using DAX

我有一个事件事实 table,它通过 date_key 与日期维度相关,通过 event_key 与事件类型维度相关(我使用 SSAS 表格模型)。

我想在事实 table 中获取事件类型 = "NewEvent" 的 最大日期 ,但我需要日期格式而不是 date_key.我试过了,它没有过滤正确的日期。

Last Event Date:= 

VAR EndDateKey =
    IF (
        MAX ( 'Date'[key Date] )
            > MAX ( 'Event'[Key Event Date]),
        MAX ( 'Event'[Key Event Date]),
        MAX ( 'Date'[key Date] )
    )

VAR StartDateKey =
    IF (
        MIN ( 'Date'[key Date] )
            < MIN ( 'Event'[Key Event Date] ),
        MIN ( 'Event'[Key Event Date]),
        MIN ( 'Date'[key Date] )
    )

RETURN CALCULATE(MAX('Date'[Date]), FILTER('Event Type',  'Event Type'[Event Type] = "NewEvent"), FILTER(VALUES('Event'[Key Event Date]), 'Event'[Key Event Date] <= EndDateKey && 'Event'[Key Event Date]>= StartDateKey))

但是如果我用这个替换它,我可以获得正确的最大日期,但它是 date_key 格式:

RETURN CALCULATE(MAX(**'Event'[Key Event Date]**), FILTER('Event Type',  'Event Type'[Event Type] = "NewEvent"), FILTER(VALUES('Event'[Key Event Date]), 'Event'[Key Event Date] <= EndDateKey && 'Event'[Key Event Date]>= StartDateKey))

我该怎么做?对不起 DAX 新手。

您可以使用 MAXX 函数迭代事件 table,然后通过 RELATED 函数查找日期。我认为您不需要所有其他开始日期和结束日期关键内容。

Last Event Date:= 
CALCULATE(
 MAXX(
  'Event',
  RELATED('Date'[Date])
 ),
 'Event Type'[Event Type] = "NewEvent"
)