请参阅此处附加的 Power BI 模型文件。我有一个活动表,我想在折线图上绘制截至 X 轴日期在过去 365 天内活跃的用户数。
因此,我创建了一个日期表,但它不相关,因为该表的目的仅用于 X 轴或日期过滤,并且所有指标都是针对计算日期之前的 365 天计算的。
下面的 DAX 公式有效,但如果在 DAX Studio 中分析,X 轴中的每个日期都有一个存储引擎查询。这在我的实际模型文件中真的很慢,我正在寻求帮助来优化它。
Active Users =
var latestDate = MAX('Calendar'[Date])
RETURN
CALCULATE(
DISTINCTCOUNT('Activity Details'[Group User ID]),
ALL('Calendar'[Date]),
'Activity Details'[Event Date] <= latestDate,
'Activity Details'[Event Date] >= (latestDate - 365)
)
编辑
以下 DAX 公式仅查询存储引擎一次,但在公式引擎中花费的时间更多。
Active Users =
var latestDate = MAX('Calendar'[Date])
RETURN
CALCULATE(
SUMX(
SUMMARIZE(
'Activity Details', 'Activity Details'[Group User ID],
"Last Event", MAX('Activity Details'[Event Date])
),
1
),
ALL('Calendar'[Date]),
'Activity Details'[Event Date] <= latestDate,
'Activity Details'[Event Date] >= (latestDate - 365)
)