Я хочу фильтровать столбец Power Query по диапазону значений. Я вижу, что я могу вручную выбрать или отменить выбор значений из столбца, но мне нужно сделать это автоматически без использования диапазона значений уже на листе.Как фильтровать столбцы в диапазоне с помощью Power Query?
Скажем, таблица, в которой я запрашиваю, содержит 100 уникальных имен. Я только хочу импортировать строки, которые соответствуют списку из 20 имен, которые у меня есть на моем листе.
Как я могу сделать это с помощью Power Query?
Редактировать: Я могу сделать функцию excel, чтобы объединить список имен в формат, необходимый для запроса следующим образом: (= Table.SelectRows(#"Changed Type", each ([Ticket Assignee] ="Name 1" or [Ticket Assignee] ="Name 2")))
. Но по-прежнему нужен способ ссылаться на этот запрос.
Edit2:
Мой запрос:
Это ошибки с помощью:
Expression.Error: We expected a FieldsSelector value.
let
names_Source = Excel.CurrentWorkbook(){[Name="namesTable"]}[Content],
names_Values = names_Source{1},
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Date", type datetime}, {"Ticket Assignee", type text}, {"# Solved", Int64.Type}}),
#"Filtered Rows" = Table.SelectRows(#"Changed Type", each ([Ticket Assignee] <> null)),
#"Filtered Rows1" = Table.SelectRows(#"Changed Type", each Record.HasFields(names_Values, [Ticket Assignee]))
in
#"Filtered Rows1"
EDIT3: Модифицированное запрос:
Expression.Error: We cannot convert the value null to type Record. Details: Value= Type=Type
let
names_Source = Excel.CurrentWorkbook(){[Name="namesTable"]}[Content],
names_Values = Record.FromList(names_Source[Zendesk Name], names_Source[Zendesk Name]),
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Date", type datetime}, {"Ticket Assignee", type text}, {"# Solved", Int64.Type}}),
#"Filtered Rows" = Table.SelectRows(#"Changed Type", each ([Ticket Assignee] <> null)),
#"Filtered Rows1" = Table.SelectRows(#"Filtered Rows", each Record.HasFields(names_Values, [Ticket Assignee]))
in
#"Filtered Rows1"
Редактировать:: Моя таблица имеет пустые значения, которые были ошибочными как null. Я добавил строку, чтобы отфильтровать нулевые значения из моего источника имен
Не используйте 'names_Values = names_Source {1}', вместо того, чтобы использовать 'names_Value = Record.FromList (names_Source [Column1] , names_Source [Column1]) '. У вас есть ошибка FieldSelector, потому что '#" Filtered Rows1 "' относится к неправильной таблице: вы хотите фильтровать на '#" Filtered Rows "', а не на '#" Измененный тип "' –
@ AlejandroLopez-Lago-MSFT Ah, хороший улов на полевом селекторе. Я внес изменения, которые вы запросили, теперь я получаю 2-ю ошибку: 'Мы не можем преобразовать значение null в тип Text.'. Есть ли способ отладить запрос, чтобы увидеть точную точку или область отказа? Снова, спасибо за помощь. –