Подскажите пожалуйста, есть ли способ обновить заглючевший календарь PowerPivot?
К сожалению, стандартный способ не приносит результат (ошибку не выдает, просто после выбора нужной даты возвращает предыдущее значение): скриншот приложен.
Что я на текущий момент перепробовал: 1) Попробовал сделать это с разных ПК 2) Менял расширения файла (xlsm, xlsb) 3) Создавал другие календари с этой надстройкой (там весит тот же диапазон дат, так же не обновляется)
Предполагаю, что где-то лежит в архиве файла Excel описание данного календаря (либо в виде таблицы, либо в виде описания диапазона). Прошурстил его - не нашел
К сожалению, узнал о том, что лучше не использовать данный календарь только после того, как запилил себе большой тулл (400мб, 100 страниц excel, 100+ мер PowerPivot, 25+ источников данных). Понимаю, что можно внедрить календарь, написанный в PQ. В следующий раз - точно так сделаю
Буду очень признателен, если поделитесь предложениями по решению данного вопроса.
У меня порядка 30 источников данных, в которых присутствуют от 1 до 10 вычисляемых столбцов, чтобы все эти данные между собой пожинить и сделать сложные вычислительные меры. Общее количество строк всех источников - 5 млн Оперативка 16 гб
У меня есть набор данных (более 20 независимых источников), которые я загружаю в Excel с помощью Power Query. После к этим данным добавляется порядка 200 столбцов с дополнительными вычислениями через Power Pivot.
Думаю, ускорить работу файла, так как некоторые операции занимают более 3-х секунд.
Как Вы думаете, ускорится ли скорость вычислений в файле, если все вычисляемые столбцы я реализую через Power Query?
Данно: У меня есть 2 взаимодополняемые таблицы: 1) Продажи по магазинам в разрезе: - Штрихкод - Магазин - Месяц - Шт 2) Продажи по дням в разрезе: - Штрихкод - День - Шт
Задача: Данные таблицы мне необходимо объединить в одну, чтобы получился следующий набор данных: - Штрихкод - Магазин - День - Шт
Очень желательно, чтобы Вы помогли реализовать данную задачу через: 1. Power Pivot/ Power Query, интегрированные в Excel 2. На крайний случай - макрос
Упрощенный пример файл в приложении. После того, как поможете решить задачу, мне нужно будет масштабировать способ на 2 000 000+ строк (данные за 3 года). При этом, данные будут постоянно пополняться.
Сроки: Как можно раньше:) Задача вроде для экспертов должна быть простой
Оплата: 500 - реализация 500 - короткий созвон в Teams/Skype/Hangouts с обсуждением решения
Нужна помощь эксперта в макросах. К сожалению, сам допирать до рабочего кода буду долго, поэтому прошу о помощи Вас. Готов заплатить за рабочую реализацию 1000р. (Перевод с карты на карту)
Данно: -Хитровыдуманная система, из которой можно выкачать файл Excel с закрашенными ячейками. -Файл, где необходимо производить анализ по тому, какие ячейки закрашены.
Задача: 1) Сделать ячейку, в которой можно будет выбрать одно из названий присутствующих в книге листов. Важно: листы будут постоянно пополняться. Соответсвенно, список листов должен уметь расширяться 2) На главной вкладке ("Home"), при выборе нужного листа в пункте выше, в типовой таблице указать "1" в ячейках, которые закрашенны на выбранном листе.
Важно: - нужно определить переменные, чтобы оперативка не улетала, так как в оригинальной выгрузке из системы выходит таблица 100 строк и 400 столбцов - код полностью на английском (можно писать русские слова английскими буквами, naprimer vot tak)
Дорогие форумчане: PooHkrd, AlexMakarov, Михаил Л Большое спасибо что отозвались и помогли решить мой вопрос.
В итоге я использовал решение AlexMakarov:
1) С помощью PowerQuery я преобразовал данные из разных источников в одну таблицу (не в сводную, а в обычную)
2) С помощью PowerPivot я добавил дополнительные меры по формуле
мера 1:=DISTINCTCOUNT(Table1[Сеть магазинов])
3) также с помощью PowerPivot создал окончательную сводную таблицу
Еще раз спасибо за Вашу поддержку, желаю хорошего дня!
PooHkrd написал: А чем вариант от Михаил Л не устроил? Он как раз показал как это сделать
К сожалению, у меня не получилось интегрировать данную формулу в примере. Подскажите пожалуйста, можете ли Вы добавить ее в файл-пример? Буду очень признателен, если у Вас получится!
Михаил Л написал: Код ? 1= Table.Group(Source, {"Филиал"}, {{"Кол-во уникальных сетей", each Table.RowCount(Table.Distinct(_)), type number}})
Михаил, к сожалению мне не подашел данный код, так как мне как раз таки необходимо, что Power Query считал Кол-во уникальных сетей. На сколько я понял, данной переменной не должно быть в формуле. Подскажите пожалуйста, как необходимо исправить формулу?
Цитата
AlexMakarov написал: Вот. Таблицу загнал в модель данных PowerPivot и там создал простейшую меру.
Мой вопрос связан со сводной таблицей, построенной на основе PowerQuery: Подскажите пожалуйста, какую формулу можно использовать, чтобы посчитать количество уникальных строк (например, со значениями магазинов), согласно сделанного запроса.
Для меня важно сделать это именно формулой, так как такого рода значений будет много (количество уникальных товаров в сети и т.п.)
Для фильтрации полей в сводной таблице можете воспользоваться следующим кодом:
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Sheets("свод").PivotTables("СводнаяТаблица1").PivotFields("Город").ClearAllFilters
Sheets("свод").PivotTables("СводнаяТаблица1").PivotFields("Город").CurrentPage = Sheets("расчет").Range("B2").Value
End Sub
По номерам складов можно сделать по аналогии самостоятельно.
PooHkrd, Спасибо большое, что пытаетесь мне помочь
Инструкцию в первую очередь прочитал! Вариант, который Вы сейчас показали - я то же пробовал, но с ним ровно так же сложно, как иметь просто 50+ разных полей на выбор.
Я получил еще пару скринов, как в компании реализована иерархия/ категоризация /фильтрация полей свойств сводной таблицы:
PooHkrd, я имел ввиду возможность вытаскивать из полей свойств сводной таблицы (PivotTable Fields) значения в поле фильтры сводной таблицы (Filters). Фотография в приложении.
skais675, к сожалению я не смог получить доступ к данному файлу, так как: 1) Он подключается к OLAP и имеет шифрование. 2) Большое количество конфиденциальной информации.
Однако, я его растыкал и раскликал, ничего особенного не нашел
В своей работе делаю большое количество сводных таблиц для анализа большого массива данных данных. При этом, сводные таблицы теряют свою удобность, когда количество необходимых полей возрастает до 50+:
картинка1
((Как видите, из этой ситуации я вышел ВРЕМЕННЫМ решением - похожие поля называю одинаково, чтобы удобно было искать поля сводной таблицы по именам.))
Однако, иногда мне встречаюься файлы, где данные поля сгрупироанны в паки. Например, все значения (шт, руб без НДС, руб с НДС, наценка и т.п.) в полях сводной таблице лежат в папке "Значения", а такие категории, как "Филиал", "Регион", "Город" в папке "Компания".
Соответственно, я хочу также: Все "Branch_lvlX" (Х = 1, 2, 3) должны лежать в папке "Branches", все "Category_lvlX" (Х = 1, 2, 3) должны лежать в папке "Categories" и т.п.
То, что хочу, но не знаю как сделать, выглядит премерно так:
Искренне хочу поблагодарить каждого участника нашей дискуссии! Благодаря коллаборации общих усилий, нам наконец-таки удалось запустить мою "программку" в Excel 2016 и 2013!
Ниже хочу выделить предложения следующих пользователей, которые в купе решили вопрос:
Юрий М вышел на Skype конференцию и совместно со мной протестировал файл на его Office 2013! Нам удалось выяснить, что даже когда Excel самостоятельно снимает защиту структуры книги, возможна ошибка, когда некоторые вкладки не видят, что защита снята. РЕШЕНИЕ: не блокировать структуру книги, если ты работаешь со свойством скрытности вкладок через макрос. П.С.: был решен вопрос с адаптацией к Office 2013, однако в Office 2016 продолжилась ошибка.
В Office 2016 Excel ругался, что не может присвоить свойство Hidden для 4 листов (из 60). Я их и переименовывал, и создал новые такие-же и удалил старые - все равно он ругался на именно эти 4 листа. Рабочее решение в моем случае предложил Alemox! (Nordheim был как никогда близок в своем предложении решения вопроса.) РЕШЕНИЕ: если Excel не любит, как ты в коде обращаешься к переменной, найди другие слова. Пример: Не работает: (мой код)
Код
If Sheets("Info С").Range("E47") = "1" ThenSheets("1").Visible = True
Else
Sheets("1").Visible = False
End If
With Лист1
If Лист2.Cells(45, 5) = "1" Then
.Visible = xlSheetVisible
Else
.Visible = xlSheetHidden
End If
End With
И так, мы убрали защиту структуры книги полностью и переписали проблемные части кода на другой лад. Нажимаем на кнопку, к которой привязан большой макрос, и.. На Office 365 все ок, а Office 2013 и 2016 вылетают . РЕШЕНИЕ: снести нафиг все кнопки, реализовать их через выпадающий список ячейки (On/Off) и условное форматирование.
И наконец - мой вопрос решен, за что еще раз хочу сказать большое спасибо каждому, кто принял участие в решении моего вопроса!!!
Также я сделал для себя несколько важных умозаключений: 1. Вовремя выполняй просьбы админа, иначе vikttur закроет твой вопрос и ты никогда не узнаешь своего решения 2. Вместе - мы сила! Поэтому, я теперь также буду временами появляться на форуме и помогать другим с решением их вопросов. 3. Если Вам нужно разработать среднее или сложное приложение на большое количество компьютеров с разнашерстным Office - задумайтесь о создании универсального WEB приложения
Еще раз ВСЕМ спасибо! Желаю безошибочного исполнения всех макросов!!
Спасибо, что помогаете мне разобраться с вопросом!
И так, что я успел проверить: Это не глюк листа - я пересоздал листы заново - проблема остается Я использовал предложения по написанию кода выше от Nordheim и Дмитрий(The_Prist) Щербаков, на моем office 365 работает все ок, на office 2016 опять через раз выдает ошибку уже на данном абзаце:
Код
With ThisWorkbook.Sheets("Зак")
If ThisWorkbook.Sheets("Info С").[E45].Value = "1" Then .Visible = xlSheetVisible Else .Visible = xlSheetHidden
End With
Ігор Гончаренко, согласен, что пока код работающий назвать нельзя.
Дорогие форумчане, подскажите пожалуйста, в чем может быть еще дело?
Sub beforeprintPP()
'powerpoint sheets
If Sheets("Go!").Cells(6, 57).Value = "On" Then
If Sheets("Go!").Range("E35") = "1" Then
Sheets("II").Visible = True
Else
End If
If Sheets("Go!").Range("E36") = "1" Then
Sheets("ll").Visible = True
Else
End If
If Sheets("Go!").Cells(8, 57).Value = "On" Then
If Sheets("Go!").Range("E38") = "1" Then
Sheets("П-1").Visible = True
Else
End If
Else
End If
If Sheets("Go!").Cells(10, 57).Value = "On" Then
If Sheets("Go!").Range("E39") = "1" Then
Sheets("П-2").Visible = True
Else
End If
Else
End If
If Sheets("Go!").Range("E43") = "1" Then
Sheets("Serv").Visible = True
Else
End If
If Sheets("Go!").Range("E44") = "1" Then
Sheets("Sеrv").Visible = True
Else
End If
If Sheets("Go!").Range("E47") = "1" Then
Sheets("SL").Visible = True
Else
End If
If Sheets("Go!").Range("E48") = "1" Then
Sheets("SyL").Visible = True
Else
End If
If Sheets("Go!").Range("E56") = "1" Then
Sheets("AFH").Visible = True
Else
End If
If Sheets("Go!").Range("E57") = "1" Then
Sheets("АFH").Visible = True
Else
End If
If Sheets("Go!").Range("E60") = "1" Then
If Sheets("Info М").Range("T30") = "1" Then
Sheets("Зак М").Visible = True
Else
End If
Else
End If
If Sheets("Go!").Range("AE35") = "1" Then
Sheets("$").Visible = True
Else
End If
If Sheets("Go!").Range("AE42") = "1" Then
Sheets("TOC2").Visible = True
Else
End If
Else
End If
End Sub
Часто ошибка появляется на II (две буквы i) или ll (две буквы LL)
Проблема в том, что макрос абсолютно исправен. Работает без нареканий в новой office 365. Но при запуске в Office 2016 и младше, работает через раз: то не видит лист, который нужно скрыть, то все ок. Поэтому, мне очень нужна помощь участника форума с иным Excel (не 365), чтобы он просмотрел и нашел решение.
Макрос работает в Office 365, а в Excel 2016 работает через раз: то спокойно скрывает нужную строку, то ее не может скрыть и выдает ошибку. При этом код большой, я предполагаю, что какая-нибудь внутренняя ошибка исполнения.
Если кто-нибудь попробует открыть файл - думаю, встанет все на свои места
Я не смог подгрузить файл, так как он весит 3,4 мб. Может быть у Вас получится его глянуть? Могу дать управление в Skype или отправить файл на почту. Может быть есть какие-нибудь идеи, с чем это может быть связано?
Добрый день! Буду очень рад, если поможете мне решить вопрос. День уже потерял
Имеется исправный код, спокойно отрабатывающийся в моем Office 365. Код большой - 1500 строк, но элементарный. Например:
Код
If Sheets("Info С").Range("E47") = "1" Then
Sheets("1").Visible = True
Else
Sheets("1").Visible = False
End If
У всех моих коллег установлены Office 2016 (редко 2013).
Когда запускаешь файл у них, сначала выдает ошибку на ровном месте: не может скрыть существующий лист или скрыть столбик диаграммы На второе исполнение макроса - все работает. И так по кругу.
С чем это может быть связано? Как преодолеть данную проблему?