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

Вход

Регистрация

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

 

= Мир MS Excel/Быстрая сборка легенды - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Быстрая сборка легенды (Сводные таблицы/Pivot Table)
Быстрая сборка легенды
stolipinskayav Дата: Понедельник, 14.02.2022, 14:51 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Коллеги, добрый день, вопрос от начинающего.

для описания сути задачи приведу пример.

У компании есть два филиала: Москва и Питер.
Компания на рынке два года: 2021 и 2022.
Компания продает два товара: машины и квартиры.

Нужно собрать табличку «Город, Год, Продукт», на выходе:

Москва 2021 Машины
Москва 2022 Машины
Москва 2021 Квартиры
Москва 2022 Квартиры
Питер 2021 Машины
Питер 2022 Машины
Питер 2021 Квартиры
Питер 2022 Квартиры.

Как это можно сделать через Power Query? В реальной задаче 7 параметров и >миллиона строк на выходе должно получиться => руками не вариант. Цель - собрать легенду в PowerQuery и затянуть ее в PowerPivot, и дальше уже к этой легенде тянуть факт/считать прогноз.
 
Ответить
СообщениеКоллеги, добрый день, вопрос от начинающего.

для описания сути задачи приведу пример.

У компании есть два филиала: Москва и Питер.
Компания на рынке два года: 2021 и 2022.
Компания продает два товара: машины и квартиры.

Нужно собрать табличку «Город, Год, Продукт», на выходе:

Москва 2021 Машины
Москва 2022 Машины
Москва 2021 Квартиры
Москва 2022 Квартиры
Питер 2021 Машины
Питер 2022 Машины
Питер 2021 Квартиры
Питер 2022 Квартиры.

Как это можно сделать через Power Query? В реальной задаче 7 параметров и >миллиона строк на выходе должно получиться => руками не вариант. Цель - собрать легенду в PowerQuery и затянуть ее в PowerPivot, и дальше уже к этой легенде тянуть факт/считать прогноз.

Автор - stolipinskayav
Дата добавления - 14.02.2022 в 14:51
_Igor_61 Дата: Понедельник, 14.02.2022, 19:18 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 504
Репутация: 90 ±
Замечаний: 0% ±

Excel 2007
Цитата stolipinskayav, 14.02.2022 в 14:51, в сообщении № 1 ()
>миллиона строк на выходе должно получиться

Печалька...
А 2021-2022 или машины-квартиры по столбцам раскидать директор запретил? Всего половина миллиона получится, не придется Excel напрягать лишним :) А там возможно и цель ближе будет :)
 
Ответить
Сообщение
Цитата stolipinskayav, 14.02.2022 в 14:51, в сообщении № 1 ()
>миллиона строк на выходе должно получиться

Печалька...
А 2021-2022 или машины-квартиры по столбцам раскидать директор запретил? Всего половина миллиона получится, не придется Excel напрягать лишним :) А там возможно и цель ближе будет :)

Автор - _Igor_61
Дата добавления - 14.02.2022 в 19:18
Pelena Дата: Понедельник, 14.02.2022, 19:25 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 18551
Репутация: 4200 ±
Замечаний: ±

Excel 2016 & Mac Excel
Вариант через PQ, подозреваю, что не самый оптимальный
К сообщению приложен файл: PQ.xlsx(20.3 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеВариант через PQ, подозреваю, что не самый оптимальный

Автор - Pelena
Дата добавления - 14.02.2022 в 19:25
прохожий2019 Дата: Понедельник, 14.02.2022, 20:02 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 908
Репутация: 250 ±
Замечаний: 0% ±

365 Beta Channel
[vba]
Код
let
    f=(x)=> Excel.CurrentWorkbook(){[Name=x]}[Content],
    tbl = Table.Join(f("Город"),{},f("Год"),{}),
    to = Table.Join(tbl,{},f("Продукт"),{})
in
    to
[/vba]

хотя если параметров много
[vba]
Код
let
    f=(x)=> Excel.CurrentWorkbook(){[Name=x]}[Content], // функция для подключения
    g=(x,y)=>Table.Join(x,{},f(y),{}), //функция для аккумулятора

    lst={"Город","Год","Продукт"}, //список имён таблиц
   
    to = List.Accumulate(lst,#table({},{{}}),g) // ... и собираем
in
    to
[/vba]


Сообщение отредактировал прохожий2019 - Понедельник, 14.02.2022, 20:24
 
Ответить
Сообщение [vba]
Код
let
    f=(x)=> Excel.CurrentWorkbook(){[Name=x]}[Content],
    tbl = Table.Join(f("Город"),{},f("Год"),{}),
    to = Table.Join(tbl,{},f("Продукт"),{})
in
    to
[/vba]

хотя если параметров много
[vba]
Код
let
    f=(x)=> Excel.CurrentWorkbook(){[Name=x]}[Content], // функция для подключения
    g=(x,y)=>Table.Join(x,{},f(y),{}), //функция для аккумулятора

    lst={"Город","Год","Продукт"}, //список имён таблиц
   
    to = List.Accumulate(lst,#table({},{{}}),g) // ... и собираем
in
    to
[/vba]

Автор - прохожий2019
Дата добавления - 14.02.2022 в 20:02
Pelena Дата: Понедельник, 14.02.2022, 20:06 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 18551
Репутация: 4200 ±
Замечаний: ±

Excel 2016 & Mac Excel
[offtop]
Цитата прохожий2019, 14.02.2022 в 20:02, в сообщении № 4 ()
f=(x)=>

когда ж я уже так научусь :'( [/offtop]


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщение[offtop]
Цитата прохожий2019, 14.02.2022 в 20:02, в сообщении № 4 ()
f=(x)=>

когда ж я уже так научусь :'( [/offtop]

Автор - Pelena
Дата добавления - 14.02.2022 в 20:06
прохожий2019 Дата: Понедельник, 14.02.2022, 20:11 | Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 908
Репутация: 250 ±
Замечаний: 0% ±

365 Beta Channel
[offtop]
когда ж я уже так научусь
в танке писал об этом, пару раз


Сообщение отредактировал прохожий2019 - Понедельник, 14.02.2022, 20:37
 
Ответить
Сообщение[offtop]
когда ж я уже так научусь
в танке писал об этом, пару раз

Автор - прохожий2019
Дата добавления - 14.02.2022 в 20:11
Pelena Дата: Понедельник, 14.02.2022, 21:15 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 18551
Репутация: 4200 ±
Замечаний: ±

Excel 2016 & Mac Excel
Спасибо за ссылки, подписалась на канал :)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеСпасибо за ссылки, подписалась на канал :)

Автор - Pelena
Дата добавления - 14.02.2022 в 21:15
stolipinskayav Дата: Вторник, 15.02.2022, 09:48 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Коллеги, огромное спасибо за помощь! Очень круто, что топик оказался полезен не только для меня :)


Сообщение отредактировал stolipinskayav - Вторник, 15.02.2022, 09:49
 
Ответить
СообщениеКоллеги, огромное спасибо за помощь! Очень круто, что топик оказался полезен не только для меня :)

Автор - stolipinskayav
Дата добавления - 15.02.2022 в 09:48
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Быстрая сборка легенды (Сводные таблицы/Pivot Table)
  • Страница 1 из 1
  • 1
Поиск:

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