У меня есть таблица базы данных, которая выглядит так:
Date Type
2020-01-01 non_empty_date
2020-01-02 non_empty_date
1900-01-01 with_1900
2020-01-03 nom_empty_date
NULL
NULL
Ожидаемый результат примерно такой:
Date Type
2020-01-01 non_empty_date
2020-01-02 non_empty_date
1900-01-01 with_1900
2020-01-03 non_empty_date
NULL Null_comes_After_non_empty_date
NULL Null_comes_After_empty_date
логика такая:
До сих пор я пытался определить тип в построителе выражений:
case (
Date == toDate(toString('1900-01-01')),'with_1900',
!isNull(Date), 'non_empty_date'
)
Я просто запутался, какое выражение нужно написать, чтобы получить значение для 3) и 4).
Любая помощь или любые предложения приветствуются. Большое спасибо!
Во-первых, Иосиф, большое спасибо за ответ. Ряды неправильные. Это может быть что угодно. Но я ценю любые решения :) Пожалуйста, дайте мне знать, о чем вы думаете.
Ваша логика основана на значениях из предыдущей строки. Для этого используйте преобразование Window, настроенное на просмотр значений предыдущей строки с помощью Range на 1 строку позади.
Большое спасибо Марк! Тем не менее, я очень новичок в ADF. Не могли бы вы привести конкретный пример или указать литературу, где можно найти эти примеры. Еще раз большое спасибо за ваше время.
Трансформация Windows: learn.microsoft.com/en-us/azure/data-factory/… . Функции опережения/отставания: learn.microsoft.com/en-us/azure/data-factory/…
Можем ли мы добавить номера строк цикла к этим строкам и создать новые столбцы на основе номеров строк? Или эти ряды неправильные, поэтому мы не можем этого сделать.