Выражение для последнего ненулевого значения или нулевого значения в столбце таблицы базы данных с фабрикой данных Azure

У меня есть таблица базы данных, которая выглядит так:

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

логика такая:

  1. Если столбец даты не пуст, укажите тип non_empty_date
  2. Исключение: если столбец даты 1900-01-01, укажите with_1900
  3. Если столбец даты имеет значение Null и идет после непустой даты, укажите «Null_Comes_After_non_empty_date».
  4. Если столбец даты имеет значение Null и идет после пустой даты, укажите «Null_Comes_After_empty_date».

До сих пор я пытался определить тип в построителе выражений:

case (
Date == toDate(toString('1900-01-01')),'with_1900',
!isNull(Date), 'non_empty_date'
)

Я просто запутался, какое выражение нужно написать, чтобы получить значение для 3) и 4).

Любая помощь или любые предложения приветствуются. Большое спасибо!

Можем ли мы добавить номера строк цикла к этим строкам и создать новые столбцы на основе номеров строк? Или эти ряды неправильные, поэтому мы не можем этого сделать.

Joseph Xu 11.12.2020 16:24

Во-первых, Иосиф, большое спасибо за ответ. Ряды неправильные. Это может быть что угодно. Но я ценю любые решения :) Пожалуйста, дайте мне знать, о чем вы думаете.

Acerace.py 11.12.2020 16:31
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
446
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ваша логика основана на значениях из предыдущей строки. Для этого используйте преобразование Window, настроенное на просмотр значений предыдущей строки с помощью Range на 1 строку позади.

Большое спасибо Марк! Тем не менее, я очень новичок в ADF. Не могли бы вы привести конкретный пример или указать литературу, где можно найти эти примеры. Еще раз большое спасибо за ваше время.

Acerace.py 14.12.2020 14:27

Трансформация Windows: learn.microsoft.com/en-us/azure/data-factory/… . Функции опережения/отставания: learn.microsoft.com/en-us/azure/data-factory/…

Mark Kromer MSFT 14.12.2020 19:50

Другие вопросы по теме

Похожие вопросы

Фабрика данных Azure передает «имя API-интерфейса объекта» таблиц Salesforce в качестве параметра из ForEach
Резервное копирование и восстановление схемы базы данных SQL Azure
Как получить информацию о том, когда в последний раз регистрировался ключ среды выполнения интеграции с самостоятельным размещением?
Как проверить поле даты в потоках сопоставления фабрики данных Azure в условном операторе разделения
Поддерживает ли Purview информацию о происхождении для встроенных наборов данных потока данных ADF?
Поддержка Azure Purview для приемника формата Delta в потоке данных ADF
Зарегистрируйте состояние запуска конвейера ADF (Azure Data Factory)
Как получить значение столбца из CSV-файла ADLS gen 2 и использовать значение столбца в теле письма, а также отправить данные BLOB-объектов в виде вложения в почту Outlook
Сбой действия Azure ForEach: функция length ожидает, что ее параметр будет массивом или строкой. Предоставленное значение имеет тип «Целое число»
Поток данных ADF json Flatten Развернуть