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

Вход

Регистрация

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

 

= Мир MS Excel/Можно ли макросом создавать меры? - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Можно ли макросом создавать меры? (Макросы/Sub)
Можно ли макросом создавать меры?
Gjlhzl Дата: Воскресенье, 21.05.2023, 18:25 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 110
Репутация: 0 ±
Замечаний: 0% ±

попробовал через рекордер...не пишет.


Сообщение отредактировал Serge_007 - Понедельник, 22.05.2023, 08:56
 
Ответить
Сообщениепопробовал через рекордер...не пишет.

Автор - Gjlhzl
Дата добавления - 21.05.2023 в 18:25
boa Дата: Понедельник, 22.05.2023, 13:31 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 550
Репутация: 167 ±
Замечаний: 0% ±

365
Gjlhzl,
Добрый день,
Меры - это из Power BI
а в Excel - Power Query
И в Power Query можно создавать и переписывать код Запроса

[vba]
Код
Private Sub Update_Queries()
Dim sFormula$

'Можно получить существующую формулу и потом ее преобразовать
    sFormula = ThisWorkbook.Queries.Item("Имя Квери").Formula

'а можно написать новую
    sFormula = VBA.Join(Array( _
            "let", _
                "sSQL = """, "SELECT * ", _
                             "FROM table ", _
                "#""Source"" = Sql.Database(""Адрес Базы"", ""Имя Базы"", [Query=sSQL, MultiSubnetFailover=true, CreateNavigationProperties=false])", _
            "in", "#""Source"""), _
                vbCrLf)

    ThisWorkbook.Queries.Item("Имя Квери").Formula = sFormula

End Sub

[/vba]


 
Ответить
СообщениеGjlhzl,
Добрый день,
Меры - это из Power BI
а в Excel - Power Query
И в Power Query можно создавать и переписывать код Запроса

[vba]
Код
Private Sub Update_Queries()
Dim sFormula$

'Можно получить существующую формулу и потом ее преобразовать
    sFormula = ThisWorkbook.Queries.Item("Имя Квери").Formula

'а можно написать новую
    sFormula = VBA.Join(Array( _
            "let", _
                "sSQL = """, "SELECT * ", _
                             "FROM table ", _
                "#""Source"" = Sql.Database(""Адрес Базы"", ""Имя Базы"", [Query=sSQL, MultiSubnetFailover=true, CreateNavigationProperties=false])", _
            "in", "#""Source"""), _
                vbCrLf)

    ThisWorkbook.Queries.Item("Имя Квери").Formula = sFormula

End Sub

[/vba]

Автор - boa
Дата добавления - 22.05.2023 в 13:31
Gjlhzl Дата: Понедельник, 22.05.2023, 14:46 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 110
Репутация: 0 ±
Замечаний: 0% ±

boa, здравствуйте, попробую пояснить... у меня сводные таблицы создаются по модели данных в Power pivot. там же мерами выполняются расчеты...результаты выводятся в сводные(создаются макросом) из них значения вставляются куда нужно и сводные удаляются...расчеты выполняются при закрытии книги если были какие либо изменения в ячейках.
по времени - создание модели данных, что ее обновление одинаково и даже дольше обновление происходит, вот и возникла идея а если , перед тем как требуеться пересчитать , создавать модель данных.....а после вставки значений ,удалять модель (файл вдвойне меньше весит тогда - и возможно пошустрее будет, в этом весь смысл))) , но при удалении таблицы в power piwot удаляються и созданные меры.......
может идея и тупая и не к чему. просто подумал а вдруг


Сообщение отредактировал Gjlhzl - Понедельник, 22.05.2023, 14:47
 
Ответить
Сообщениеboa, здравствуйте, попробую пояснить... у меня сводные таблицы создаются по модели данных в Power pivot. там же мерами выполняются расчеты...результаты выводятся в сводные(создаются макросом) из них значения вставляются куда нужно и сводные удаляются...расчеты выполняются при закрытии книги если были какие либо изменения в ячейках.
по времени - создание модели данных, что ее обновление одинаково и даже дольше обновление происходит, вот и возникла идея а если , перед тем как требуеться пересчитать , создавать модель данных.....а после вставки значений ,удалять модель (файл вдвойне меньше весит тогда - и возможно пошустрее будет, в этом весь смысл))) , но при удалении таблицы в power piwot удаляються и созданные меры.......
может идея и тупая и не к чему. просто подумал а вдруг

Автор - Gjlhzl
Дата добавления - 22.05.2023 в 14:46
Gjlhzl Дата: Среда, 24.05.2023, 10:38 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 110
Репутация: 0 ±
Замечаний: 0% ±

решение нашел такое: тупо добавил в модель данных мелкую табл. и перенес на этот лист Меры...после удаления таблицы к которой меры применяются, они не удаляются
 
Ответить
Сообщениерешение нашел такое: тупо добавил в модель данных мелкую табл. и перенес на этот лист Меры...после удаления таблицы к которой меры применяются, они не удаляются

Автор - Gjlhzl
Дата добавления - 24.05.2023 в 10:38
boa Дата: Суббота, 27.05.2023, 20:44 | Сообщение № 5
Группа: Друзья
Ранг: Ветеран
Сообщений: 550
Репутация: 167 ±
Замечаний: 0% ±

365
Gjlhzl,
наверное, не совсем понял вашу идею,
но меры не могут считать при отсутствии данных, ибо они рассчитываются непосредственно из данных в момент обращения.
если вы из модели удаляете данные, то о каком расчет может идти речь?
или вам надо просто формулу меры сохранить?

Меры могут храниться даже не в той таблице к которой обращаются, поэтому вполне реально создать "таблицу мер" и плясать вокруг нее, если уж такая сложная схема ))


 
Ответить
СообщениеGjlhzl,
наверное, не совсем понял вашу идею,
но меры не могут считать при отсутствии данных, ибо они рассчитываются непосредственно из данных в момент обращения.
если вы из модели удаляете данные, то о каком расчет может идти речь?
или вам надо просто формулу меры сохранить?

Меры могут храниться даже не в той таблице к которой обращаются, поэтому вполне реально создать "таблицу мер" и плясать вокруг нее, если уж такая сложная схема ))

Автор - boa
Дата добавления - 27.05.2023 в 20:44
Gjlhzl Дата: Вторник, 30.05.2023, 19:48 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 110
Репутация: 0 ±
Замечаний: 0% ±

boa, есть таблица (назовем табл1) в эксель порядка 40 столбцов и десятки тысяч строк, постоянно добавляются новые,
новые строки или строки в которых что то менялось пересчитываются макросом и подставляются значения. табл1 добавлена в модель данных РР, с помощъю мер выполняются доп
расчеты и создаются сводные табл. из которых беруться значения и подставляются куда нужно.
при таком раскладе файл весит 4,3мб., попробовал удалить табл1 из РР (удаляются и меры тоже) вес файла стал 2,6мб.. то есть PP добавляет к весу 65%, проверил--время на обновление модели данных и ее создание практически одинаковы...
возникла идея---добавил мелкую табл2 в модель данных PP, перенес на нее все меры связанные с табл1 и --- при удалении подключения табл1 из модели данных , меры на листе с табл2 в РР остаются-не удаляются.. но с ошибками...
после добавления табл1 в модель данных меры работают! добавление и удаление добавил в макрос
то есть при запуске пересчета табл1-- сначала добавляется табл1 в РР,создаются сводные , добавляются формулы в пересчитываемые строки записываются значения (часть берется из созданных сводных), после удаляется лист со сводными, и из модели РР подключение к табл1. все работает ОК.....но после первого сохранения файла он весит 2,6мб...а после последующих 4,3м. хотя подключения РР к табл1 нет...подозреваю сохраняется кеш или еще что в power pivot ............ в инете смотрел и применял макросы для очистки кеша но все равно вес файла тот же 4,3мб. а если не удалить подключение к табл1 то 5,8мб.....
как сделать что бы и удалялся кеш или еще что???


Сообщение отредактировал Gjlhzl - Вторник, 30.05.2023, 19:54
 
Ответить
Сообщениеboa, есть таблица (назовем табл1) в эксель порядка 40 столбцов и десятки тысяч строк, постоянно добавляются новые,
новые строки или строки в которых что то менялось пересчитываются макросом и подставляются значения. табл1 добавлена в модель данных РР, с помощъю мер выполняются доп
расчеты и создаются сводные табл. из которых беруться значения и подставляются куда нужно.
при таком раскладе файл весит 4,3мб., попробовал удалить табл1 из РР (удаляются и меры тоже) вес файла стал 2,6мб.. то есть PP добавляет к весу 65%, проверил--время на обновление модели данных и ее создание практически одинаковы...
возникла идея---добавил мелкую табл2 в модель данных PP, перенес на нее все меры связанные с табл1 и --- при удалении подключения табл1 из модели данных , меры на листе с табл2 в РР остаются-не удаляются.. но с ошибками...
после добавления табл1 в модель данных меры работают! добавление и удаление добавил в макрос
то есть при запуске пересчета табл1-- сначала добавляется табл1 в РР,создаются сводные , добавляются формулы в пересчитываемые строки записываются значения (часть берется из созданных сводных), после удаляется лист со сводными, и из модели РР подключение к табл1. все работает ОК.....но после первого сохранения файла он весит 2,6мб...а после последующих 4,3м. хотя подключения РР к табл1 нет...подозреваю сохраняется кеш или еще что в power pivot ............ в инете смотрел и применял макросы для очистки кеша но все равно вес файла тот же 4,3мб. а если не удалить подключение к табл1 то 5,8мб.....
как сделать что бы и удалялся кеш или еще что???

Автор - Gjlhzl
Дата добавления - 30.05.2023 в 19:48
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Можно ли макросом создавать меры? (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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