Страницы: 1
RSS
Как в PQ сравнить значения таблицы с несколькими списками
 
Подскажите, как можно сравнить каждое значение в таблице с несколькими списками и вывести в другую колонку например название списка, в котором нашлось это значение.
Реальный пример связан с определением по фамилии студента номера группы, в которой он обучается.
Если столбец с фамилиями, и есть списки групп. Нужно каждой фамилии сопоставить группу.
Если не можешь победить беспорядок, то надо возглавить его.
 
Здравствуйте,
попробуйте так
 
Хм. Не самый простой вариант. Хотел одной формулой обойтись.
Но в некоторых случаях он будет более удобным и универсальным.
Спасибо!
Если не можешь победить беспорядок, то надо возглавить его.
 
Цитата
Александр Медведев написал:
Хотел одной формулой обойтись
Если вы имеете ввиду один запрос, то можно так.
 
еще вариант на основе решения adamm
Код
let
    a = Table.SelectRows(Excel.CurrentWorkbook(), each Text.StartsWith([Name], "Группа"))
    in Table.UnpivotOtherColumns(Table.Combine(a[Content]),{},"b","a")[[a],[b]]
 
Можно так:
Код
let
    Source = Excel.CurrentWorkbook(),
    FilteredRows = Table.SelectRows(Source, each Text.StartsWith([Name], "Группа")),
    AddedTables = Table.AddColumn(FilteredRows, "tab", each Table.FromColumns( Table.ToColumns([Content]) & {Table.ColumnNames([Content])}, {"ФИО", "Группа"}), type table),
    CombineTabs = Table.FillDown( Table.Combine(AddedTables[tab]), {"Группа"} ),
    Out = Table.Join( Source{[Name="СВОД"]}[Content][[ФИО]], {"ФИО"}, CombineTabs, {"ФИО"} )
in
    Out
Вот горшок пустой, он предмет простой...
 
Здорово!
Спасибо за столько вариантов. Буду разбираться.
Вопрос решен.
Если не можешь победить беспорядок, то надо возглавить его.
Страницы: 1
Наверх