Решил эту задачу, но немного другим способом. Во вложении (Пример1) по шагам можно посмотреть. Там чтобы сгенерировать пример, использовал группировку строк без аггрегации. С этого момента можно смотреть (после "//////////////////").
Код
let
Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
#"Сгруппированные строки" = Table.Group(Источник, {"Текст"}, {{"Таблицы", each _, type table [Текст=text, Столбец2=text]}}),
//////////////////
#"Добавлен пользовательский объект" = Table.AddColumn(#"Сгруппированные строки", "Объединение", each Table.FromRows(
{
{[Текст]},
{[Таблицы]}
},
{"Union"})),
#"Развернутый элемент Объединение" = Table.ExpandTableColumn(#"Добавлен пользовательский объект", "Объединение", {"Union"}, {"Union"}),
#"Добавлен пользовательский объект1" = Table.AddColumn(#"Развернутый элемент Объединение", "Пользовательский", each try Table.ToList([Union]) otherwise {[Union]}),
#"Удаленные столбцы" = Table.RemoveColumns(#"Добавлен пользовательский объект1",{"Текст", "Таблицы", "Union"}),
#"Развернутый элемент Пользовательский" = Table.ExpandListColumn(#"Удаленные столбцы", "Пользовательский")
in
#"Развернутый элемент Пользовательский"
Или вот так- Пример2 (также надо смотреть после "//////////////////")
Код
let
Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
#"Добавлен пользовательский объект2" = Table.AddColumn(Источник, "Пользовательский", each [Текст]&[Столбец2]),
#"Удаленные столбцы1" = Table.RemoveColumns(#"Добавлен пользовательский объект2",{"Столбец2"}),
#"Сгруппированные строки" = Table.Group(#"Удаленные столбцы1", {"Текст"}, {{"Таблицы", each _, type table [Текст=text, Столбец2=text]}}),
#"Добавлен пользовательский объект3" = Table.AddColumn(#"Сгруппированные строки", "Пользовательский", each Table.FromList({[Таблицы]{0}[Текст]&[Таблицы]{0}[Пользовательский]})),
#"Удаленные столбцы2" = Table.RemoveColumns(#"Добавлен пользовательский объект3",{"Таблицы"}),
#"Переименованные столбцы" = Table.RenameColumns(#"Удаленные столбцы2",{{"Пользовательский", "Таблицы"}}),
//////////////////
#"Добавлен пользовательский объект" = Table.AddColumn(#"Переименованные столбцы", "Пользовательский", each Table.FromList({"----------","",[Текст]})),
#"Добавлен пользовательский объект1" = Table.AddColumn(#"Добавлен пользовательский объект", "Union", each Table.FromRows(
{
{[Пользовательский]},
{[Таблицы]}
})),
#"Удаленные столбцы" = Table.RemoveColumns(#"Добавлен пользовательский объект1",{"Текст", "Таблицы", "Пользовательский"}),
#"Развернутый элемент Union" = Table.ExpandTableColumn(#"Удаленные столбцы", "Union", {"Column1"}, {"1.Column1"}),
#"Развернутый элемент 1.Column1" = Table.ExpandTableColumn(#"Развернутый элемент Union", "1.Column1", {"Column1"}, {"Column1"})
in
#"Развернутый элемент 1.Column1"
Коллеги есть такая тема мне необходимо соединить столбец текстовых значений "Текст" с таблицами в соседнем столбце "Таблицы". В каждом столбце Table "Таблицы" имеется только один столбец. Мне необходимо на выходе один столбец, чтобы текст из столбца "Текст" был повыше раскрытого текста каждой таблицы столбца "Таблицы". Если я просто раскрою столбец "Таблицы" нажав на кнопку "┐┌", то получу дублирование столбца "Текст" напротив каждой строчки раскрытых таблиц из столбца "Таблицы".Я попробовал через объединение и потом раскрыть столбец, но получилась картина чередования текстового значения и Table.
Очень прошу помочь!!!!
Входные данные
Текст
Таблицы
А
Table
Б
Table
С
Table
П
Table
А
Table
Н
Table
Скрытый текст
Пробный вариант, который не решил проблему до конца, так как таблицы Table также должны раскрываться в один столбец Table.FromRows( { {[Текст]}, {[Таблицы]} }, {"Union"})
Столкнулся с одним вопросом, на который нигде не нашел ответа в интернете. При создании сводной таблицы на базе Power Pivot, при "проваливании" на каком-либо сводном значении появляется только первая 1000 строк. Как можно отключить это ограничение или увеличить значение этого ограничения?
List.Max я использовал, но почему же у меня не получалось, когда я писал не List.Max(Source[Column1]), а List.Max([Column1])? А так все здорово, спасибо огромное!
Интересно, а по подгруппам также можно использовать этот код?
Необходимо решить очень простой, но как оказалось, очень сложный вопрос. В PQ имеется таблица, в котором есть столбец с датами. Необходимо сделать соседний столбец, который бы проставил бы в каждой строчке одинаковое для всех строчек максимальное значение из столбца с датами.
Появляется ошибка "SUM" принимает в качестве аргумента только ссылку столбец. Смысл этих действий такой, что напротив каждой строки выходного отчета получаю уникальное значение, но при добавлении промежуточных итогов эти уникальные значения суммируются.
Есть проблема такого порядка. При формировании в области строк нескольких группировок каждая агрегатная функция будет выводить свою группировку в области значений. Но иногда на выходных данных мне это не нужно, а нужно, например, только один вид группировки. Возможно надо использовать calculate с фильтрацией, но как это сделать не совсем понятно. Спасибо!
Имеется сводная таблица с моделью данных. Как при помощи Power Pivot можно вывести только нужные итоги (значения). Ниже я привел только два уровня иерархии. Таких уровней может быть несколько. Иногда надо выводить верхние уровни, иногда нижние и, даже средние.
Проблема является в том, что в моей версии Excel 2013 такой формулы (CONCATENATEX) нет. Возможно ли как-то реализовать функционал этой функции на базе других формул? Например: CONCATENATE, CALCULATE и т.п.? Обновить версию Excel возможности нет.
Да, это если удалять обычным удалением с выделением строк. Но, если использовать макрос, то картинка как была на месте так и осталась. Возможно у меня какие-то настройки на работе. Проверю дома, но у меня Rows(3).Delete Shift:=xlUp точно не сдвигает картинку средствами VBA.
Добрый день! У меня есть разные вставки (надписи, картинки и т.п.). Так вот при удалении способом Rows(i).Delete картинки остаются на месте, а необходимо, чтобы они двигались вверх. Свойства у картинок, что перемещать и изменять объект вместе с ячейками, имеются. Спасибо!
JayBhagavan, я и не спорю с Вашим утверждением, просто, если такое решение на время отпуска отдать коллеге, а там что-то слетит в формуле, то будет караул. Сейчас пробую макрос и решение не базе формулы от БМВ.
Решение от JayBhagavan великолепно, но боюсь, что имеется более простой способ решения, так как при любого передаче таких формул в другие руки (например, коллеге), эти руки не распутают этот клубок Excel.