Как заставить Power Query/Excel разделить и связать два уникальных идентификатора из одного столбца?

У меня есть набор данных, который экспортируется с одним столбцом, включая идентификаторы персонала и идентификаторы должностей.

Я хочу использовать Power Query, отдельный Person_ID в один столбец и Job_ID в другой столбец. Люди связаны с работой, которая кажется ближайшей над ними. Идентификаторы работы представляют собой текстовую строку из 6 символов, идентификаторы сотрудников — 9 символов. Один и тот же Job_ID может применяться к нескольким людям, но Person_ID уникален (только одна работа на человека, несколько человек для некоторых вакансий).

Пример структуры данных:

Как заставить Power Query/Excel разделить и связать два уникальных идентификатора из одного столбца?

Надеюсь, у кого-то что-то есть!

Я слишком новичок, чтобы добавлять изображения, может это поможет... photos.app.goo.gl/MLcjAsJLhwT8XCaaA

Trevyn Hubbs 04.04.2019 08:59

Что вы исследовали / пробовали до сих пор, и почему это не работает?

Olly 04.04.2019 09:46

Я искал способы использовать Text.Length и условные операторы, чтобы определить, какое число является типом для начала, но у меня возникли проблемы с синтаксисом. Затем мне нужно что-то вроде смещения, чтобы проверить значения в ячейках над каждой ссылочной ячейкой (идентификатор человека), чтобы найти ближайший идентификатор работы. Эти значения должны быть скопированы или повернуты в новый столбец. Последним шагом будет фильтрация справочного столбца, чтобы это был просто идентификатор человека, а новый столбец - просто идентификатор работы. Бьюсь об заклад, есть более простой способ. Я мог бы, вероятно, сделать макрос VBA для этого, но я бы предпочел использовать power query/M, так как это то, что получает данные.

Trevyn Hubbs 04.04.2019 13:29
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
3
3
81
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Шаг за шагом

Выделите входные данные

Данные... Из таблицы/диапазона... не проверяйте [] моя таблица имеет заголовки

Добавить столбец...Пользовательский столбец..., используя имя столбца Пользовательский, с формулой

Text.Length([Column1])

Добавить столбец...Пользовательский столбец..., используя имя столбца Custom.1, с формулой

if [Custom]=6 then [Column1] else null

Нажмите на столбец Custom.1, щелкните правой кнопкой мыши и выполните fill...down...

Используйте стрелку рядом со столбцом «Пользовательский» и снимите флажок [] 6, оставив только [x] 11.

Щелкните столбец «Пользовательский», щелкните правой кнопкой мыши и выберите «Удалить столбцы».

файл... закрыть и загрузить

Произведенный код:

let Source = Excel.CurrentWorkbook(){[Name = "Table1"]}[Content],
#"Added Custom" = Table.AddColumn(Source, "Custom", each Text.Length([Column1])),
#"Added Custom1" = Table.AddColumn(#"Added Custom", "Custom.1", each if [Custom]=6 then [Column1] else null),
#"Filled Down" = Table.FillDown(#"Added Custom1",{"Custom.1"}),
#"Filtered Rows" = Table.SelectRows(#"Filled Down", each ([Custom] =11)),
#"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Custom"})
in #"Removed Columns"

Только что проверил, отличное решение! Это сэкономит мне кучу времени на работе. Большое спасибо!

Trevyn Hubbs 06.04.2019 03:16

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