Фильтровать компании, у которых есть по крайней мере 3 определенных продукта - PullRequest
0 голосов
/ 20 декабря 2018

У меня есть сводная таблица Excel (и набор данных таблицы позади), которая имеет структуру, подобную приведенной ниже.Как я могу фильтровать / показывать только компании (Col A) с продуктами (Col B) 1, 2 и 3?Звучит как-то легко, но не могу найти способ сделать это.Нет проблем с помощью Power Query (доступно в Power BI или Excel).

A1: Company 1 | B1: Product 1
A2: Company 1 | B2: Product 2
A3: Company 1 | B3: Product 3
A4: Company 1 | B4: Product 4
A5: Company 2 | B5: Product 1
A6: Company 3 | B6: Product 1
A7: Company 4 | B7: Product 1
A8: Company 4 | B8: Product 2
A9: Company 4 | B9: Product 3
A10: Company 4 | B9: Product 4
A11: Company 4 | B9: Product 5

Ответы [ 2 ]

0 голосов
/ 20 декабря 2018

Обычно вам нужно сделать несколько вещей, чтобы сделать это полностью в Excel:

  1. Добавить новую таблицу со списком продуктов со столбцом, указывающим, включен ли этот продукт /помечено:

enter image description here

Обновите таблицу вашей компании / продукта, чтобы иметь вспомогательные столбцы 2 : от одного до VLOOKUP, если продукт помечен, и один, чтобы указать, имеет ли компания все 3 помеченных продукта:
  • В первом вспомогательном столбце будет использоваться формула, подобная =VLOOKUP([@Product],tProducts,2,FALSE).
  • Во втором вспомогательном столбце будет использоваться формула, подобная =COUNTIFS([Company],[@Company],[Product Flagged],TRUE)>=3.

enter image description here

Строки с TRUE в столбце D имеют по 1 для каждого из продуктов 1, 2 и 3 (если только у вас нет строк с дублирующимися комбинациями компания / продукт, где это немногохитрее):

В вашей сводной таблице вы можете фильтровать по этому вспомогательному столбцу:

enter image description here

0 голосов
/ 20 декабря 2018

Вот подход с использованием Power Query.

Начиная с этого, приведенного в Power Query из таблицы в Excel:

enter image description here

Затем я группируюсь по Компании (Преобразование> Группировать по):

enter image description here

enter image description here

Затем ядобавьте новый пользовательский столбец (Добавить столбец> Пользовательский столбец), чтобы указать, имеет ли каждая компания 3 продукта, включенных в столбец продукта связанной с ней сгруппированной таблицы:

enter image description here

enter image description here

Затем я отфильтровываю ЛОЖНЫЕ записи из нового пользовательского столбца (используйте кнопку в правом верхнем углу пользовательского столбца):

enter image description here

Затем я расширяю столбец Products из встроенной таблицы в столбце AllData (используйте кнопку в правом верхнем углу столбца AllData).

enter image description here

enter image description here

Затем я удаляю столбец Custom:

enter image description here

Воткод М:

let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Company", type text}, {"Product", type text}}),
#"Grouped Rows" = Table.Group(#"Changed Type", {"Company"}, {{"AllData", each _, type table}}),
#"Added Custom" = Table.AddColumn(#"Grouped Rows", "Custom", each List.ContainsAll([AllData][Product], {"Product 1","Product 2","Product 3"})),
#"Filtered Rows" = Table.SelectRows(#"Added Custom", each ([Custom] = true)),
#"Expanded AllData" = Table.ExpandTableColumn(#"Filtered Rows", "AllData", {"Product"}, {"Product"}),
#"Removed Columns" = Table.RemoveColumns(#"Expanded AllData",{"Custom"})
in
#"Removed Columns"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...