что такое powerpivot в excel
Надстройки Power Query и Power Pivot
Power Query и Power Pivot — надстройки Excel для легкой работы с тяжелыми файлами. С помощью Power Query можно подключать и обрабатывать источники информации произвольного вида, а в Power Pivot – выполнять сложные расчеты и создавать модель данных.
Надстройка Power Query
Появление Power Query – одно из важных событий в истории развития Excel. То, что раньше пользователи делали в Excel с помощью рутинных операций по преобразованию данных, писали огромные формулы или макросы на VBA, теперь можно выполнять буквально в несколько щелчков мышкой.
Power Query – это надстройка для создания запросов по импорту, очистке и преобразованию данных.
Как работает
В привычном нам виде Power Query впервые появился в Excel 2013. В Excel 2010 и 2013 надстройка отображается в виде отдельной вкладки «Power Query».
В Excel 2016 надстройка уже встроена по умолчанию, на вкладке Данные – раздел «Скачать и преобразовать».
В версии Excel 2019 на вкладке Данные разделы с Power Query — «Получить и преобразовать данные» и «Запросы и подключения».
Возможности Power Query
Операции по преобразованию данных выполняются в окне редактора запросов.
В редакторе Power Query пользователь работает с данными – выполняет преобразования, а его действия автоматически записываются в виде шагов запроса.
Как скачать Power Query
Надстройка устанавливается бесплатно и доступна для Excel начиная с версий 2010 года:
Надстройка Power Pivot
Power Pivot — это надстройка Excel, в которой можно выполнять улучшенные вычисления для сводных таблиц с помощью DAX-формул. Power Pivot значительно расширяет функционал сводных таблиц и позволяет работать с большими объемами данных – в десятки миллионов строк.
Как работает
Возможности Power Pivot
Кстати, в Power Pivot есть свои инструменты для импорта данных, но из небольшого числа источников – некоторые базы данных, файлы Excel и текстовые и др. Эти инструменты можно найти на вкладке Главная. Так как доступных источников данных не очень много, то, как правило, в качестве источника для него выступает Power Query, функционал которого по подключению намного больше.
Увидеть все загруженные данные можно в нижней части окна Power Pivot – ярлычки с названиями таблиц находятся там же, где названия листов в «обычном» Excel.
Power Pivot: Оконные функции под соусом DAX
[в связи со спорным переносом 1 части поста на geektimes (при том что 2-я часть осталась на хабре) возвращаю 1-ю часть на место]
Работая в сфере аналитики и мониторя различные инструменты BI рано или поздно наталкиваешься на обзор или упоминание надстройки Power Pivot Excel. В моем случае знакомство с ним произошло на конференции Microsoft Data Day.
Особых впечатлений после презентации инструмент не оставил: Да, бесплатен (в рамках лицензии Office), да — есть некий ETL функционал в части получения данных с разрозненных источников (БД,csv,xls, и т.д.), Join-ов этих источников и скармливания в оперативку записей на порядки выше 1 млн.строк в Excel. Короче, посмотрел и забыл.
А вспомнить пришлось, когда появилась необходимость идентификации определённых явлений в данных
На написание данной статьи сподвигло то что в рунете по этому инструменту не много какой либо детальной информации о конкретных приемах работы, все больше о звездах, поэтому решил, изучая этот инструмент, написать данный обзор.
Собственно, постановка задачи (на обезличенном примере) следующая:
В исходных данных csv файла:
Есть торговые точки, детализированные до строк накладных, при этом допускается для точек с одинаковым наименованием иметь разные адреса только в том случае если они расположены в разных городах, но в исходном массиве данных есть точки, у которых попадаются разные адреса в одном и том же городе при том, что названия точек одинаковые (имя торговой точки уникально, т.е. это единица сети или отдельно стоящая точка). Как частный случай в агрегированном виде:
Поиску и очистке данных штатными средствами office мешают следующие обстоятельства:
• Детализация данных до строк накладной
• Количество записей в несколько миллионов строк
• Отсутствие sql инструментария (К примеру: Access — не в комплекте)
Конечно можно залить любую бесплатную СУБД (хоть десктоп версию, хоть серверную) но для этого во-первых нужны админские права, во-вторых статья была бы уже не про Power Pivot.
Задача: для каждой атомарной записи требуется дополнительное вычисляемое поле, которое посчитает для каждого наименования торговой точки уникальное количество адресов в рамках того же города. Данное поле требуется для быстрого нахождения всех имен торговых точек в городе, где адресов больше 1.
Думаю, удобнее всего решать и рассказывать итерационно, с допущением что у нас знания по DAX в зачаточном уровне.
Поэтому предлагаю пока оторваться от задачи и рассмотреть некоторые базовые аспекты.
Шаг 1. Чем отличается вычисляемый столбец от вычисляемой меры?
Вот пример вычисляемого столбца для выделения НДС из поля отгрузки с НДС используя встроенные формулы DAX:
=ROUND([Отгрузка с НДС]*POWER(1,18;-1)*0,18;2)
Как видно из примера вычисляемый столбец (Назовем его НДС) работает с каждой атомарной записью по горизонтали.
Теперь добавим вычисляемое поле для цены за штуку без НДС:
=ROUND([Отгрузка с НДС]*POWER(1,18;-1)/[Отгрузка шт];2)
Теперь для сравнения добавим в меру расчет средней цены за штуку:
Средняя цена за штуку без НДС: =ROUND(AVERAGE([Поле_Цена за штуку без НДС]);2)
Как видно из формулы, мера работает со столбцом исходных данных по вертикали, поэтому она всегда должна содержать в себе какую то работающую с множеством функцию (Сумму, среднюю, дисперсию и т.д.)
При возврате в сводную таблицу Excel это выглядит так:
Обратите внимание, если вычисляемое поле НДС на каждом уровне данных (зеленая обводка на уровне торговой точки, города или итого по таблице) показывает сумму, что в принципе – корректно, то сумма цен вычисляемого поля «Цена за штуку без НДС» (красная обводка) вызывает вопросы.
А вот вычисляемая мера «Средняя цена за штуку без НДС» вполне имеет право на жизнь в рамках данного аналитического куба.
Отсюда делаем вывод, что вычисляемое поле «Цена за штуку без НДС» является вспомогательным инструментом для расчета меры «Средняя цена за штуку без НДС» и дабы не смущать пользователя этим полем мы скроем его из списка клиентских средств, оставив меру средней цены.
Еще одно отличие меры от столбца – она позволяет добавить визуализацию:
К примеру, построим KPI степени разброса цен с целевой границей 35% путем деления корня из дисперсии на среднюю арифметическую.
К_вар:=STDEV.P([Поле_Цена за штуку без НДС])/AVERAGE([Поле_Цена за штуку без НДС])
В итоге видим такую таблицу в Excel (кстати расчетное вспомогательное поле цен уже не в списке доступных полей справа):
Двойной клик на 80%-м коэффициенте показывает, что цены действительно колбасит вокруг средней:
Cильнее чем при коэффициенте 15%:
Итак, на данном шаге мы рассмотрели основные отличия мер от полей в рамках PowerPivot.
Шаг 2. Усложняем: Посчитаем долю каждой записи в общих продажах.
Вот первый пример сравнения подходов оконных функций MS SQL Server и DAX:
Понятно, что в рамках сводных таблиц это делается буквально в 2 клика мышкой не касаясь клавиатуры, но для понимания попробуем это непосредственно в PowerPivot с применением формул.
На sql я бы это написал так (за огрехи не пинать, ибо Word синтаксис SQL Server не проверяет):
Здесь, как можно заметить окно открывается через все записи датасэта, попробуем аналогичную вещь в PowerPivot:
=[Отгрузка шт]/CALCULATE(SUM([Отгрузка шт]);ALL(‘Таблица1’))
Основное внимание обратим к знаменателю: Я уже упоминал выше что основное отличие вычисляемого поля от меры заключается в том что в поле формулы считают по горизонтали ( в рамках одной записи) а меры – по вертикали ( в рамках одного атрибута). Здесь мы смогли скрестить свойства поля и свойство меры через метод CALCULATE. И если ширину окна в SQL мы отрегулировали через Over() то здесь мы сделали это через All().
Попробуем теперь, обладая данным навыком, сделать с нашими данными что –нибудь полезное, например, вспомнив что показатель разброса цен вокруг средних варьировался в широком диапазоне, попробуем выделить статистические выбросы цен через правило 3-х сигм.
Оконные функции на sql будут смотреться так:
А вот то же самое в DAX:
=if(ABS([Поле_Цена за штуку без НДС]-CALCULATE(AVERAGE([Поле_Цена за штуку без НДС]);ALL(‘Таблица1’)))>(3*CALCULATE(STDEV.P([Поле_Цена за штуку без НДС]);all(‘Таблица1’)));1;0)
Как видите, цена несколько высоковата при средней арифметической 40,03 руб.
Шаг 3. Сужаем окна.
Попробуем теперь посчитать в вычисляемом поле каждой записи общее количество записей в рамках того города, к которому принадлежит и данная запись.
На MS sql Server оконные функции будут выглядеть так:
В DAX:
=CALCULATE(COUNTROWS(‘Таблица1’);ALLEXCEPT(‘Таблица1’;’Таблица1′[Город]))
Обратите внимание на разницу в отображении данных в таблице, я специально бросил адреса в область мер что бы посчитать их количество и сравнить с новым полем которое вывел в заголовок строк после имени торговой точки.
Отчетлива видна разница: если обычный расчет количества адресов идет для каждой точки в городе и потом только выводит промежуточный итог для агрегата «Город» то использование оконных функций позволяет присвоить каждой атомарной записи значение любого агрегата, либо использовать его в каких-то промежуточных расчетах вычисляемого поля ( как было показано выше).
Возвращаемся к исходной задаче
Итак, напомню, исходная постановка задачи: для каждой атомарной записи требуется дополнительное вычисляемое поле, которое посчитает для каждого наименования торговой точки уникальное количество адресов в рамках того же города. Не забываем, что датасэт у нас детализирован до строк накладной, поэтому перед подсчетом адресов внутри окна их необходимо сгруппировать.
Запрос на SQL Server:
Теперь нам ничего не мешает это сделать и в DAX:
В итоге у нас появилась возможность отобрать подозрительные записи, где на одну и ту же точку в одном городе приходится более 1 адреса.
Конечно в процессе изучения (пробежавшись взглядом на другие формулы) становится понятно что DAX в PowerPivot гораздо мощнее чем показано в данном топике, но объять необъятное за раз – точно не получится.
Надеюсь было интересно.
Продолжение статьи здесь
Power Pivot для Excel: что это такое и как его использовать
Добавьте таблицы поиска в свои наборы данных с помощью этого изобретательного дополнения
У вас есть данные и их много. Если вы хотите проанализировать все эти данные, узнайте, как использовать надстройку Power Pivot с Excel для импорта наборов данных, определения связей, создания сводных таблиц и создания сводных диаграмм.
Инструкции в этой статье применяются к Excel 2019, 2016, 2013 и Excel для Office 365.
Как получить надстройку Excel Power Pivot
Power Pivot предоставляет вам мощное приложение для анализа и анализа бизнес-данных. Вам не нужно специализированное обучение для разработки моделей данных и выполнения расчетов. Вам просто нужно включить его, прежде чем вы сможете его использовать.
Следуйте вместе с учебником
Если вы хотите быстро приступить к работе с Power Pivot, учитесь на примере. У Microsoft есть несколько примеров наборов данных, доступных для бесплатной загрузки, которые содержат необработанные данные, модель данных и примеры анализа данных. Это отличные инструменты обучения, которые позволяют понять, как профессионалы анализируют большие данные.
В этом руководстве используется образец рабочей книги Microsoft Student Data Model. В первой заметке на странице вы найдете ссылку для загрузки учебного пособия и заполненной модели данных.
Данные в этом образце книги Excel имеют следующее:
Есть другие примеры наборов данных на веб-сайте Microsoft. Изучите эти учебные ресурсы:
Перед использованием любого набора данных очистите его. Используйте функцию CLEAN в Excel, чтобы избавиться от непечатных символов, запустить проверку орфографии, удалить дублирующиеся строки данных, преобразовать числа и даты в нужный формат и перегруппировать данные.
Как добавить данные в файл Excel и построить модель данных
Вы собрали данные, которые вам нужны. Теперь пришло время импортировать ваши наборы данных в Excel и автоматически создать модель данных. Модель данных похожа на реляционную базу данных и предоставляет табличные данные, используемые в сводных таблицах и сводных диаграммах.
Если вам нужны данные для школьного задания, рабочего проекта или для выполнения этого учебного руководства, вы найдете отличные общедоступные наборы данных на GitHub.
Чтобы импортировать данные Excel в модель данных Power Pivot:
Откройте пустой лист и сохраните файл с уникальным именем.
В Excel 2013 выберите Power Query > Получить внешние данные и выберите источник данных.
Выберите таблицы, которые вы хотите импортировать.
При импорте двух или более таблиц Excel автоматически создает модель данных.
Окно Power Pivot отображает ваши данные в формате рабочего листа и состоит из трех основных областей: таблица данных, область расчета и вкладки таблицы данных.
Вкладки в нижней части окна Power Pivot соответствуют каждой из импортированных таблиц.
Закройте окно Power Pivot.
Создание связей между таблицами с помощью Power Pivot Excel
Теперь, когда у вас есть модель данных, пришло время создать отношения между каждой из таблиц данных.
Импортированные таблицы отображаются в виде отдельных блоков в представлении схемы. Перетащите, чтобы переместить таблицы в другое место. Перетащите угол окна, чтобы изменить его размер.
Перетащите заголовок столбца из одной таблицы в другую или в таблицы, содержащие одинаковый заголовок столбца.
Продолжайте сопоставлять заголовки столбцов.
Как создавать сводные таблицы
Когда вы используете Power Pivot для создания модели данных, большая часть тяжелой работы, включающей сводные таблицы и сводные диаграммы, была выполнена для вас. Отношения, которые вы создали между таблицами в вашем наборе данных, используются для добавления полей, которые вы будете использовать для создания сводных таблиц и сводных диаграмм.
На панели Поля сводной таблицы выберите поля, которые нужно добавить в сводную таблицу. В этом примере создается сводная таблица, которая содержит имя учащегося и его среднюю оценку.
Чтобы отсортировать данные сводной таблицы, перетащите поле в область «Фильтры». В этом примере поле «Имя класса» добавляется в область «Фильтры», поэтому список можно отфильтровать, чтобы показать среднюю оценку ученика для класса.
Проанализируйте ваши данные. Поэкспериментируйте с фильтрами и отсортируйте данные, используя стрелки раскрывающегося списка заголовков столбцов.
Преобразовать сводную таблицу в сводную диаграмму
Если вы хотите визуализировать данные сводной таблицы, превратите сводную таблицу в сводную диаграмму.
Создать сводные диаграммы
Если вы предпочитаете анализировать данные в визуальном формате, создайте сводную диаграмму.
Перетащите поля для добавления в сводную диаграмму. В этом примере создается сводная диаграмма, показывающая среднюю оценку для классов, отфильтрованных по семестрам.
Проанализируйте ваши данные. Поэкспериментируйте с фильтрами и отсортируйте данные с помощью стрелок раскрывающегося списка заголовков столбцов.
Где есть Power Pivot?
Какие версии Office включают Power Pivot?
Примечание: Эта статья последний раз была обновлена 1/8/2019. Доступность Power Pivot будет зависеть от используемой вами версии Office. Если вы являетесь подписчиком Microsoft 365, то убедитесь, что у вас установлены последние обновления.
Power Pivot есть в следующих продуктах Office:
Единовременно приобретаемые продукты (с бессрочной лицензией)
Office профессиональный 2019
Office для дома и бизнеса 2019
Office для дома и учебы 2019
Office 2016 профессиональный плюс (доступен только по программе корпоративного лицензирования)
Office 2013 профессиональный плюс
Автономная версия Excel 2013
Автономная версия Excel 2016
Надстройка Power Pivot для Excel 2010
Надстройка Power Pivot для Excel 2010 не поставляется с Office, но ее можно бесплатно скачать с этой страницы.
Она подходит только для Excel 2010, а не для более новых версий Excel.
Power Pivot не входит в состав следующих продуктов:
Office профессиональный 2016
Office для дома и учебы 2013
Office для дома и учебы 2016
Office для дома и работы 2013
Office для дома и работы 2016
Office для Android
Office стандартный 2013
Office профессиональный 2013
Все версии Office, выпущенные до 2013 г.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Об объекте PowerPivot model в Excel
Узнайте о модели PowerPivot надстройки и ее объектной модели в Excel.
Об объекте PowerPivot model
Надстройка PowerPivot позволяет визуально создавать собственные кубики. Куб данных — это массив данных, определенный в размерах или слоях. Объект Model в Excel, реализованный надстройка PowerPivot, обеспечивает основу для загрузки и объединения исходных данных из нескольких источников данных для анализа данных на рабочем столе, включая реляционные базы данных, многомерные источники, облачные службы, каналы данных, Excel файлы, текстовые файлы и данные из Интернета. Excel интегрирует дополнительные источники данных и позволяет объединять данные из нескольких источников данных.
Создание и удаление модели PowerPivot (система УПП) запускается действиями пользователя и не может быть создано непосредственно разработчиком.
Отношения, определенные
В этой статье мы будем ссылаться на связь между двумя таблицами, которая устанавливает, как следует соотносить данные с отношениями.
Отношения объединяет данные из ранее не связанных источников данных. Каждое отношение имеет основной ключ и иностранный ключ. Отношения позволяют соединять данные в одну модель. Это позволяет:
Фильтрация данных в одной таблице данными в связанной таблице
Фильтрация данных по связанным столбцам
Интеграция столбцов из нескольких таблиц в pivotTable/сводная диаграмма
Сохранение книг меньше, не повторяя данные
Только для одиночных моделей
Excel надстройка PowerPivot создает единую модель в книге, к которой она может добавлять источники данных, создавать, изменять и соотносят таблицы. В книге может быть только одна модель.
Работа с источниками данных OLAP
При подключении к источнику данных OLAP, такому как Analysis Services и созданию pivotTables OLAP, pivotCharts, Slicers или Cube, модель не создается. Книги, созданные с помощью надстройки PowerPivot, можно загрузить в SharePoint, загрузить в память на сервер и получить доступ к другим книгам, как если бы это был обычный экземпляр служб SQL Server аналитики.
Запуск создания модели PowerPivot
По умолчанию XLSX-файлы в Excel 2010 и Excel не имеют система УПП инициализации до тех пор, пока модель не будет признана необходимой. Некоторые действия вызывают создание система УПП, если в книге нет существующей модели. В следующих разделах описываются действия, которые запускают создание система УПП, если оно не существует в книге.
Добавление нового источника данных, не устаревшего
При импорте определенных типов данных в книге создается новая модель (если она еще не существует), которая содержит свойства подключения, представление таблицы источников данных книги и связи между ними. Это включает внутренние источники данных, такие как диапазоны и таблицы. В таблице 1 перечислены различные источники данных, которые можно интегрировать с система УПП.
Таблица 1. Источники данных, совместимые с PowerPivot моделью
Источник данных | Описание | Предварительный просмотр таблицы | Поддерживаемый запрос |
---|---|---|---|
Microsoft SQL Server | Уже поддерживается в Excel | Да | Да |
Microsoft SQL Azure рынок данных | Поддерживается в качестве нового источника данных для каналов данных | Да | Нет |
Microsoft SQL Server Parallel Data Warehouse | Поддерживается с помощью установленного драйвера OLE DB | Да | Да |
Microsoft Access | Уже поддерживается в Excel | Да | Да |
Oracle | Уже поддерживается в Excel | Да | Да |
Teradata | Доступно, если установлен драйвер OLE DB или ODBC | Нет | Нет |
Sybase | Доступно, если установлен драйвер OLE DB или ODBC | Нет | Нет |
Informix | Доступно, если установлен драйвер OLE DB или ODBC | Нет | Нет |
IBM Db2 | Доступно, если установлен драйвер OLE DB или ODBC | Нет | Нет |
Службы анализа Майкрософт | Уже поддерживается в Excel | Да | Да |
Отчет (SSRS) | Может читать и использовать подключения, но не авторинг в Excel клиенте | Да | Нет |
Текст | Из Excel в пользовательском интерфейсе Ribbon | Да | Нет |
Каналы данных (OData) | Поддерживается в качестве нового источника данных | Да | Да |
XML | Уже поддерживается в Excel | Нет | Нет |
Списки SharePoint | Уже поддерживается в Excel. Excel для подключения к SharePoint | Нет | Нет |
SharePoint | Новая функция в Excel | Да | Да |
Excel Таблицы | Пользователь определяет таблицу в Excel для новой функции данных. После создания таблицы к таблице создается подключение к данным таблицы. | Н/Д | Н/Д |
Excel Диапазоны | Пользовательский диапазон в Excel для новой функции данных. Подключение к данным таблицы в этом случае создается в диапазоне только в том случае, если элемент данных, например диаграмма или PivotTable, использует диапазон. | Н/Д | Н/Д |
Создание нового Excel pivotTable без OLAP
Новые Excel pivotTables, не созданные из источника данных OLAP, будут основаны на система УПП поэтому если система УПП в файле не присутствует новый, создается в рамках действия создания PivotTable. В том числе:
Использование пользовательского интерфейса вставки PivotTable
Обобщение данных с помощью пользовательского интерфейса PivotTable
PivotTable, основанный на источнике данных без OLAP, созданном с помощью объектной модели Microsoft Visual Basic для приложений (VBA).
Создание нового Excel без OLAP-сводная диаграмма
В Excel, pivotTables и PivotCharts имеют возможность больше не быть соединимыми. Поэтому при вставки сводная диаграмма в книгу без модели создается система УПП.
Вклейка Excel pivotTables без OLAP из другой книги
При вклеии pivotTable или сводная диаграмма из другой книги, которая основана на система УПП в одну, не имеет система УПП, в книге назначения будет система УПП новый система УПП. В недавно созданную модель будет добавлен новый источник данных, указыв на исходные данные создающихся pivotTable/сводная диаграмма.
Отмена создания PowerPivot модели
Все действия, которые приводят к созданию система УПП, можно отменить. Если эти действия выбраны из меню отмены, фактическое создание модели не отменяется, но ничего не будет добавлено в него; поэтому он останется пустым. Когда книга сохранена, если модель пуста, модель не будет сохранена вместе с файлом. Нет явного способа вручную удалить модель, созданную в книге.
Примечание Как и в Excel 2010 г., существует ограничение в том, какие размеры модели можно отменить. Когда модель растет до этого предельного размера, функция отмены действий, таких как обновление, больше не предоставляется. Текущее ограничение для родных pivotTables составляет 300 000 строк, при 28 bytes ячейке это ограничение составляет примерно 8 МБ в памяти. Эти значения можно задать с помощью расширенных параметров в Excel, как показано на рисунке 1.
Рис. 1. Задай размер для операций отмены больших моделей данных
Объектная PowerPivot модель
В книге будет иметься один и только один объект Model. Объект Model представляет объект верхнего уровня, содержащий все его подключения, отношения и таблицы.
Вы не можете вручную создать модель в книге; Создание модели запускается с помощью действий, описанных в предыдущем разделе в этой статье. Если любое из этих действий выполняется с помощью объектной модели (OM), создается новая модель. Цель этого ОМ — программное создание связей между таблицами моделей, в результате чего соединяются таблицы, объединяя pivotTables и т. д. Чтобы вы могли это сделать, вы должны иметь возможность изучить модель, чтобы найти соответствующие таблицы, а в таблицах найти соответствующие столбцы, которые будут использоваться для создания отношений.
Объект Model
Объект Model хранит ссылки на подключения к книгам и сведения о таблицах и связях, содержащихся в система УПП. В таблице 2 перечислены свойства объекта Model.
Таблица 2. Свойства объекта Model
Property | Чтение и написание | Тип | Описание |
---|---|---|---|
Приложение | Только для чтения | Приложение | Возвращает объект, который представляет Microsoft Excel приложение. |
Creator | Только для чтения | xlCreator | Возвращает 32-битный ряд, который указывает приложение, в котором был создан указанный объект. |
Parent | Только для чтения | Object | Возвращает объект, который представляет родительский объект указанного объекта Model. |
ModelTables | Только для чтения | ModelTable | Коллекция таблиц внутри система УПП. |
ModelRelationships | Только для чтения | ModelRelationships | Коллекция связей между система УПП таблицами. |
DataModelConnection | Н/Д | WorkbookConnection | Возвращает объект подключения к модели из коллекции подключений к книгам, которая подключается к модели. |
Метод Model.AddConnection
Добавляет новое подключение книги к модели с тем же свойствам, что и предоставленное в качестве аргумента. Этот метод работает только на внешних подключениях немоделирования и возвращает ошибку, если она вызвана с внешним подключением модели в качестве аргумента. При вызове этого метода создается новое подключение модели, которое называется так же, как и устаревшее соединение с integer в конце, чтобы сделать имя уникальным. В таблице 3 перечислены параметры метода AddConnection.
Таблица 3. Параметры метода Model.AddConnection
Имя | Необходимость | Тип | Описание |
---|---|---|---|
ConnectionToDataSource | Обязательный | WorkbookConnection | Подключение к книге |
Метод Model.CreateModelWorkbookConnection
Вызов этого метода возвращает объект WorkbookConnection типа ModelConnection. Возвращается подключение модели, подключенное к указанной таблице. Этот тип подключения может использоваться только таблицами запросов в Excel. В таблице 4 перечислены параметры метода CreateModelWorkbookConnection.
Таблица 4. Параметры метода Model.CreateModelWorkbookConnection
Имя | Необходимость | Тип | Описание |
---|---|---|---|
ModelTable | Обязательный | Variant | Либо имя таблицы модели, либо объект таблицы модели. |
Model.Initialize Метод
Метод Initialize объекта Model не имеет параметров. Инициализирует система УПП. Это называется по умолчанию при первом используется модель.
Метод Model.Refresh
Метод Обновления объекта Model не имеет параметров. Обновляет все источники данных, связанные с моделью, полностью перепроцесирует модель и обновляет все Excel, связанные с объектом Model.
Объект ModelChanges
Представляет изменения, внесенные в система УПП. Объект ModelChanges содержит сведения о том, какие изменения были внесены в модель данных при событии Workbook.ModelChange после операции модели. Когда Excel в модель данных, в одной операции можно внести несколько изменений, а объект ModelChanges будет включать сведения обо всех изменениях, внесенных в одной операции модели. В таблице 5 перечислены свойства объекта ModelChanges.
Таблица 5. Свойства объекта ModelChanges
Property | Чтение и написание | Тип | Описание |
---|---|---|---|
Приложение | Только для чтения | Приложение | Возвращает объект, который представляет Microsoft Excel приложение. |
ColumnsAdded | Только для чтения | ModelColumnNames | Возвращает коллекцию ModelColumnNames объектов ModelColumnName, которые представляют все столбцы, добавленные в рамках операции модели. |
ColumnsChanged | Только для чтения | ModelColumnChanges | Возвращает коллекцию ModelColumnChanges объектов ModelColumnChange, которые представляют имена таблиц и имена столбцов всех столбцов таблиц, для которых тип данных был изменен в рамках операции модели. |
ColumnsDeleted | Только для чтения | ModelColumnNames | Возвращает коллекцию ModelColumnNames объектов ModelColumnName, которые представляют все столбцы, удаленные в рамках операции модели. |
MeasuresAdded | Только для чтения | ModelMeasureNames | Возвращает коллекцию ModelMeasureNames объектов ModelMeasureName, которые представляют все меры, которые были добавлены в рамках операции модели. |
Parent | Только для чтения | Object | Возвращает объект, который представляет родительский объект указанного объекта ModelChanges. |
RelationshipChange | Только для чтения | Boolean | Когда True, одно или несколько связей в модели были изменены (добавлены, удалены или изменены) в рамках операции модели. Когда false, никакие отношения не были изменены во время операции. |
TableNamesChanged | Только для чтения | ModelTableNameChanges | Возвращает коллекцию ModelTableNameChanges объектов ModelTableNameChange, которая представляет старые и новые имена всех таблиц, переименованных в модели в рамках операции модели. |
TablesAdded | Только для чтения | ModelTableNames | Возвращает коллекцию имен таблиц ModelTableNames в качестве строк, которые представляют все таблицы, добавленные в модель в рамках операции модели. |
TablesDeleted | Только для чтения | ModelTableNames | Возвращает коллекцию имен таблиц ModelTableNames в качестве строк, которые представляют все таблицы, удаленные из модели в рамках операции модели. |
TablesModified | Только для чтения | ModelTableNames | Возвращает коллекцию имен таблиц ModelTableNames в качестве строк, которые представляют все таблицы, которые были обновлены или пересчитаны в рамках операции модели. |
UnknownChange | Только для чтения | Boolean | True, когда в модель в рамках транзакции модели было внося не указанное изменение. |
Коллекция ModelColumnChanges
Коллекция объектов ModelColumnChange, которые представляют столбцы, для которых тип данных изменился в система УПП. В таблице 6 перечислены свойства коллекции ModelColumnChanges.
Таблица 6. Свойства коллекции ModelColumnChanges |Property|Чтение и написание|Тип|Описание| |:——|:——|:——|:——| | Приложение|Только для чтения| Приложение|Возвращает объект, который представляет Microsoft Excel приложение.| | Count|Только для чтения| Long|Возвращает число объектов ModelColumnChange в коллекции| | Creator|Только для чтения| xlCreator|Возвращает 32-битный ряд, который указывает приложение, в котором был создан указанный объект.| | Parent|Только для чтения| Object|Возвращает объект, который представляет родительский объект указанного объекта ModelColumnChanges.|
Метод ModelColumnChanges.Item
Возвращает один объект из коллекции ModelColumnChanges. В таблице 7 перечислены параметры метода Item.
Таблица 7. Параметры метода ModelColumnChanges.Item
Имя | Необходимость | Тип | Описание |
---|---|---|---|
Index | Обязательный | Variant | Номер индекса или имя объекта. |
Объект ModelColumnChange
Объект, который представляет столбец в таблице в система УПП, для которого был изменен тип данных. В таблице 8 перечислены свойства объекта ModelColumnChange.
Таблица 8. Свойства объекта ModelColumnChange
Property | Чтение и написание | Тип | Описание |
---|---|---|---|
Приложение | Только для чтения | Приложение | Возвращает объект, который представляет Microsoft Excel приложение. |
ColumnName | Только для чтения | String | Строка, представляюная имя столбца, для которого был изменен тип данных. |
Creator | Только для чтения | xlCreator | Возвращает 32-битный ряд, который указывает приложение, в котором был создан указанный объект. |
Parent | Только для чтения | Object | Возвращает объект, который представляет родительский объект указанного объекта ModelColumnChange. |
TableName | Только для чтения | String | Строка, которая представляет имя таблицы в система УПП, для которой был изменен тип данных столбца. |
Коллекция ModelColumnNames
Коллекция объектов ModelColumnName, которая представляет столбцы таблиц в система УПП. В таблице 9 перечислены свойства коллекции ModelColumnNames.
Таблица 9. Свойства коллекции ModelColumnNames
Property | Чтение и написание | Тип | Описание |
---|---|---|---|
Приложение | Только для чтения | Приложение | Возвращает объект, который представляет Microsoft Excel приложение. |
Count | Только для чтения | Long | Возвращает число объектов ModelColumnName в коллекции |
Creator | Только для чтения | xlCreator | Возвращает 32-битный ряд, который указывает приложение, в котором был создан указанный объект. |
Parent | Только для чтения | Object | Возвращает объект, который представляет родительский объект указанной коллекции ModelColumnNames. |
Метод ModelColumnNames.Item
Возвращает один объект из коллекции ModelColumnNames. В таблице 10 перечислены параметры метода Item
Таблица 10. Параметры метода ModelColumnNames.Item
Имя | Необходимость | Тип | Описание |
---|---|---|---|
Index | Обязательный | Variant | Номер индекса или имя объекта. |
Объект ModelColumnName
Объект, который представляет имя столбца в система УПП. В таблице 11 перечислены свойства объекта ModelColumnName.
Таблица 11. Свойства объекта ModelColumnName
Property | Чтение и написание | Тип | Описание |
---|---|---|---|
Приложение | Только для чтения | Приложение | Возвращает объект, который представляет Microsoft Excel приложение. |
ColumnName | Только для чтения | String | Строка, которая представляет имя столбца таблицы, идентифицированной свойством TableName. |
Creator | Только для чтения | xlCreator | Возвращает 32-битный ряд, который указывает приложение, в котором был создан указанный объект. |
Parent | Только для чтения | Object | Возвращает объект, который представляет родительский объект указанного объекта ModelColumnName. |
TableName | Только для чтения | String | Строка, которая представляет имя таблицы в система УПП. |
Объект ModelConnection
Объект ModelConnection будет содержать сведения о новом типе подключения к модели, Excel для взаимодействия с интегрированным система УПП. В таблице 12 перечислены свойства объекта ModelConnection.
Таблица 12. Свойства объекта ModelConnection
Property | Чтение и написание | Тип | Описание |
---|---|---|---|
ADOConnection | Только для чтения | ADOConnection | Используется для создания открытого подключения к источнику данных. Позволяет надстройке, например PowerViewer, создавать прямое подключение к двигателю и, следовательно, к модели данных. |
Приложение | Только для чтения | Приложение | Возвращает объект, который представляет Microsoft Excel приложение. |
CommandText | Чтение и запись | Variant | Возвращает или задает строку команды для указанного источника данных (таблицы). |
CommandType | Чтение и запись | xlCmdType | Возвращает или задает одну из констант xlCmdType, указывав тип команды. |
Creator | Только для чтения | xlCreator | Возвращает 32-битный ряд, который указывает приложение, в котором был создан указанный объект. |
Parent | Только для чтения | Object | Возвращает объект, который представляет родительский объект указанного объекта ModelConnection. |
Коллекция ModelMeasureNames
Коллекция ModelMeasureNames содержит коллекцию объектов ModelMeasureName в система УПП. В таблице 13 перечислены свойства коллекции ModelMeasureNames.
Таблица 13. Свойства коллекции ModelMeasureNames
Property | Чтение и написание | Тип | Описание |
---|---|---|---|
Приложение | Только для чтения | Приложение | Возвращает объект, который представляет Microsoft Excel приложение. |
Count | Только для чтения | Long | Возвращает число объектов ModelMeasureName в коллекции |
Creator | Только для чтения | xlCreator | Возвращает 32-битный ряд, который указывает приложение, в котором был создан указанный объект. |
Parent | Только для чтения | Object | Возвращает объект, который представляет родительский объект указанной коллекции ModelMeasureNames. |
Метод ModelMeasureNames.Item
Возвращает один объект из коллекции ModelMeasureNames. В таблице 14 перечислить параметры метода Item.
Таблица 14. Параметры метода ModelMeasureNames.Item
Имя | Необходимость | Тип | Описание |
---|---|---|---|
Index | Обязательный | Variant | Номер индекса или имя объекта. |
Объект ModelMeasureName
Объект, который представляет имя меры в система УПП. В таблице 15 перечислены свойства объекта ModelMeasureName.
Таблица 15. Свойства объекта ModelMeasureName
Property | Чтение и написание | Тип | Описание |
---|---|---|---|
Приложение | Только для чтения | Приложение | Возвращает объект, который представляет Microsoft Excel приложение. |
MeasureName | Только для чтения | String | Строка, которая представляет новое имя, мера, которая была добавлена в объект ModelTable, идентифицированный свойством TableName. |
Creator | Только для чтения | xlCreator | Возвращает 32-битный ряд, который указывает приложение, в котором был создан указанный объект. |
Parent | Только для чтения | Object | Возвращает объект, который представляет родительский объект указанного объекта ModelMeasureName. |
TableName | Только для чтения | String | Строка, которая представляет имя таблицы в система УПП. |
Коллекция ModelRelationships
Коллекция ModelRelationships содержит коллекцию объектов ModelRelationship в система УПП. В таблице 16 перечислены свойства коллекции ModelRelationships.
Таблица 16. Свойства коллекции ModelRelationships
Property | Чтение и написание | Тип | Описание |
---|---|---|---|
Приложение | Только для чтения | Приложение | Возвращает объект, который представляет Microsoft Excel приложение. |
Count | Только для чтения | Long | Возвращает число объектов ModelRelationship в коллекции |
Creator | Только для чтения | xlCreator | Возвращает 32-битный ряд, который указывает приложение, в котором был создан указанный объект. |
Parent | Только для чтения | Object | Возвращает объект, который представляет родительский объект указанной коллекции ModelRelations. |
ModelRelationships.Add Method
Добавляет отношение к коллекции ModelRelationships. В таблице 17 перечислены параметры метода Добавить.
Таблица 17. Параметры метода ModelRelationships.Add
Имя | Необходимость | Тип | Описание |
---|---|---|---|
ForeignKeyColumn | Обязательный | ModelTableColumn | Объект ModelTableColumn, представляючий столбец внешнего ключа в таблице на многих сторонах отношения «один к многим». |
PrimaryKeyColumn | Обязательный | ModelTableColumn | Объект ModelTableColumn, который представляет основной столбец ключа в таблице с одной стороны от одного до многих отношений. |
Метод ModelRelationships.Item
Возвращает один объект из коллекции ModelRelationships. В таблице 18 перечислены параметры метода Item.
Таблица 18. Параметры метода ModelRelationships.Item
Имя | Необходимость | Тип | Описание |
---|---|---|---|
Index | Обязательный | Variant | Номер индекса или имя объекта. |
Объект ModelRelationship
Представляет связь между объектами ModelTableColumn. Используется при создании программных отношений. В таблице 19 перечислены свойства объекта ModelRelationship.
Таблица 19. Свойства объекта ModelRelationship
Property | Чтение и написание | Тип | Описание |
---|---|---|---|
Active | Чтение и запись | Boolean | Если true, связь активна. |
Приложение | Только для чтения | Приложение | Возвращает объект, который представляет Microsoft Excel приложение. |
Creator | Только для чтения | xlCreator | Возвращает 32-битный ряд, который указывает приложение, в котором был создан указанный объект. |
ForeignKeyColumn | Только для чтения | ModelTableColumn | Содержит объект ModelTableColumn, который представляет столбец внешних ключей на многих сторонах отношения один к многим. |
ForeignKeyTable | Только для чтения | ModelTable | Содержит объект ModelTable, который представляет таблицу на многих сторонах отношения «один к многим». |
Parent | Только для чтения | Object | Возвращает объект объектной модели, который представляет модель, в которую находится объект ModelRelationship. |
PrimaryKeyColumn | Только для чтения | ModelTableColumn | Содержит объект ModelTableColumn, который представляет основной столбец ключа в таблице с одной стороны от одного до многих отношений. |
PrimaryKeyTable | Только для чтения | ModelTable | Содержит объект ModelTable, который представляет таблицу с одной стороны от одного до многих отношений. |
Метод ModelRelationship.Delete
Метод Удаления объекта ModelRelationship не имеет параметров. Удаляет связь.
Коллекция ModelTables
Коллекция ModelTables содержит коллекцию объектов ModelTable в система УПП. В таблице 20 перечислены свойства коллекции ModelTables.
Таблица 20. Свойства коллекции ModelTables
Property | Чтение и написание | Тип | Описание |
---|---|---|---|
Приложение | Только для чтения | Приложение | Возвращает объект, который представляет Microsoft Excel приложение. |
Count | Только для чтения | Long | Возвращает число объектов ModelTable в коллекции |
Creator | Только для чтения | xlCreator | Возвращает 32-битный ряд, который указывает приложение, в котором был создан указанный объект. |
Parent | Только для чтения | Object | Возвращает объект, который представляет родительский объект указанной коллекции ModelTables. |
Метод ModelTables.Item
Возвращает один объект из коллекции ModelTables. В таблице 21 перечислены параметры метода Item.
Таблица 21. Параметры метода ModelTables.Item
Имя | Необходимость | Тип | Описание |
---|---|---|---|
Index | Обязательный | Variant | Номер индекса или имя объекта. |
Объект ModelTable
Представляет таблицу в объекте Model. Объект ModelTable читается только в том случае, если он не может быть создан или отредактирован с помощью объектной модели. Для каждой таблицы модели имеется объект ModelTable. В таблице 22 перечислены свойства объекта ModelTable.
Таблица 22. Свойства объекта ModelTable
Property | Чтение и написание | Тип | Описание |
---|---|---|---|
Приложение | Только для чтения | Приложение | Возвращает объект, который представляет Microsoft Excel приложение. |
Creator | Только для чтения | xlCreator | Возвращает 32-битный ряд, который указывает приложение, в котором был создан указанный объект. |
ModelTableColumns | Только для чтения | ModelTableColumns | Коллекция объектов ModelTableColumn, которые составляют объект ModelTable. |
Имя | Только для чтения | String | Возвращает имя объекта ModelTable. |
Parent | Только для чтения | Object | Возвращает объект, который представляет модель, в которую находится объект ModelTable. |
RecordCount | Только для чтения | Integer | Возвращает общее число строк для объекта ModelTable. |
SourceName | Только для чтения | String | Имя таблицы в источнике данных. Если в таблице нет источника данных (созданного в модели), свойство возвращает ошибку. |
SourceWorkbookConnection | Только для чтения | WorkbookConnection | Возвращает подключение к книге, из которого возник объект ModelTable. |
Метод ModelTable.Refresh
Метод Обновления объекта ModelTable не имеет параметров. Обновляет исходные подключения таблицы моделей.
Коллекция ModelTableColumns
Коллекция ModelTableColumns содержит коллекцию объектов ModelTableColumn в система УПП. В таблице 23 перечислены свойства коллекции ModelTableColumns.
Таблица 23. Свойства коллекции ModelTableColumns
Property | Чтение и написание | Тип | Описание |
---|---|---|---|
Приложение | Только для чтения | Приложение | Возвращает объект, который представляет Microsoft Excel приложение. |
Count | Только для чтения | Long | Возвращает число объектов ModelTableColumn в коллекции |
Creator | Только для чтения | xlCreator | Возвращает 32-битный ряд, который указывает приложение, в котором был создан указанный объект. |
Parent | Только для чтения | Object | Возвращает объект, который представляет родительский объект указанной коллекции ModelTableColumns. |
Метод ModelTableColumns.Item
Возвращает один объект из коллекции ModelTableColumns. В таблице 24 перечислены параметры метода Item.
Таблица 24. Параметры метода ModelTableColumns.Item
Имя | Необходимость | Тип | Описание |
---|---|---|---|
Index | Обязательный | Variant | Номер индекса или имя объекта. |
Объект ModelTableColumn
Представляет один столбец в объекте ModelTable. Используется при создании программных отношений. В таблице 25 перечислены свойства объекта ModelTableColumn.
Таблица 25. Свойства объекта ModelTableColumn
Property | Чтение и написание | Тип | Описание |
---|---|---|---|
Приложение | Только для чтения | Приложение | Возвращает объект, который представляет Microsoft Excel приложение. |
Creator | Только для чтения | xlCreator | Возвращает 32-битный ряд, который указывает приложение, в котором был создан указанный объект. |
DataType | Только для чтения | xlParameterDataType | Возвращает тип данных столбца. |
Имя | Только для чтения | String | Возвращает имя объекта ModelTableColumn. |
Parent | Только для чтения | Object | Возвращает объект, который представляет родительский объект указанного объекта ModelTableColumn. |
Коллекция ModelTableNames
Коллекция ModelTableNames содержит коллекцию объектов ModelTableName в система УПП. В таблице 26 перечислены свойства коллекции ModelTableNames.
Таблица 26. Свойства коллекции ModelTableNames
Property | Чтение и написание | Тип | Описание |
---|---|---|---|
Приложение | Только для чтения | Приложение | Возвращает объект, который представляет Microsoft Excel приложение. |
Count | Только для чтения | Long | Возвращает число объектов ModelTableName в коллекции |
Creator | Только для чтения | xlCreator | Возвращает 32-битный ряд, который указывает приложение, в котором был создан указанный объект. |
Parent | Только для чтения | Object | Возвращает объект, который представляет родительский объект указанного объекта ModelTableNames. |
Метод ModelTableNames.Item
Возвращает один объект из коллекции ModelTableNames. В таблице 27 перечислены параметры метода Item.
Таблица 27. Параметры метода ModelTableNames.Item
Имя | Необходимость | Тип | Описание |
---|---|---|---|
Index | Обязательный | Variant | Номер индекса или имя объекта. |
Коллекция ModelTableNameChanges
Коллекция ModelTableNameChanges содержит коллекцию объектов ModelTableNameChange в система УПП. В таблице 28 перечислены свойства коллекции ModelTableNameChanges.
Таблица 28. Свойства коллекции ModelTableNameChanges
Property | Чтение и написание | Тип | Описание |
---|---|---|---|
Приложение | Только для чтения | Приложение | Возвращает объект, который представляет Microsoft Excel приложение. |
Count | Только для чтения | Long | Возвращает количество объектов ModelTableNameChange в коллекции. |
Creator | Только для чтения | xlCreator | Возвращает 32-битный ряд, который указывает приложение, в котором был создан указанный объект. |
Parent | Только для чтения | Object | Возвращает объект, который представляет родительский объект указанной коллекции ModelTableNameChanges. |
Метод ModelTableNameChanges.Item
Возвращает один объект из коллекции ModelTableNameChanges. В таблице 29 перечислены параметры метода Item.
Таблица 29. Параметры метода ModelTableNameChanges.Item
Имя | Необходимость | Тип | Описание |
---|---|---|---|
Index | Обязательный | Variant | Номер индекса или имя объекта. |
Объект ModelTableNameChange
Объект, который представляет старое и новое имя таблицы, переименованной в система УПП. В таблице 30 перечислены свойства объекта ModelTableNameChange.
Таблица 30. Свойства объекта ModelTableNameChange
Property | Чтение и написание | Тип | Описание |
---|---|---|---|
Приложение | Только для чтения | Приложение | Возвращает объект, который представляет Microsoft Excel приложение. |
Creator | Только для чтения | xlCreator | Возвращает 32-битный ряд, который указывает приложение, в котором был создан указанный объект. |
Parent | Только для чтения | Object | Возвращает объект, который представляет модель, в которую находится объект ModelTableNameChange. |
TableNameNew | Только для чтения | String | Возвращает новое имя таблицы. |
TableNameOld | Только для чтения | String | Возвращает старое имя таблицы. |
Заключение
Надстройка PowerPivot позволяет создавать собственные куби, а не использовать те, которые по умолчанию Excel для вас за столами Power. С помощью этой надстройки можно увидеть куба в визуальном контексте и изменить свойства, определенные кубу. Объект Model хранит ссылки на подключения к книгам и сведения о таблицах и связях, содержащихся в PowerPivot модели.
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.