Я хочу отфильтровать столбец Power Query по диапазону значений. Я вижу, что могу вручную выбрать или отменить выбор значений из столбца, но мне нужно сделать это автоматически, пропустив диапазон значений, уже находящихся на листе.
Допустим, таблица, которую я запрашиваю, содержит 100 уникальных имен. Я хочу импортировать только строки, соответствующие списку из 20 имен, которые есть у меня на листе.
Как я могу сделать это с помощью Power Query?
Изменить: я могу сделать функцию excel для объединения списка имен в формат, необходимый для запроса, например: (= Table.SelectRows(#"Changed Type", each ([Ticket Assignee] ="Name 1" or [Ticket Assignee] ="Name 2")))
. Но все же нужен способ ссылаться на это из запроса.
Edit2:
Мой запрос:
Это ошибки с:
Expression.Error: мы ожидали значение FieldsSelector.
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: мы не можем преобразовать значение null в тип Record. Подробности: Значение = Тип = Тип
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"
Edit4: в моей таблице есть пустые значения, которые ошибочно принимались как пустые. Я добавил строку, чтобы отфильтровать нулевые значения из моего источника имен
names_Values = names_Source{1}
, вместо этого используйтеnames_Value = Record.FromList(names_Source[Column1], names_Source[Column1])
. Вы получили ошибку FieldSelector, потому что#"Filtered Rows1"
относится к неправильной таблице: вы хотите фильтровать по#"Filtered Rows"
, а не по#"Changed Type"
- person Alejandro Lopez-Lago - MSFT   schedule 17.08.2016We cannot convert the value null to type Text.
. Есть ли способ отладить запрос, чтобы увидеть точную точку или поле сбоя? Еще раз, спасибо за помощь. - person Douglas Gaskell   schedule 17.08.2016