Страницы: 1 2 След.
RSS
Сводная таблица в нескольких диапазонах консолидации (имена полей)
 
Добрый всем день!

Создала сводную таблицу из нескольких листов в  книге. Для этого воспользовалась функцией создания сводных таблиц в  нескольких диапазонах консолидации. Идеально! То, что нужно! НО!! Никак  не получается в фильтре "страница 1" названия "Объект 1, Объект 2 ..."  заменить на реальные имена листов...
В приложении пример.

Очень прошу помочь мне в этом вопросе.

Заранее спасибо!
 
Доброе время суток
Скорее всего вам придётся добавить столбец дат во все таблицы листов. Или задействовать макрос VBA или Power Query для автоматизации.
 
Пробовала один макрос, описанный в этом форуме. Не получилось. Одна из проблем - необновление списка листов в макросе, когда добавляется новый лист... Есть и остальные трудности.
Очень прошу помочь. Совсем отчаялась...
 
Как в макросе правильно указать, что если в фильтре выбирается например объект 2, то в другой (укажу) ячейке должны высвечиваться либо информация с ячейки, листа, соответствующей объекту 2 (то есть из источника сводной таблицы) либо само имя листа?
Пробую записать макрос :D
 
А чем дополнительный столбец с датами не устраивает? В противном случае вам нужна будет таблица сопоставления Объект1, Объект2 и т. д. именам листов с которых были взяты данные и при этом учесть, что диапазоны с листов добавлялись в последовательном нумерации объектов порядке.
 
Андрей VG,у меня таких листов в оригинальном файле около 70. И они каждый день будут добавляться... Вот то, что Вы описывали про сопоставление я и хочу сделать. Но не получается... :(
 
Проблему с "объектами" более или менее решила. Создала другую обычную таблицу, которая ссылается на сводную, а вместо объекта 1 и 2 соответственно по формуле условия заменяю на даты.
Теперь у меня другая проблема. Надеюсь в этой же теме продолжать можно?)))
Как я уже писала выше, листы будут добавляться в файл - это что-то вроде ежедневного отчета работников. А сам отчет в виде сводной таблицы за все даты нужен начальству. Суть проблемы в том, что при создании сводной в нескольких диапазонах каждый лист я ведь добавляла вручную. А нужно, чтобы при появлении новых данных за новую дату (соответствует новому листу в книге) сводная таблица обновлялась автоматически.
Полагаю, здесь только макрос поможет?
 
А вопрос можно зачем добавлять листы а не сделать пополняемые таблицы на существующем листе , тогда динамические диапазоны для свода можно использовать,
 
Доброе время суток
Если есть возможность использовать Power Query, то можно сделать динамический сбор данных в подключение, которое будет использовать сводная, ака - ручное добавление столбца с названием листа.
 
Микки, можно))) одни и те же данные в разные числа. Компании удобнее работать именно так. В данный момент у меня просто имеется база данных, скажем так, а требуется отчетность, как я описывала выше. Поэтому, к сожалению, это невозможно. К тому же имеется больше 70 листов уже, и только их надо сперва скомпоновать в один, а уже потом допустим пытаться продолжать таблицу... Андрей VG, спасибо за идею! Слышала уже об этой надстройке, правда никогда не работала сама. Не могли бы Вы, пожалуйста, подробней изложить в этой части:
Цитата
Андрей VG написал:
подключение, которое будет использовать сводная, ака - ручное добавление столбца с названием листа.
 
Попробуйте. Сохраните файл в папку c:\path, да добавьте несколько листов (имена листов даты - не забывайте) с новыми данными, обновите сводную. Хотя, я так и не понял, для чего в этом случае нужна сводная? Чем плоха обычная таблица с фильтрацией по столбцам дат и цехов?
 
Андрей VG, Спасибо большое! Попробую)))
Вы имеете ввиду почему все-таки нельзя сделать все единой таблицей и фильтровать? Как я писала выше - не мои капризы это. Приходиться работать с тем, что есть :( . И-то это уже после многочисленных исправлений-изменений-модификаций...
Попробую так, как Вы сказали. Отпишусь о результатах)
 
Андрей VG,не понимаю почему, но у меня не получается... Давайте я опишу, как я делаю: скачала Ваш файл - сохранила на диске С, предварительно создав там папку "path" - открыла - добавила новый лист и назвала его 06.01.16 - обновила сводную через меню для сводных таблиц - пробую отфильтровать теперь уже на 06.01.16  - нет там такой даты... Думала проблема в том, что лучше бы обновиться до эксель 16. До этого я просто скачала саму надстройку для эксель 13. Сейчас стоит 16 версия - не помогает... Что я делаю не так?
И еще интересно очень, как именно Вы решаете эту проблему? Макросов нет там, дайте подсказку))
Изменено: Honey - 17.06.2016 11:58:15
 
Извиняюсь, забыл написать, перед обновлением после добавления сохранитесь :) . А сам код запроса можно посмотреть в расширенном редакторе Power Query. Ну, и пример, если не выйдет, выложите, чтобы посмотреть что не так.
Изменено: Андрей VG - 17.06.2016 12:54:02
 
Андрей VG, спасибо огромное! Получилось :D Еще и ознакомили меня с новыми возможностями 8) ! В общем за все спасибо!!!  

Последний вопрос: а почему работает только если в папку path разместить файл? Я не смогу тоже самое проделать с файлом, находящемся на общем диске?
 
Изменено: Honey - 20.06.2016 07:32:11
 
Доброе время суток
Цитата
Honey написал: а почему работает только если в папку path разместить файл?
Путь и имя файла прописаны статически. Можно изменить в расширенном редакторе Power Query. Можно сделать и динамически через таблицу параметров и функцию ЯЧЕЙКА("filename";A1). Я уже тут выкладывал подобные варианты. Поищите и адаптируйте под себя или почитайте и примените.
Успехов.
 
Доброго времени суток, Honey. Можно сделать так как в том видео. https://www.youtube.com/watch?v=vbM9400OawY

Можно посмотреть Ваш пример переработанный тут https://1drv.ms/f/s!AojXi4-p7FTYsC8G6R27fJw3-qTf
 
Цитата
Sertg написал:  Ваш пример переработанный тут
Ничто не ново под луной :)   тут. И папка выбирается относительно положения файла - статический путь не нужен.
 
Спасибо. Попробовал, сделать как Вы предлагаете. Но в редакторе запроса вот такая желтая строчка Expression.Error: Не найдена таблица Excel с именем "Данные".

Хотя папка показания/Данные а имя файла Показания. Не подскажете в чем дело?
 
Sertg, если вы внимательно посмотрите на лист Параметры, то увидите ячейку с вычисленным путём, а в диспетчере имён для этой ячейки есть имя Данные. Всё просто :)
Успехов
 
Андрей VG, спасибо за подсказку. Все получилось. Можете посмотреть во вложении. Так много интересного. А ссылочку вебинара Станислава Салостея смотрели?
 
Цитата
Sertg написал:
А ссылочку вебинара Станислава Салостея смотрели?
Спасибо, просмотрел. Правда, с лёгкой руки Максима Зеленовского это я уже почти полгода ковыряю ;)  Так что практически ничего нового не нашёл. Быть может за исключением оформления отчётов в Power BI - всё больше M-language и DAX грыз.
 
Всем доброе утро!

Sertg, спасибо за ответы. Я просмотрела и думаю, мне все же более удобен первый вариант, предложенный Андрей VG.
Вот только все-равно при попытке переделать файл под себя - не получается... Ниже код PQ, выдает мне ошибку, хотя я поменяла всего лишь названия столбцов... И еще одна ошибка: я так поняла если столбцов слишком много, то вся эта прелесть перестает работать(((
Помогите, пожалуйста :(
Код
let
    hasTwoDots = (this as text) as logical =>
   let
       items = Text.Split(this, ".")
   in
       List.Count(items) = 3,
    toTable = (this as table) as nullable table =>
   let
       rowCount = Table.RowCount(this),
       return = if rowCount > 3 then
      let
          realTable = Table.LastN(this, rowCount - 2),
          result = Table.PromoteHeaders(realTable)
      in
          result
      else null
   in
       return,
    source = Excel.Workbook(File.Contents("C:\Users\Desktop\Новая папка\Накладная с ФЗ на Фасовку.xlsx"), false),
    withDates = Table.SelectRows(source, each hasTwoDots([Name]) and [Kind] = "Sheet")[[Name],[Data]],
    realTables = Table.TransformColumns(withDates, { {"Data", each toTable(_), type table} }),
    expanded = Table.ExpandTableColumn(realTables, "Data", {"Наименование продукта", "№ ТФ", "Показания ТФ", "Показания ТФ", "Готовый продукт, кг", "Готовый продукт, кг", "Итого, кг (Готовый продукт)", "Промпереработка, кг", "Разница = показания танка - ГП - промпереработка, кг", "Показания счетчика на линии фасовки, кг", "Показания счетчика на линии фасовки, кг", "Итого, кг (показание счетчика)", "Разница = показания танка - показания счетчика", "Column14"}),
    typed = Table.TransformColumnTypes(expanded,{{"Наименование продукта", type text}, {"№ ТФ", type any}, {"Показания ТФ", type any}, {"Показания ТФ", type any}, {"Готовый продукт, кг", type any}, {"Готовый продукт, кг", type any}, {"Итого, кг (Готовый продукт)", type any}, {"Промпереработка, кг", type any}, {"Разница = показания танка - ГП - промпереработка, кг", type any}, {"Показания счетчика на линии фасовки, кг", type any}, {"Показания счетчика на линии фасовки, кг", type any}, {"Итого, кг (показание счетчика)", type any}, {"Разница = показания танка - показания счетчика", type any}, {"Column14", type any}})
    return = Table.RenameColumns(typed,{{"Name", "Дата"}})
in
    return
 
А скриншот ошибки вышеприведённого кода можно в студию? А посмотрите мой вариант Счетчики!
 
Sertg, спасибо))) Ваш вариант я посмотрела, но у меня ведь не отдельные книги каждый день создаются, а листы в одной и той же книге...
Изменено: Honey - 22.06.2016 07:03:56
 
Honey, вы запятую после скобки ) перед return потеряли :)  
И на каком числе столбцов PQ не работает? У меня с 1000 свободно
 
Андрей VG,нет слов... совсем я запарилась, видимо))) Извиняюсь!
У меня он теперь еще ошибку выдает... Короче мне не справиться с этой задачей :cry: ... Где мне можно все все все ошибки потенциальные изучить? Иначе я так и буду форум мучить по чуть-чуть...
 
Цитата
Honey написал:
Где мне можно все все все ошибки потенциальные изучить?
Помогут Microsoft Power Query for Excel Formula Language Specification и Microsoft Power Query Preview For Excel Formula Library Specification, ну, и форум, конечно :)
Успехов.
 
Цитата
Honey написал:
Где мне можно все все все ошибки потенциальные изучить?
ой, это долго... Методом научного пальца :)
Основные ошибки в M достаточно просты: несоблюдение синтаксиса (запятые в конце строк, кроме строки перед "in"), ну и неправильное использование функций.
То, что написал Андрей VG, желательно прочесть, хотя Language Specification я не осилил до конца :) Но Formula Library Specification - это очень важно, особенно в части понимания типов данных, а также того, какие параметры каких типов кушает функция и какой тип возвращает.
Самое главное - это понять принцип этого языка: упрощенно говоря, каждая строка кода, кроме служебных, создает некоторые переменные, к которым потом обращаются другие строки. Если никакие другие строки к переменной не обращаются, то она игнорируется и не вычисляется.
"М" - язык в значительной части функциональный, там почти всё построено на функциях, которые могут быть записаны в любом порядке, это может немного путать, но вообще удобно :)
F1 творит чудеса
 
Андрей VG, Максим Зеленский,спасибо Вам большое! Попытка не пытка))) Постараюсь изучить  :)
Страницы: 1 2 След.
Наверх