我有一个表,要在其中基于表中的另一列创建指标。
在表格中,每次访问都可以有多次点击,并且每次点击都具有与之相关的页面。
我试图实现的是这个新指标a_ind
可以告诉我这次访问是否出现过某个页面(是在当前页面还是在以前的页面中)。
我知道在引用另一列的当前行时如何使用案例(见下文)。
我只是不知道如何自我引用正在创建的新列的上一行。
'tbc'是我被困住的地方
select
visit, click, page,
case when click = 1 then
case when page = 'a' then 1 else null end
else
case when page = 'a' then 1 else 'tbc' end
end a_ind
from my_table
因此,我想基于点击和页面创建此a_ind
。最终结果应如下所示
<< em> edit >我添加了新列“行”以更好地说明这一点。
我希望逻辑为:对于单击<> 1和页面<>'a'的第 i 行,'a_ind'等于中的'a_ind'的值(i-1)第一行。所以我所说的自我指称本身(抱歉,不够清楚)
因此,假设第5,6行的访问='b','a_ind'= 0,第8行的'a_ind'= 1。
row visit click page a_ind
1 a 1 a 1
2 a 2 b 1
3 a 3 c 1
4 b 1 b 0
5 b 2 c 0
6 b 3 d 0
7 b 4 a 1
8 b 5 e 1
9 c 1 c 0
10 c 2 d 0