У меня есть автоматически генерируемые файлы в локальной папке с заголовками столбцов, такими как «Валовая маржа 22/10/22» (изображения также прилагаются). Есть ли способ вытащить дату и создать два отдельных столбца, одну валовую прибыль и другую дату. Я пытаюсь сделать это на фабрике данных Azure, используя поток данных. Поток данных — это единственное, что я видел до сих пор, что потенциально может работать. Кроме того, я хотел бы экспортировать его из onprem в хранилище BLOB-объектов, а затем в sql, но мне нужно запрограммировать конвейер, чтобы он вносил эти изменения до sql, иначе сопоставление не будет работать.
Я создал поток данных в фабрике данных Azure. Я использовал два производных столбца для извлечения даты из заголовка столбца. Изображение для справки:
Я взял CSV-файл из набора данных delimettext1. Источник моего потока данных:
Предварительный просмотр данных источника:
Я создал производный столбец, используя параметр производного столбца для исходного файла с именем «columnames». В этом производном столбце я взял все столбцы в массиве используя выражение ниже:
columnNames()
Изображение для справки:
Предварительный просмотр данных производного столбца1:
Я создал еще один производный столбец для производного столбца1 и в этом я создал 4 производных столбца. Столбец даты предназначен для извлечения даты из заголовка столбца «Валовая маржа 20.10.22».
Я использовал выражение ниже:
split(at(columnnames, 4),' ')[3]
Изображение для справки:
Я создал производный столбец NDate для даты извлечения из заголовка столбца «Чистые продажи 21.10.22». я использовал
split(at(columnnames,5),' ')[3]
Изображение для справки:
Я создал столбец «Валовая производная», чтобы отделить дату от заголовка столбца «Валовая маржа 20.10.22». Я использовал выражение ниже:
substring({Gross Margin 10/20/22}, instr({Gross Margin 10/20/22}, "")+0, 12)
Изображение для справки
Я создал столбец «Валовая производная», чтобы отделить дату от заголовка столбца «Чистые продажи 21.10.22». Я использовал выражение ниже:
substring({Net Sales 10/21/22}, instr({Net Sales 10/21/22}, "")+0, 9)
Изображение для справки:
Предварительный просмотр данных производного столбца 2:
Я создал select и получил 8 столбцов из производного столбца 2. Я использовал выражение ниже:
Renaming derivedColumn2 to select1 with columns 'Sales Number, Store Short Name, Net Sales, Sales Trend, Date, NDate, Gross, net'
Изображение для справки:
Предварительный просмотр данных выбора:
Я подключил приемник к выбору:
Предварительный просмотр данных для стока:
Здравствуйте @Amareswarapu Bhavani, как вам удалось получить заголовки столбцов при экспорте данных из потока данных?
Я создал еще один источник и передал вывод выходного приемника в качестве входных данных для источника и поместил «Пропустить счетчик строк как 2» в настройках источника, подключив его к приемнику, который будет давать то, что мне нужно. Вывод: i.imgur.com/IztLkvy.png
Хотя я считаю, что Data Flow — правильный инструмент, в вашем целевом образце показаны два выходных столбца с одинаковыми именами (Дата), что может стать проблемой. Предполагая, что вы можете решить эту проблему, вы можете использовать Select для переименования существующих столбцов и Derived Column для создания нового столбца. Он будет иметь доступ к имени столбца, поэтому вы можете извлечь значение (я) столбца из имени (я).