【发布时间】:2018-09-26 22:37:06
【问题描述】:
当 is_session_change 值为 true 时,我正在为 session 列填充新值,并且我想将该会话值保留到 is_session_change 的下一个 TRUE 值强>列。 例如下图 -
expected_session 列是预期值。请让我知道是否有人可以提供帮助!提前致谢。 实际上我每小时处理一次数据,对于特定的运行,我正在处理当前时间数据加上最后一小时数据,所以最后一小时数据将正确附加会话 ID,现在我正在尝试为当前小时内的合格记录扩展这些会话 ID,如果记录不符合扩展条件,我将生成新的会话 ID。
我尝试了以下在会话列中填充值的方法 -
select *,case when (session_id != '-1') then session_id
when (new_session = true) then getSessionId()
when (new_session =false AND session_id = '-1') then LAG(session_id) OVER (PARTITION BY uniquevisitor ORDER BY ts)
else '-' END as abc
from mktg_web.web_session_final
order by uniquevisitor
【问题讨论】:
-
你试过解决它吗?如果是这样,请向我们展示您的尝试。
-
感谢您的回复 Vamsi,我已尝试更新问题。