Использовал функцию запроса мощности в Excel 2016, чтобы импортировать несколько файлов CSV, содержащих личную финансовую историю и пытающихся использовать функцию Power Pivot.
Проблема в том, что мне действительно нужно сгруппировать транзакции по категориям, но в исходных файлах такого нет. Я действительно не хочу добавлять это к исходным файлам, так как они автоматически генерируются из моего банка или вручную выбираются и группируются.
Итак, есть ли способ добавить шаг в редакторе мощных запросов, который бы добавил новый столбец со значением, основанным на текстовом поле и используя какую-то функцию switch/match/map?
В псевдокоде я думаю что-то вроде этого:
if [Column] in {"foo", "bar", "baz"} return "Cat A"
if [Column] starts with "blah" return "Cat B"
if [Column] matches /\d+/ return "Cat C"
else return No Cat
В качестве альтернативы, если есть какой-либо другой хороший способ решить эту проблему ...
Пример данных
╔══ Date ════╦══ Text ═══════════════════════════╦══ Amount ═╦══ (new) ══╗
║ 01.05.2014 ║ Boots Apotek Bogstadvn.34 Oslo ║ -289,70 ║ Health ║
║ 01.05.2014 ║ 143 Boots Apotek Skøyen ║ -73,00 ║ Health ║
║ 01.05.2014 ║ Rema Industriga Industrigata Oslo ║ -25,70 ║ Groceries ║
║ 30.09.2014 ║ Råh Avd Industr Industrigt 4 Oslo ║ -575,00 ║ Hair ║
║ 30.09.2014 ║ Random stuff ║ -68,00 ║ Other ║
║ 30.09.2014 ║ Rema Industriga Industrigata Oslo ║ -39,90 ║ Groceries ║
║ 29.09.2014 ║ To Church Betel ║ -200,00 ║ Offering ║
║ 29.09.2014 ║ To Church Cornelius ║ -200,00 ║ Offering ║
║ 29.09.2014 ║ To Johnny Landlord ║ -9 015,00 ║ Rent ║
║ 29.09.2014 ║ To Johnny Landlord ║ -500,00 ║ Other ║
╚════════════╩═══════════════════════════════════╩═══════════╩═══════════╝
Так, например, я бы хотел
- Здоровье, если текст содержит одно из названий "Boots Apotek" или других аптек
- Продовольственные товары, если текст начинается с Rema или начинается с / содержит другое название магазина
- Предложение, если текст содержит одно из списка церковных имен
- Арендная плата, если текст содержит имя арендодателя и сумма превышает -9000, потому что все, что ниже, скорее всего, что-то еще