我正在从事一个我不具备资格的项目,尽管做了很多研究并尝试遵循教程,但我仍然坚持我的队列分析。
我正在尝试创建一个矩阵,显示每个队列中活跃客户数量随时间的发展情况,如下文所示。 https://medium.com/@ramzaftab/learn-how-to-build-cohort-analysis-using-power-bi-b13a38e80e9d
对于行,我有 Calendar_table[Month & Year]。日历表与订阅表是一对多的关系。
对于列,我正在尝试使用 几个月后 = GENERATESERIES(0,11,1)
Attempt1 =
VAR CohortStartMonth =
SELECTEDVALUE ( Subscriptions_export[Join Month] )
VAR CurrentMonth =
EOMONTH ( CohortStartMonth, SELECTEDVALUE ('Months After'[Value]))
RETURN
CALCULATE (
COUNTROWS ( VALUES(Subscriptions_export[Customer ID])),
Subscriptions_export[CreatedatAtDate EOM] = CurrentMonth)
Attempt2=
CALCULATE(
VAR minDate = MIN(Subscriptions_export[Join Month])
VAR maxDate = CALCULATE(MAX(Subscriptions_export[Exit Month]), NOT(ISBLANK(Subscriptions_export[Exit Month])))
RETURN
COUNTROWS(
FILTER(
Subscriptions_export,
Subscriptions_export[Join Month] >= minDate
&& Subscriptions_export[Exit Month] <= maxDate
)
)
)
当我尝试使用度量创建矩阵时,尝试 1 仅显示时间 0 的一列,而尝试 2 为每一行中的所有“几个月后”显示相同的数字(时间 0 的值)。
这是 pbix 文件的剥离版本(出于数据隐私原因)。 https://drive.google.com/file/d/1sB9Btvl2Fx1P26cfyROtZAilkzln_Q6i/view?usp=drive_link
有人可以帮助我吗?
尝试这个(它不需要表上有任何计算列)。
Attempt3 =
var sDate = EOMONTH(MAX('Calendar_table'[Dates]), 0)
var eDate = EOMONTH(sDate, SELECTEDVALUE('Months After'[Value]))
return
CALCULATE(
DISTINCTCOUNT('Subscriptions_export'[Customer ID]),
REMOVEFILTERS('Calendar_table'),
EOMONTH('Subscriptions_export'[Created at], 0) = sDate &&
(
EOMONTH('Subscriptions_export'[Cancellation date], 0) >= eDate ||
ISBLANK('Subscriptions_export'[Cancellation date])
)
)