Metanor написал: Разбить данные на группы: Пирог, Кес... (рекомендуется всегда, иначе будут ошибки)
Спасибо.
Ваш метод работает, пока в каждой "группе" есть только по одной ветке из вложенных уровней. А их там даже не десятки. В примере, если добавить еще раз в Пирог строки, начиная с "Упаковка пирога 2" и дальше вниз, сразу все начинает безудержно на все умножаться.
Так что группы не спасут, и они есть, просто именно в таком иерархическом виде, в который возжелали получить формулы, они не очевидно видны. Хранятся данные совсем в другом виде, для своих расчетов я все потрошу об PQ и там есть группы на все уровни, не только на первый, без них и правда никуда.
Иногда трудно не упустить важные детали, типа этой, делая демонстрашку для примера, приношу извинения.
Мне после истерического долбания с 2 6 десятками вспомогательных столбцов (уровней и разных видов цен больше на самом деле) уже самой чертовски интересно, можно ли это сделать как-то менее уродско.
И в рабочие многочисленные файлы мне это теперь копировать и орать от ужаса каждый раз Я все надеюсь, что есть колдунство, которое мне в панике в голову не пришло и это делается одной коротенькой формулой, как тут бывает.
И начальству это надо не для взгляд бросить, а для покопаться всласть во всех тысячах строк.
Добрый день. С вопросом про сводную получилось грустненько.
Продолжаю терзать ту же задачку с другой стороны. Технически правильные данные я получаю через Power query. Но начальство сводной пугается, хочет "на формулах".
Я кое как решила, результат считается, но вид промежуточных столбцов пугает почти как несворачиваемая сводная с пустыми аналитиками.
Исходные данные - спецификация в виде многоярусных иерархий - на желтом фоне. Есть количество по всем строкам и цены только для конечных уровней иерархии.
Итог на оранжевом, надо посчитать итоги для всех вложенных уровней. На белом мои бешеные формулы.
Вопрос - можно ли это как-то менее страшно сделать.
С мерой это я погорячилась.... Картинки - хотела просто скрины таблиц сразу выложить для наглядности, не более того, табличка исходная в 3 строки нарисована.
Но думала там на несколько строчек макроса вопрос. Нашла еще один англоязычный вопрос определенно на ту же тему, и там тишина в ответ. Китайский чатик вопрос понял, выдал что-то неработающее, сначала трясет исходную таблицу, какой-то словарь составляет, чтобы по нему уровни скрывать. Дальше все как в тумане, но если пойму, что он хотел сказать, может, расширю сознание.
Поиск находит много однотипного не о том. Раздергала иерархию, как мне кажется, удобным способом. Но отображается оно так себе
Количество уровней вложенности разное в разных строках, соответственно, в части строк в сводной таблице получается пустая аналитика, но значение при этом не пустое. Если настроить табличное отображение полей, то надпись "пусто" уродует столбцы.
Хотелось бы меру, которая не считала бы суммы для таких аналитик или макрос, который бы сворачивал поля. Или всего и побольше
Картинки в текст сообщения, кажется, запретили вставлять
Спасибо, оно работает Расширяю сознание о справку по функциям, чтобы утащить в реальные таблицы. Спасибо! Прошу прощения за долгий ответ, вытрясала обновление из добрых людей, чтобы открыть файл.
Спасибо за попытку, но это не может работать. Там в любом случае должно быть не ластдэйт, а фёрст. И первая дата в выбранном периоде никогда не будет равна первой датой в данных, если периоды по дням не выставлять, потому что данные есть только на конец месяцев. Надо, чтобы если выбран апрель-май 24 года, то выводились данные на 31.03 и 31.05 и всё. Может, я это "надо получить" недостаточно внятно написала.
А в том как техничненько расставить EOMONTH и FIRSTDATE я по уши запуталась.
AddColumn, по английски - это буквально "добавить столбец", не столбцы.
Самый простой для чайника способ, наверное, сделать в экселе пустую таблицу с именами пустых столбцов, загрузить ее в PQ и "добавить таблицу". Это если совсем с кнопок и понимая каждый тыц.
И вот так вариант, чтобы список столбцов можно было задать на листе в экселе, и тип у всех number. Ну или можно список руками в PQ навалять
в Power Query пытаюсь заменить содержимое одного столбца на содержимое соседнего через Table.ReplaceValue. Вместо данных получаю List, в Power Query пытаюсь заменить содержимое одного столбца на содержимое соседнего через Table.ReplaceValue. Вместо данных получаю List
в Power Query пытаюсь заменить содержимое одного столбца на содержимое соседнего через Table.ReplaceValue. Вместо данных получаю List, в Power Query пытаюсь заменить содержимое одного столбца на содержимое соседнего через Table.ReplaceValue. Вместо данных получаю List
Alex написал: Нужно нечто "более другое" иначе любое движение продолжается мучительно долго
Если данных много, то Table.ReplaceValue - довольно тормозная штука. И вы его зачем-то прогоняете 2 раза для того, чтобы null заменить на правильное значение. Если такого как следует накрутить, то никакого компа может не хватить.
в Power Query пытаюсь заменить содержимое одного столбца на содержимое соседнего через Table.ReplaceValue. Вместо данных получаю List, в Power Query пытаюсь заменить содержимое одного столбца на содержимое соседнего через Table.ReplaceValue. Вместо данных получаю List
Вы текстовое значение "empty" меняете на список, состоящий из одного элемента, элемент является текстом "#Счет №2". Правила форума требуют прикладывать пример, но если это - непосильно, поищите по форуму, задача тут 100500 раз решалась.
Спасибо всем, кто пытался помочь, это не лечится В окошке настройки комбинированной диаграммы названия можно увидеть только во всплывающих подсказках и то, что я считала "графиком с маркерами" было "графиком с маркерами с накоплением".
Вторая подряд тема с нытьем, потому что я знаю, что мне надо, но неправильно тыцаю его в интерфейсе с непривычки. Аймсорри
У меня была такая версия, поэтому нарастающий итог отдельно нарощен в исходных данных. Диаграмму не спасло И неаккуратного слияния графиков в "почти один" это бы не дало с такими цифрами, там бы другие фигуры были.
(картинка с тегом img вставляться не хочет, так что осталась в приложенных файлах)
В прилагаемом файле видно проблему - синяя и оранжевая линии нарисованы почти совпадающими (но не совсем!). У оранжевой линии форма должна быть совсем не такой. В чем проблема, что не так? При разных комбинациях типов диаграмм для рядов эта проблема то появляется, то пропадет.
Вторая диаграмма на листе - это копия первой, где все ряды отображены по одной оси (на самом деле нужно, чтобы "огурцы" были на вспомогательной) И там совсем караул, слились все 4 линии (на картинке кусок второй диаграммы)
Можно ли ее как-то "обновить", "перерисовать"?
upd Вставка новой диаграммы спасла ситуацию, так что как-то ситуация решаема. Но все равно остается вопрос - это диаграмма "сломалась" и спасет только новая или ее можно спасти?
/дизайнеры там на грани фантастики, в свойствах других элементов диаграмм это же свойство - с флажками, т.е. сразу все опции видно. Тут в выпадающем списке видно один вариант, мне и в голову не пришло, что он не единственный, не пригляделась
Помогите пожалуйста, заклинило, надеюсь, на самом простом месте.
Диаграмма. Верхний график построен по основной вертикальной оси. Нижние два графика по вспомогательной. Excel 2021
Можно ли как-то сделать так, чтобы расположение графиков не дрогнуло, но осей с цифрами по бокам не было? Я поудаляла их всеми способами, которые смогла вспомнить, диаграмму перекашивает
Скорость выполнения вряд ли заметно зависит от того, куда грузятся данные.
Вам лучше сделать новую тему, с примером запроса, с примером стандартного файла. Медленная работа именно таких запросов тут много раз обсуждалась, может, поиск в помощь. Причин может быть много, но если руки быстрее железяки, то значит железяку заставляют делать что-то странное.
- где находится папка, может быть связь с сервером медленная. - сколько файлов и какой в них объем информации (может, на листе там используемый диапазон на миллион строк, а данных на 3 строки) - что именно делает собирающий запрос и какие миллионы строк он кругами пересчитывает. - если файлов 100500 и к ним в неделю по 3 штуки добавляется, то может оказаться, что проще руками добавить 3, чем ждать, пока PQ перелопатит 100500, в такой ситуации надо просто и через PQ грузить только новые файлы. Тоже на форуме было.
Алёна П написал: Если в модель данных, то как пишут в каком-то подобии баз данных, встроенных в ексель...
Это Power Pivot. Запрос Power Query - это просто текст, инструкция "что делать". Он в любом случае будет записан в файл эксель, как текст.
Если данные должны быть на листе в таблице excel - то запрос выполнится и результат будет записан на лист. Для самого экселя это просто обычная таблица на листе, ему по барабану, откуда она взялась, могли бы руками нарисовать. Если данные должны быть в модели данных (то есть в Power Pivot) - результат запроса будет отдан туда и вывести какие-то его результаты на лист можно уже средствами Power Pivot. В файле появлются в каком-то виде данные - результат выполнения запроса, но без PP вы их не увидите. Если выбран пункт "просто создать подключение" - в файле останется просто текст запроса, который не вычисляется, пока его результат не будет чем-то запрошен. Например, другим запросом PQ в этом же файле. Тот запрос пойдет вычисляться, увидит имя, вычислит первый запрос, результат как-то дальше использует. Самого по себе результата вычисления первого запроса в файле при этом не будет. Также вы можете переключить эту опцию, запрос вычислится, результат будет высыпан или на лист или в PP/
В группировке не надо обращаться к источнику. Группировка фильтрует таблицы перед тем, как агрегировать их, "each _" и "(x)=>" в приведенных примерах, это обращение к уже отфильтрованной таблице, варианты записи с сахаром и без (фильтр по магазину и дате в данном случае), а вы агрегируете источник.
/написано мутно, просто как повод справку и умных людей почитать
Table.Group(Источник, {"магазин", "дата"}, {
{"выручка", each List.Sum([сумма]), type number},
{"выручка_опт", each List.Sum(Table.SelectRows(_, each ([тип выручки] = "оптовая"))[сумма]), type number},
{"выручка_розн", each List.Sum(Table.SelectRows(_, each ([тип выручки] = "розничная"))[сумма]), type number}
})
У меня в результате нормально получился один из первых вариантов, которые там обсуждались - с обращением к книге и фильтрацией содежимого.
Код
Источник = Excel.Workbook(File.Contents("X:\МногоФруктов.xlsx"), null, true),
Я полтемы ныла про наглухо тормозящий на этой операции эксель, из-за чего я тему и открыла, проблема решилась чуть позже переустановкой экселя, насколько я помню. Пока не решилась - столбец ручками.