优化 DAX 在时间范围内具有 X 数量或更多数量
Optimizing DAX Has X Amount or More in Time Frame
我希望加快每次在页面上添加不同过滤器视图时需要一两分钟加载的计算速度。
基本度量仅计算连续 3 个月内的总登录次数,这符合预期。
TotalLoginsIn90 =
CALCULATE (
SUM ( [Logins] ),
DATESINPERIOD ( 'Calendar'[Date], LASTDATE ( Logins[Date] ), -3, MONTH )
)
我现在希望确定每个月登录次数超过 3 次的用户数量。
CustLoginIn90 =
CALCULATE (
SUMX ( DISTINCT ( Logins[Customer Number)] ), 1 ),
FILTER (
VALUES ( Logins[Cust Customer Number (Numeric)] ),
[TotalLoginsIn90] > 3
)
)
或
CustLoginIn90 =
CALCULATE (
DISTINCT ( Logins[Customer Number] ),
FILTER (
VALUES ( Logins[Cust Customer Number (Numeric)] ),
[TotalLoginsIn90] > 3
)
)
每一个都需要很长时间来计算,但最终得到正确的数量。
有什么方法可以加快这些措施吗?
感谢您的帮助!
我建议将 TotalLoginsIn90
作为计算列而不是度量,这样它只需要计算一次(每次报告刷新)。
TotalLoginsIn90 =
CALCULATE (
SUM ( [Logins] ),
DATESINPERIOD (Logins[Date], Logins[Date], -3, MONTH)
)
这还允许您为 CustLoginIn90
度量编写一个非常简单的条件:
CustLoginIn90 = SUMX(Logins, IF(Logins[TotalLogins90] > 3, 1, 0))
我希望加快每次在页面上添加不同过滤器视图时需要一两分钟加载的计算速度。
基本度量仅计算连续 3 个月内的总登录次数,这符合预期。
TotalLoginsIn90 =
CALCULATE (
SUM ( [Logins] ),
DATESINPERIOD ( 'Calendar'[Date], LASTDATE ( Logins[Date] ), -3, MONTH )
)
我现在希望确定每个月登录次数超过 3 次的用户数量。
CustLoginIn90 =
CALCULATE (
SUMX ( DISTINCT ( Logins[Customer Number)] ), 1 ),
FILTER (
VALUES ( Logins[Cust Customer Number (Numeric)] ),
[TotalLoginsIn90] > 3
)
)
或
CustLoginIn90 =
CALCULATE (
DISTINCT ( Logins[Customer Number] ),
FILTER (
VALUES ( Logins[Cust Customer Number (Numeric)] ),
[TotalLoginsIn90] > 3
)
)
每一个都需要很长时间来计算,但最终得到正确的数量。
有什么方法可以加快这些措施吗?
感谢您的帮助!
我建议将 TotalLoginsIn90
作为计算列而不是度量,这样它只需要计算一次(每次报告刷新)。
TotalLoginsIn90 =
CALCULATE (
SUM ( [Logins] ),
DATESINPERIOD (Logins[Date], Logins[Date], -3, MONTH)
)
这还允许您为 CustLoginIn90
度量编写一个非常简单的条件:
CustLoginIn90 = SUMX(Logins, IF(Logins[TotalLogins90] > 3, 1, 0))