Повторное вычисление формул в Power Pivot

Важно :  Данная статья переведена с помощью машинного перевода, см. Отказ от ответственности. Используйте английский вариант этой статьи, который находится здесь, в качестве справочного материала.

Во время работы с данными в Power Pivot иногда может понадобиться обновлять данные из источника, пересчитывать формулы, созданные в вычисляемых столбцах, или обеспечивать актуальность данных, представленных в сводной таблице.

В этом разделе поясняются различия между обновлением и повторным вычислением данных, приведены общие сведения о порядке выполнения повторных вычислений, а также описаны параметры, позволяющие управлять повторным вычислением.

Основные сведения о различии между обновлением и повторным вычислением данных

В Power Pivot используются и обновление, и повторное вычисление данных.

Обновление данных — это получение актуальных данных из внешних источников данных. Power Pivot не обнаруживает изменения во внешних источниках данных автоматически, но данные можно обновить вручную из окна Power Pivot или автоматически, если настроен общий доступ к книге в SharePoint.

Повторное вычисление — это обновление всех столбцов, таблиц, диаграмм и сводных таблиц в книге, содержащей формулы. Поскольку для повторного вычисления формулы необходимо затрачивать системные ресурсы, важно понимать, какие зависимости связаны с каждым из вычислений.

Важно : Не стоит сохранять или публиковать книгу, пока не будут повторно вычислены имеющиеся в ней формулы.

Ручное и автоматическое повторное вычисление

По умолчанию Power Pivot автоматически выполняет повторное вычисление по мере необходимости, оптимизируя время, затрачиваемое на обработку. Повторное вычисление может занимать время, но это важная задача, так как при этом проверяются зависимости столбцов. Вы получите уведомление, если столбец был изменен, данные недопустимы или в формуле, которая успешно работала в прошлом, появилась ошибка. Однако можно обойтись без проверки и лишь обновить вычисления вручную, особенно если используются сложные формулы или очень большие наборы данных и вы хотите управлять временем обновления.

Как ручной, так и автоматический режимы имеют свои преимущества, однако мы настоятельно советуем использовать режим автоматического повторного вычисления. Он обеспечивает синхронизацию метаданных Power Pivot и предотвращает проблемы, вызванные удалением данных, изменением их имен и типов или отсутствием зависимостей. 

Использование автоматического повторного вычисления

Когда используется режим автоматического повторного вычисления, то все изменения данных, которые приводят к изменению результата любой формулы, вызывают повторное вычисление всего столбца, содержащего формулу. Для следующих изменений всегда требуется повторное вычисление формул.

  • Обновлены значения из внешнего источника данных.

  • Изменилось определение формулы.

  • Изменены имена таблиц или столбцов, используемых в формуле.

  • Связи между таблицами были изменены, добавлены или удалены.

  • Были добавлены новые меры или вычисляемые столбцы.

  • Произведены изменения в других формулах в книге, в результате чего должны быть обновлены столбцы или вычисления, зависящие от них.

  • Вставлены или удалены строки.

  • Применен фильтр, требующий выполнения запроса для обновления набора данных. Фильтр может применяться в формуле или в составе сводной таблицы или сводной диаграммы.

Использование повторного вычисления вручную

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

  • Формула составляется по шаблону, и нужно изменить имена столбцов и таблиц, используемых в формуле, перед проверкой формулы.

  • Известно, что в книге изменились некоторые данные, но столбец, с которым выполняется текущее действие, не изменился, и нужно отложить повторное вычисление.

  • Идет работа с книгой, которая содержит много зависимостей, и нужно отложить повторное вычисление до момента, когда будут выполнены все необходимые изменения.

Обратите внимание, что если книга находится в режиме вычисления вручную, Power Pivot в Microsoft Excel 2013 не выполняет проверку формул, что приводит к следующим результатам:

  • Все новые формулы, добавляемые в книгу, будут помечены как содержащие ошибку.

  • В новых вычисляемых столбцах не будут выводиться результаты.

Настройка ручного повторного вычисления в книге

  1. В Power Pivotвыберите Конструктор > вычисления > Параметры вычисления > Ручной режим вычисления.

  2. Для повторного вычисления всех таблиц выберите Параметры вычисления и нажмите Вычислить сейчас.

    Будет выполнена проверка ошибок в формулах книги, а таблицы будет обновлены с учетом новых результатов. В зависимости от объема данных и количества вычислений, книга может на некоторое время перестать отвечать на запросы.

Важно : Перед выполнением публикации книги всегда следует изменять режим вычислений на автоматический. Это поможет предотвратить ошибки при разработке формул.

Устранение неполадок при повторных вычислениях

Зависимости

Если столбец зависит от другого столбца, содержимое которого изменилось, может потребоваться повторно вычислить все связанные столбцы. При изменении книги Power PivotPower Pivot в Microsoft Excel 2013 анализирует существующие данные Power Pivot , чтобы определить необходимость повторного вычисления, и выполняет обновление самым эффективным способом.

Предположим, что у вас есть таблица продаж, относящиеся к таблицам, продуктов и ProductCategory; и формул в таблице Sales зависят от из других таблиц. Изменится ли продукта или ProductCategory таблиц приведет к все вычисляемые столбцы в таблице Sales пересчету. Это имеет смысл при выборе может быть формулы, которые сведение продажи по категории или продукта. Таким образом чтобы обеспечить результаты верны; необходимо повторно вычислены формулы на основе данных.

Power Pivot всегда выполняет полный пересчет таблицы, так как это эффективнее, чем поиск изменившихся значений. К изменениям, вызывающим повторное вычисление, относятся такие важные изменения, как удаление столбца, изменение числового типа данных столбца или добавление нового столбца. Однако повторные вычисления могут также вызываться такими, на первый взгляд, несущественными изменениям, как изменение имени столбца. Это происходит из-за того, что имена столбцов используются как идентификаторы в формулах.

В некоторых случаях Power Pivot может определять исключить столбцы из повторных вычислений. Например если у вас есть формулу, которая ищет значения, например [Цвет продукта] в таблице Products и столбца, который будет изменено — [Количество] в таблице продаж , формула не нужно пересчитываться несмотря на то, что таблицы Sales и продуктов связаны. Тем не менее если у вас есть все формулы, зависящие от Sales [Количество], пересчета является обязательным.

Последовательность повторных вычислений для зависимых столбцов

Зависимости вычисляются перед любыми повторными вычислениями. Если существует несколько столбцов, зависящих друг от друга,   руководствуется последовательностью зависимостей. Это обеспечивает правильный порядок и максимальную скоростьPower Pivotобработки столбцов.

Транзакции

Операции, выполняющие повторное вычисление или обновление данных, помещаются как транзакция. Это значит, что, если любая часть операции обновления завершается ошибкой, выполняется откат остальных операций, чтобы гарантировать, что данные не останутся в частично обработанном состоянии. Управление транзакциями, доступное в реляционной базе данных, и создание контрольных точек не поддерживаются.

Повторное вычисление изменчивых функций

Некоторые функции, такие как NOW, RAND или TODAY, не имеют фиксированных значений. Чтобы избежать проблем с производительностью, выполнение запроса или фильтрация обычно не вызывают повторного вычисления таких функций, если они используются в вычисляемом столбце. Результаты этих функций вычисляются повторно, только если пересчитывается весь столбец. Такие ситуации включают обновление данных из внешнего источника данных или изменение данных вручную, вызывающие повторное вычисление формул, которые содержат эти функции. Однако повторное вычисление таких переменных функций, как NOW, RAND и TODAY, выполняется всегда, если функция используется в определении вычисляемого поля.

Примечание : Отказ от ответственности относительно машинного перевода. Данная статья была переведена с помощью компьютерной системы без участия человека. Microsoft предлагает эти машинные переводы, чтобы помочь пользователям, которые не знают английского языка, ознакомиться с материалами о продуктах, услугах и технологиях Microsoft. Поскольку статья была переведена с использованием машинного перевода, она может содержать лексические,синтаксические и грамматические ошибки.

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×