Преминаване към основното съдържание
Office

Преизчисляване на формули в 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 Pivot, Power Pivot в Microsoft Excel 2013 извършва анализ на съществуващите данни за Power Pivot, за да определи дали се изисква преизчисляване, и извършва актуализацията по възможно най-ефективния начин.

Например да предположим, че имате таблица, Sales, която е свързана с таблиците, продукта и ProductCategory; а формулите в таблицата " продажби " зависят от двете таблици. Всякакви промени в таблиците Product или ProductCategory ще причинят преизчисляване на всички изчисляеми колони в таблицата " продажби ". Това има смисъл, когато смятате, че може да имате формули, които обобщават продажбите по категории или по продукт. Следователно, за да сте сигурни, че резултатите са правилни; формулите, базирани на данните, трябва да бъдат преизчислени.

Power Pivot винаги извършва цялостно преизчисляване за таблица, защото пълното преизчисление е по-ефективно от проверката за променени стойности. Промените, които предизвикват преизчисляване, може да включват такива основни промени като изтриване на колона, промяна на числовия тип данни на колона или добавяне на нова колона. Обаче, на пръв поглед тривиални промени, като например промяна на името на колона, може да предизвика и преизчисление. Това се дължи на факта, че имената на колоните се използват като идентификатори във формули.

В някои случаи Power Pivot може да определи, че колоните могат да бъдат изключени от преизчисляване. Например ако имате формула, която търси стойност, като например [цвят на продукта] от таблицата Products , и колоната, която е променена, е [количество] в таблицата Sales , формулата не трябва да се преизчислява, въпреки че таблиците продажби и продукти са свързани. Ако обаче имате формули, които разчитат на продажби [количество], се изисква преизчисляване.

Последователност на преизчисляване за зависими колони

Зависимостите се изчисляват преди всяко преизчисляване. Ако има няколко колони, които зависят един от друг, Power Pivot следва последователността от зависимости. Това гарантира, че колоните ще бъдат обработени в правилния ред при максималната скорост.

Транзакциите

Операции, които преизчисляват или обновяват данни, се извършват като транзакция. Това означава, че ако някоя част от операцията за обновяване е неуспешна, останалите операции се връщат обратно. Това е да се гарантира, че данните не са оставени в частично преработено състояние. Не можете да управлявате транзакциите като в релационна база данни или да създавате ГКПП.

Преизчисляване на летливи функции

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

Забележка:  Тази страница е преведена чрез автоматизация и може да съдържа граматически грешки и несъответствия. Нашата цел е това съдържание да ви бъде полезно. Можете ли да ни кажете дали информацията е била полезна за вас? Ето статията на английски за справка.

Разширете уменията си в Office
Преглед на обучението
Получавайте първи новите функции
Присъединете се към участниците в Office Insider

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×