Функция LAG и NULLS - PullRequest
0 голосов
/ 27 мая 2020

Итак, я пытаюсь использовать функцию LAG (Google BigQuery), и мое первое значение - NULL.

enter image description here

Я использую функцию задержки, чтобы получить lag_Value_1 , lag_Value_2 ... Здесь:

SELECT ITEM,row_A,row_B,date,Value_1,Value_2,Value_3,Value_4,Value_5,
         LAG(Value_1,0) OVER (PARTITION BY ITEM ORDER BY row_A asc) as lag_Value_1,
         LAG(Value_2,0) OVER (PARTITION BY ITEM ORDER BY row_A asc) as lag_Value_2,
         LAG(Value_3,0) OVER (PARTITION BY ITEM ORDER BY row_A asc) as lag_Value_3,
         LAG(Value_4,0) OVER (PARTITION BY ITEM ORDER BY row_A asc) as lag_Value_4,
         LAG(Value_5,0) OVER (PARTITION BY ITEM ORDER BY row_A asc) as lag_Value_5
FROM table

Любая помощь в заполнении lag_Value_1,2,3,4,5 .... для ЭЛЕМЕНТА 2?

Ответы [ 2 ]

1 голос
/ 27 мая 2020

Я думаю, что это то, что вы ищете:

  LAST_VALUE(Value_1 IGNORE NULLS) OVER (PARTITION BY ITEM ORDER BY row_A ASC) AS lag_Value_1,
  LAST_VALUE(Value_2 IGNORE NULLS) OVER (PARTITION BY ITEM ORDER BY row_A ASC) AS lag_Value_2,
  LAST_VALUE(Value_3 IGNORE NULLS) OVER (PARTITION BY ITEM ORDER BY row_A ASC) AS lag_Value_3,
  LAST_VALUE(Value_4 IGNORE NULLS) OVER (PARTITION BY ITEM ORDER BY row_A ASC) AS lag_Value_4,
  LAST_VALUE(Value_5 IGNORE NULLS) OVER (PARTITION BY ITEM ORDER BY row_A ASC) AS lag_Value_5
0 голосов
/ 27 мая 2020

Хотите ли вы использовать три аргумента задержки?

SELECT ITEM, row_A, row_B, date, Value_1, Value_2, Value_3, Value_4, Value_5,
       LAG(Value_1, 1, 0) OVER (PARTITION BY ITEM ORDER BY row_A asc) as lag_Value_1,
       LAG(Value_2, 1, 0) OVER (PARTITION BY ITEM ORDER BY row_A asc) as lag_Value_2,
       LAG(Value_3, 1, 0) OVER (PARTITION BY ITEM ORDER BY row_A asc) as lag_Value_3,
       LAG(Value_4, 1, 0) OVER (PARTITION BY ITEM ORDER BY row_A asc) as lag_Value_4,
       LAG(Value_5, 1, 0) OVER (PARTITION BY ITEM ORDER BY row_A asc) as lag_Value_5
FROM table

Три аргумента:

  • Значение задержки.
  • Количество строк до go назад.
  • Значение по умолчанию.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...