tl; dr:
используйте функцию fill (), чтобы заполнить все пустые значения в каждом столбце d1-d4 в требуемой группе (AKA - столбцы дата + время + пользователь) затем выполните дедупликацию \ aggregate к содержимому вашего сердца.
длинная версия
Так что самый быстрый способ сделать это - использовать оконную функцию с именем "fill ()". Что эта функция делает для каждого заданного поля в столбце, она говорит ему: «Посмотрите вниз. Посмотрите вверх. Найдите ближайшее непустое значение и скопируйте его!» Вы можете, конечно, limit , это зрение (например, посмотрите только на 3 строки выше), но для этого примера ограничение не нужно. поэтому ваша функция заполнения будет выглядеть так: FILL ($ col, -1, -1) Таким образом, $ col будет ссылаться на все выбранные столбцы. «-1» говорит «безграничное зрение». наконец, «~» говорит «от столбца D1 к столбцу D4».
Итак, функция будет выглядеть так:
.
Что, в свою очередь, сделает ваши столбцы похожими на это: .
Теперь вы можете использовать преобразование "дедупликация", чтобы удалить любые дубликаты и только 1 копию каждого " группа "останется. В качестве альтернативы, если вы все еще хотите использовать «Группировать по», вы можете сделать это также.
Надеюсь, это поможет =]
ps Есть и другие способы сделать это - что влечет за собой использование преобразования "pivot" и отмены массива. Но в процессе вы потеряете имена ваших столбцов, и вам нужно будет их переименовать.