【问题标题】:MAX Date in Facts using DAX使用 DAX 的 MAX 日期
【发布时间】:2021-10-12 08:46:40
【问题描述】:

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

我想在 Event Type = "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 新手。

【问题讨论】:

  • 您能添加示例数据吗?您需要格式化的一些记录,源格式和所需的目标格式是什么?

标签: dax ssas-tabular


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-30
    • 2022-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-17
    • 1970-01-01
    相关资源
    最近更新 更多