Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Power Query: Преобразовать двумерную таблицу в плоскую - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Power Query: Преобразовать двумерную таблицу в плоскую (Формулы/Formulas)
Power Query: Преобразовать двумерную таблицу в плоскую
MARINKA Дата: Воскресенье, 09.06.2019, 18:49 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 34
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте, форумчане!

Помогите пожалуйста решить простую задачу средствами Power Query.
В приложенном файле из двумерной таблицы "Дано" нужно получить плоскую таблицу "Требуется".
Всё что у меня получилось, это таблица "Power Query".
К сообщению приложен файл: 31.xlsx(20.5 Kb)
 
Ответить
СообщениеЗдравствуйте, форумчане!

Помогите пожалуйста решить простую задачу средствами Power Query.
В приложенном файле из двумерной таблицы "Дано" нужно получить плоскую таблицу "Требуется".
Всё что у меня получилось, это таблица "Power Query".

Автор - MARINKA
Дата добавления - 09.06.2019 в 18:49
krosav4ig Дата: Воскресенье, 09.06.2019, 21:57 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2164
Репутация: 905 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте[vba]
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    f1 = (_)=>DateTime.ToText(_,"dd.MMM","ru-ru"),
    a  = Table.TransformColumns(Table.ReplaceValue(Source,null,"",Replacer.ReplaceValue,{"Цена", "Комментарий"}),{{"Дата",f1},{"Дата2",f1}}),
    f2 = (t,s,s1)=>Table.RenameColumns(Table.SelectColumns(Table.UnpivotOtherColumns(t, {"Дата", "Дата2", "Наименование ", s}, "Атрибут", "Значение"),{s1, "Наименование ", "Атрибут", "Значение"}),{{s1,"Дата"}}),
    b  = List.Distinct(a[Дата]&a[Дата2]),
    c  = Table.Combine({f2(a, "Цена","Дата"),f2(a, "Комментарий","Дата2")}),
    f3 = (t)=>Table.RemoveColumns(Table.Pivot(t, b, "Дата", "Значение"),{"Наименование ", "Атрибут"}),    
    d  = Table.Group(c, {"Наименование ", "Атрибут"}, {{" ",f3}}),
    e  = Table.Pivot(d, List.Distinct(d[Атрибут]), "Атрибут", " ")[[#"Наименование "],[Цена],[Комментарий]],
    f4 = (t,s)=>Table.ExpandTableColumn(t, s,b, List.Transform(b,each s&" "&_)),
    f  = f4(f4(e, "Цена"), "Комментарий")
in
    f
[/vba]
К сообщению приложен файл: 9336146.xlsx(26.2 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеЗдравствуйте[vba]
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    f1 = (_)=>DateTime.ToText(_,"dd.MMM","ru-ru"),
    a  = Table.TransformColumns(Table.ReplaceValue(Source,null,"",Replacer.ReplaceValue,{"Цена", "Комментарий"}),{{"Дата",f1},{"Дата2",f1}}),
    f2 = (t,s,s1)=>Table.RenameColumns(Table.SelectColumns(Table.UnpivotOtherColumns(t, {"Дата", "Дата2", "Наименование ", s}, "Атрибут", "Значение"),{s1, "Наименование ", "Атрибут", "Значение"}),{{s1,"Дата"}}),
    b  = List.Distinct(a[Дата]&a[Дата2]),
    c  = Table.Combine({f2(a, "Цена","Дата"),f2(a, "Комментарий","Дата2")}),
    f3 = (t)=>Table.RemoveColumns(Table.Pivot(t, b, "Дата", "Значение"),{"Наименование ", "Атрибут"}),    
    d  = Table.Group(c, {"Наименование ", "Атрибут"}, {{" ",f3}}),
    e  = Table.Pivot(d, List.Distinct(d[Атрибут]), "Атрибут", " ")[[#"Наименование "],[Цена],[Комментарий]],
    f4 = (t,s)=>Table.ExpandTableColumn(t, s,b, List.Transform(b,each s&" "&_)),
    f  = f4(f4(e, "Цена"), "Комментарий")
in
    f
[/vba]

Автор - krosav4ig
Дата добавления - 09.06.2019 в 21:57
anvg Дата: Воскресенье, 09.06.2019, 23:20 | Сообщение № 3
Группа: Друзья
Ранг: Обитатель
Сообщений: 498
Репутация: 237 ±
Замечаний: 0% ±

2016, 365
Доброе время суток вариант с привлечением Power Pivot
К сообщению приложен файл: 31.zip(64.9 Kb)


Сообщение отредактировал anvg - Воскресенье, 09.06.2019, 23:21
 
Ответить
СообщениеДоброе время суток вариант с привлечением Power Pivot

Автор - anvg
Дата добавления - 09.06.2019 в 23:20
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Power Query: Преобразовать двумерную таблицу в плоскую (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2019 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!