Повторное вычисление формул
При работе с данными в книге PowerPivot для Excel может понадобиться обновить данные из источника, пересчитать формулы, созданные в вычисляемых столбцах, или убедиться в актуальности данных, представленных в сводной таблице.
В этом разделе поясняются различия между обновлением и повторным вычислением данных, приводятся общие сведения о порядке выполнения повторных вычислений, а также описываются параметры, позволяющие управлять повторным вычислением.
Основные сведения о различии между обновлением и повторным вычислением данных
PowerPivot использует и обновление, и повторное вычисление данных.
Обновление данных означает получение свежих данных из внешних источников данных. PowerPivot не обнаруживает изменения во внешних источниках данных автоматически, но данные можно обновить вручную из книги PowerPivot или автоматически, если существует общий доступ к книге в SharePoint. Дополнительные сведения см. в разделе Различные способы обновления данных в PowerPivot.
Повторное вычисление — это обновление всех столбцов, таблиц, диаграмм и сводных таблиц в книге, содержащей формулы. Поскольку для повторного вычисления формулы необходимо затрачивать системные ресурсы, важно понимать, какие зависимости связаны с каждым из вычислений.
В этом разделе описывается принцип работы повторного вычисления. Дополнительные сведения о возможном влиянии повторного вычисления на производительность см. в подразделе «Устранение неполадок при повторных вычислениях» ниже.
Важно! |
|---|
Не стоит сохранять или публиковать книгу, пока не будут повторно вычислены имеющиеся в ней формулы. |
Ручное и автоматическое повторное вычисление
По умолчанию PowerPivot автоматически выполняет повторное вычисление по мере необходимости, выполняя оптимизацию времени, расходуемого на обработку. Хотя повторное вычисление занимает время, эта задача очень важна, поскольку при повторном вычислении проверяются зависимости столбцов. Если столбец изменился, данные стали недействительными или возникла ошибка в рабочей формуле, то вы получите уведомление об этом. Но при этом можно отказаться от автоматической проверки и обновлять вычисления только вручную, особенно при работе со сложными формулами и очень большими наборами данных, когда необходимо управление времени обновлений.
Как ручной, так и автоматический режимы имеют свои преимущества, однако настоятельно рекомендуется использовать режим автоматического повторного вычисления. Этот режим обеспечивает синхронизацию метаданных PowerPivot и предотвращает проблемы, вызываемые удалением данных, изменением имен типов данных или отсутствием зависимостей.
Использование автоматического повторного вычисления
Если используется режим автоматического повторного вычисления, то любое изменение данных в книге, приводящее к изменению результата любой формулы, вызывает повторное вычисление всего столбца, содержащего формулу. Для следующих изменений всегда требуется повторное вычисление формул.
Обновлены значения из внешнего источника данных.
Изменилось определение формулы.
Изменены имена таблиц или столбцов, используемых в формуле.
Связи между таблицами были изменены, добавлены или удалены.
Были добавлены новые меры или вычисляемые столбцы.
Произведены изменения в других формулах в книге PowerPivot, в результате чего должны быть обновлены столбцы или вычисления, зависящие от них.
Вставлены или удалены строки.
Применен фильтр, требующий выполнения запроса для обновления набора данных. Фильтр может применяться в формуле или в составе сводной таблицы или сводной диаграммы.
Использование повторного вычисления вручную
Ручное повторное вычисление можно использовать, чтобы избежать затрат, связанных с получением результатов формулы вычисления, пока работа не завершена. Ручной режим особенно удобен в следующих ситуациях.
Формула составляется по шаблону, и нужно изменить имена столбцов и таблиц, используемых в формуле, перед проверкой формулы.
Известно, что в книге изменились некоторые данные, но столбец, с которым выполняется текущее действие, не изменился, и нужно отложить повторное вычисление.
Идет работа с книгой, которая содержит много зависимостей, и нужно отложить повторное вычисление до момента, когда будут выполнены все необходимые изменения.
Обратите внимание: пока книга находится в ручном режиме вычисления, PowerPivot для Excel не выполняет проверку формул, что приводит к следующим результатам.
Все новые формулы, добавляемые в книгу, будут помечены как содержащие ошибку.
В новых вычисляемых столбцах не будут выводиться результаты.
Инструкции по изменению режима вычисления или по запуску ручного вычисления формул см. в подразделе Повторное вычисление формул вручную ниже.
Повторное вычисление формул вручную
В этом разделе описано, как временно изменить параметры книги PowerPivot, чтобы результаты вычислений формул больше не обновлялись автоматически. По возможности рекомендуется использовать параметр Автоматически как можно чаще, однако чтобы уменьшить влияние на производительность книги при разработке формул, может понадобиться провести ручное повторное вычисление формул.
После изменения этого параметра необходимо вручную включить обновление всех вычислений, которые основаны на формулах.
Важно! |
|---|
Перед выполнением публикации книги всегда следует изменять режим вычислений на автоматический. Это поможет предотвратить ошибки при разработке формул. |
Настройка повторного вычисления вручную
Повторное вычисление означает обновление результатов всех формул, которые используют измененные данные. Повторное вычисление необходимо каждый раз при изменении формул, при изменении данных, влияющих на результат вычислений, при обновлении данных. Дополнительные сведения об обновлении данных см. в разделе Различные способы обновления данных в PowerPivot.
Примечание |
|---|
В Windows Vista и Windows 7 функции в окне PowerPivot доступны на ленте, обсуждаемой в данном разделе. В Windows XP функции доступны в наборе меню. Если в Windows XP необходимо просмотреть, каким образом команды меню связаны с командами ленты, см. раздел Пользовательский интерфейс PowerPivot в Windows XP. |
Настройка ручного повторного вычисления в книге
В окне PowerPivot перейдите на вкладку Конструктор и выберите в группе Вычисления пункт Параметры вычислений.
Выберите Режим вычисления вручную.
Для повторного вычисления всех таблиц выберите Параметры вычислений и нажмите Вычислить сейчас.
Будет выполнена проверка ошибок в формулах книги, а таблицы будет обновлены с учетом новых результатов. В зависимости от объема данных и количества вычислений, книга может на некоторое время перестать отвечать на запросы.
Устранение неполадок при повторных вычислениях
В этом разделе представлены дополнительные технические советы, полезные при планировании времени повторного вычисления книги. Общие сведения о повторных вычислениях и обновлении данных книги см. в следующих разделах:
Различные способы обновления данных в PowerPivot
Зависимости
Если столбец зависит от другого столбца, а содержимое этого другого столбца изменяется каким-либо образом, то может потребоваться повторно вычислить все связанные столбцы. После того как в книгу PowerPivot вносится каждое изменение, PowerPivot для Excel проводит анализ существующих данных PowerPivot, чтобы определить необходимость повторного вычисления, и выполняет обновление самым эффективным способом.
Например, пусть таблица Sales связана с таблицами Product и ProductCategory, а формулы в таблице Sales зависят от обеих этих таблиц. Любые изменения в таблицах Product или ProductCategory приведут к необходимости повторного вычисления вычисляемых столбцов в таблице Sales. Это имеет смысл, если предполагается использование формул, суммирующих продажи по категориям или по товарам. В этом случае, чтобы гарантировать правильность результатов, формулы, основанные на данных, должны быть пересчитаны.
PowerPivot всегда выполняет полный пересчет таблицы, так как это эффективнее, чем поиск изменившихся значений. К изменениям, которые вызывают необходимость повторного вычисления, могут относиться как обычные изменения имен столбцов, поскольку имена столбцов используются в качестве идентификаторов в формулах, так и значительные изменения, например удаление столбца, изменение числового типа данных для столбца или добавление нового столбца. Однако повторные вычисления могут также запускать такие изменения, которые внешне кажутся не столь важными, как, скажем, изменение имени столбца. Это происходит из-за того, что имена столбцов используются как идентификаторы в формулах.
В некоторых случаях подсистема PowerPivot для Excel может определить, что столбцы можно исключить из повторного вычисления. Например, если имеется формула, которая запрашивает значение [Product Color] из таблицы Products, а в таблице Sales изменяется столбец [Quantity], то повторное вычисление формулы не требуется, хотя таблицы Sales и Products связаны. Если же имеются формулы, зависящие от столбца Sales[Quantity], необходимо повторное вычисление.
Последовательность повторных вычислений для зависимых столбцов
Зависимости вычисляются перед любыми повторными вычислениями. Если существует несколько столбцов, зависящих друг от друга, PowerPivot руководствуется последовательностью зависимостей. Это обеспечивает правильный порядок обработки столбцов с максимальной скоростью.
Транзакции
Операции, выполняющие повторное вычисление или обновление данных, помещаются как транзакция. Это значит, что, если любая часть операции обновления завершается ошибкой, выполняется откат остальных операций, чтобы гарантировать, что данные не останутся в частично обработанном состоянии. Управление транзакциями, доступное в реляционной базе данных, и создание контрольных точек не поддерживаются.
Повторное вычисление изменчивых функций
Некоторые функции, такие как NOW, RAND или TODAY, не имеют фиксированных значений. Чтобы избежать проблем с производительностью, выполнение запроса или фильтрация обычно не вызывают повторного вычисления таких функций, если они используются в вычисляемом столбце. Результаты этих функций вычисляются повторно, только если пересчитывается весь столбец. Такие ситуации включают обновление данных из внешнего источника данных или изменение данных вручную, вызывающие повторное вычисление формул, которые содержат эти функции. Однако повторное вычисление таких изменчивых функций, как NOW, RAND и TODAY, выполняется всегда, если функция используется в определении меры.
См. также
Важно!
Примечание