1

请参阅此处附加的 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)
)
4

0 回答 0