我的后端表具有周级别的数据。它包含当前ISO年份和当前ISO周,以及应与当前年份的数据进行比较的前一年的ISO年份和周数。
对于每个注册_iso_year-signup_iso_iso_week组合,只有一个iso_prev_year-iso_prev_yearweek组合。iso_prev_year、iso_prev_6yearweek列说明了由于某些年份具有53周而不是52周而可能发生的偏移。
数据表
(我不能嵌入图像,所以我在这里也添加了一个表,尽管它的信息比"数据表"中的图像少得多(。
Number_of_signup | signup_iso-year | iso_prev_year | iso_prev_6yearweek | 国家||
---|---|---|---|---|---|
5 | 2020 | 18 | 2019 | <18>在>中学 | |
7 | 2020 | 18 | 2019 | 18 | 美国高中|
6 | 2021 | 17 | 2018 | 18 | 在中学|
8 | 2021 | 17 | 2018 | 18 | 美国高中
如果我正确理解您的要求,您需要一个Measure,如下所示。记住,这可能不是你所需要的,但这肯定会帮助你达到所需的输出。
prev_signup =
var iso_prev_year = MIN(your_table_name[iso_prev_year])
var iso_prev_year_week = MIN(your_table_name[iso_prev_yearweek])
RETURN
CALCULATE(
SUM(your_table_name[Number_of_signups]),
FILTER(
ALL(your_table_name),
your_table_name[signup_iso_year] = iso_prev_year
&& your_table_name[signup_iso_week] = iso_prev_year_week
)
) + 0
您还可以在Power Query Editor中进行一些转换,并使用Key列联接同一个表。在这种情况下,您可以将上一年的价值放在同一行。剩下的只是比较表中的2列来计算YOY