Изчисляемата колона ви дава възможност да добавяте нови данни към таблица във вашия модел на данни на Power Pivot. Вместо да поставяте или импортирате стойности в колоната, създавате формула за изрази за анализ на данни (DAX), която дефинира стойностите на колоните.
Ако например трябва да добавите стойности на печалбата от продажбите към всеки ред в таблицата factSales . Чрез добавяне на нова изчисляема колона и с помощта на формулата =[SalesAmount]-[TotalCost]-[ReturnAmount], новите стойности се изчисляват чрез изваждане на стойности от всеки ред в колоните TotalCost и ReturnAmount от стойностите във всеки ред на колоната SalesAmount. След това колоната Печалба може да се използва в обобщена таблица, обобщена диаграма или отчет на Power View – както всяка друга колона.
Тази фигура показва изчисляема колона в Power Pivot.
Забележка: Въпреки че изчисляемите колони и мерки са сходни, тъй като всяка от тях разчита на формула, те са различни. Мерките най-често се използват в областта на стойностите на обобщена таблица или обобщена диаграма. Използвайте изчисляеми колони, когато искате да поставите изчислените резултати в друга област на обобщена таблица – например колона или ред в обобщена таблица или по ос в обобщена диаграма. За повече информация относно мерките вижте Мерки в Power Pivot.
Разбиране на изчисляемите колони
Формулите в изчисляемите колони приличат по-скоро на формулите, които създавате в Excel. Не можете обаче да създавате различни формули за различни редове в таблица. Вместо това формулата DAX се прилага автоматично към цялата колона.
Когато дадена колона съдържа формула, стойността се изчислява за всеки ред. Резултатите се изчисляват за колоната веднага щом въведете формулата. Стойностите на колоните се преизчисляват, както е необходимо, например когато базовите данни се обновяват.
Можете да създавате изчисляеми колони според мерки и други изчисляеми колони. Например можете да създадете една изчисляема колона, за да извлечете число от низ от текст, и след това да използвате това число в друга изчисляема колона.
Пример
Можете да поддържате изчисляема колона с данни, които добавяте в съществуваща таблица. Например можете да изберете да конкатенирате стойности, да извършите събиране, да извлечете поднизове или да сравните стойностите в други полета. За да добавите изчисляема колона, трябва вече да имате поне една таблица в Power Pivot.
Прегледайте тази формула:
=EOMONTH([Начална_дата];0])
Като използва примерните данни на Contoso, тази формула извлича месеца от колоната "Начална_дата" в таблицата "Повишение". След това изчислява стойността в края на месеца за всеки ред в таблицата Промоция. Вторият параметър указва броя месеци преди или след месеца в StartDate; в този случай "0" означава един и същ месец. Ако например стойността в колоната "Начална_дата" е 1.6.2001 г., стойността в изчисляемата колона ще бъде 30.6.2001 г.
Именуване на изчисляеми колони
По подразбиране новите изчисляеми колони се добавят отдясно на другите колони, а на колоната автоматично се присвоява името по подразбиране ИзчисляемColumn1, CalculatedColumn2 и т.н. След като създадете колони, можете да пренаредите и преименувате колони, както е необходимо.
Има някои ограничения за промените в изчисляемите колони:
-
Всяко име на колона трябва да бъде уникално в таблица.
-
Избягвайте имена, които вече са използвани за мерки в рамките на една и съща работна книга. Въпреки че е възможно дадена мярка и изчисляема колона да имат едно и също име, ако имената не са уникални, можете лесно да получите грешки в изчислението. За да избегнете случайно извикване на мярка, винаги използвайте напълно квалифицирана препратка към колона, когато препращате към колона.
-
Когато преименувате изчисляема колона, трябва също да актуализирате всички формули, които разчитат на съществуващата колона. Освен ако не сте в режим на ръчно актуализиране, автоматично се извършва актуализиране на резултатите от формулите. Въпреки това тази операция може да отнеме известно време.
-
Има някои знаци, които не могат да се използват в имената на колоните или в имената на други обекти в Power Pivot. За повече информация вижте "Изисквания за именуване" "в спецификацията за синтаксис на DAX за Power Pivot.
За да преименувате или редактирате съществуваща изчисляема колона:
|
Промяна на типа данни
Можете да промените типа на данните за изчисляема колона по същия начин, по който можете да променяте типа на данните за другите колони. Не можете да правите следните промени в типа данни: от текст в десетично, от текст до цяло число, от текст във валута и от текст в дата. Можете да направите промяна от текст в булева.
Производителност на изчисляеми колони
Формулата за изчисляема колона може да бъде по-интензивна от формулата, използвана за мярка. Една причина е, че резултатът за изчисляема колона винаги се изчислява за всеки ред в таблица, докато мярка се изчислява само за клетките, които се използват в обобщената таблица или обобщената диаграма.
Например таблица с милион редове винаги ще има изчисляема колона с милион резултати и съответстващ ефект върху производителността. Обобщената таблица обаче обикновено филтрира данните, като прилага заглавия на редове и колони. Това означава, че мярката се изчислява само за подмножеството от данни във всяка клетка на обобщената таблица.
Формулата има зависимости от препратките към обекти във формулата, като например други колони или изрази, които оценяват стойности. Например изчисляема колона, която се базира на друга колона – или изчисление, съдържащо израз с препратка към колона – не може да се изчисли, докато не се изчисли другата колона. По подразбиране автоматичното обновяване е разрешено. Така че имайте предвид, че зависимостите на формулите могат да повлияят на производителността.
За да избегнете проблеми с производителността, когато създавате изчисляеми колони, следвайте тези указания:
-
Вместо да създавате една формула, която съдържа много сложни зависимости, създайте формулите на стъпки, като резултатите са записани в колони, така че да можете да проверите резултатите и да оцените промените в производителността.
-
Модификациите на данните често ще предизвикат актуализации на изчисляеми колони. Можете да предотвратите това, като зададете ръчно режима на преизчисляване. Имайте предвид обаче, че ако някои стойности в изчисляемата колона са неправилни, колоната ще бъде забранена, докато не обновите и преизчислите данните.
-
Ако промените или изтриете релации между таблици, формулите, които използват колони в тези таблици, ще станат невалидни.
-
Ако създадете формула, която съдържа кръгова или самопоточна зависимост, ще възникне грешка.
Задачи
За повече информация относно работата с изчисляеми колони вижте Създаване на съдържание изчисляема колона.