Гость
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Формулы после обновления ListObject / 2 сообщений из 2, страница 1 из 1
13.07.2017, 13:01
    #39488315
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формулы после обновления ListObject
Здравствуйте!

Есть ObjectList, который подключен к кубу с помощью MDX-запроса. Фишка в том, что в колонках есть три статичных атрибута и динамическое количество месяцев-атрибутов. Во вложенном файле на листе присутствует ListObject без подключения к кубу, это для примера. Вставляется ListObject на лист, где присутствует 6 месяцев-колонок, и потом макрос добавляет дополнительные вычисляемые поля. В каждую колонку в первую строку (запись, не заголовок) вставляется формула, и далее автоматически протягивается по всей колонке для остальных строк.

Этот ListObject можно просто обновлять. Но есть но. Если будет уже не 6 месяцев, а 7, то таблица меняет размерность.

1. Если отсутствует флажок в свойстве внешних данных "сохранять сведения о сортировке/фильтре/формате для столбца", то эта вычисляемые меры будут пустыми: вместо названии столбцов - "Столбец1", "Столбец2" и т. д., Формулы исчезают, строки пустые.

2. Если присутствует этот флажок, то Вычисляемые меры остаются. Но "Вычисляемая Мера1" и "Вычиcляемая Мера2" не охватывают добавленную область для суммирования.

Если при последующем обновлении ListObject добавляются новые строки, то формулы в вычисляемых мерах автоматически не добавляются. Почему не добавляются? Как сделать так, чтобы добавлялись?



Во вложенном файле присутствует макрос, который добавляет вычисляемые меры и вставляет формулы туда. В этих формулах в режиме R1C1 для указания индекса колонок прописывается разность между индексом колонки (откуда берется) и текущий индекс колонки (который рассчитывается). Не слишком ли я сложно сделал? Следует учесть, что потом возможно придется добавлять новые вычисляемые меры или дорабатывать имеющиеся вычисляемые меры.



В общем в таком инструменте будут ежедневно обновляться данные, какие то колонки-месяцы добавляться, а какие то - исчезать. Подскажите, как правильно написать макрос, который обновляет данные и формулы в вычисляемых колонках имели нужный диапазон суммирования? Может быть для данной задачи нужно другое решение? Или нужно при обновлении удалять таблицу полностью и вставлять эти вычисляемые меры? Есть вариант вычисляемые меры прописывать сразу в MDX, только эти формулы будут иногда корректироваться в Excel.



Для определения индекса колонки ListObject добавил функцию. Не лишняя ли эта функция или как то можно по другому определить индекс определенного поля?
...
Рейтинг: 0 / 0
13.07.2017, 16:51
    #39488573
iMrTidy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формулы после обновления ListObject
Чтобы на Ваши вопросы охотнее откликались, советую Вам ограничиваться одним вопросом за раз, и формулировать его как можно короче и проще.
ferzmikk...Почему не добавляются? Как сделать так, чтобы добавлялись?
Видимо так работает таблица (ListObject) в Excel. Возможно, поможет Refresh. Можно "дописывать" недостающие формулы или полностью очищать лист перед обновлением таблицы.
ferzmikk...Не слишком ли я сложно сделал?
На мой взгляд слишком.
ferzmikk...Подскажите, как правильно написать макрос, который обновляет данные и формулы в вычисляемых колонках имели нужный диапазон суммирования?
Я бы, возможно, воспользовался внутренним запросом SQL.
ferzmikk...Может быть для данной задачи нужно другое решение? Или нужно при обновлении удалять таблицу полностью и вставлять эти вычисляемые меры?
Да и да, попробовать стоит.
ferzmikk...Не лишняя ли эта функция или как то можно по другому определить индекс определенного поля?
Функцию можно упросить до одной строчки.
Код: vbnet
1.
lo.ListColumns("SKU").Index
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Формулы после обновления ListObject / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]