В тази статия ще разгледаме основите на създаването на формули за изчисление за изчисляеми колони и мерки в Power Pivot. Ако сте начинаещи в DAX, не забравяйте да проверите "Бърз старт: Научете основите на DAX за 30 минути".
Основни познания за създаването на формули
Power Pivot предоставя изрази за анализ на данни (DAX) за създаване на изчисления по избор в таблици на Power Pivot и в обобщени таблици на Excel. DAX включва някои от функциите, които се използват във формулите на Excel, и допълнителни функции, които са предназначени за работа с релационни данни и динамично агрегиране.
Ето някои основни формули, които може да се използват в изчисляема колона:
| Формула | Описание |
|---|---|
| =TODAY() | Вмъква днешната дата във всеки ред на колоната. |
| =3 | Вмъква стойността 3 във всеки ред на колоната. |
| =[Колона1] + [Колона2] | Събира стойностите в един и същ ред на [Колона1] и [Колона2] и поставя резултатите в един и същ ред на изчисляемата колона. |
Можете да създавате формули на Power Pivot за изчисляеми колони до голяма степен по същия начин, по който създавате формули в Microsoft Excel.
Когато създавате формула, използвайте следните стъпки:
- Всяка формула трябва да започва със знак за равенство.
- Можете или да въведете или изберете име на функция, или да въведете израз.
- Започнете да въвеждате първите няколко букви на функцията или името, което искате, и автодовършването показва списък с наличните функции, таблици и колони. Натиснете клавиша TAB, за да добавите елемент от списъка за автодовършване към формулата.
- Щракнете върху бутона Fx , за да се покаже списък с наличните функции. За да изберете функция от падащия списък, използвайте клавишите със стрелки, за да маркирате елемента, и след това щракнете върху OK , за да добавите функцията към формулата.
- Задайте аргументите на функцията, като ги изберете от падащ списък с възможни таблици и колони или като въведете стойности или друга функция.
- Проверете за синтактични грешки: уверете се, че всички скоби са затворени и че колоните, таблиците и стойностите са посочени правилно.
- Натиснете клавиша ENTER, за да приемете формулата.
Забележка
В изчисляемата колона, веднага след като приемете формулата, колоната се попълва със стойности. В дадена мярка натискането на ENTER записва дефиницията на мярката.
Създаване на проста формула
| За да създадете изчисляема колона с проста формула SalesDateПодкатегорияПродуктиПродажбиКоличество1/5/2009АксесоариКалъф за носене254995681/5/2009АксесоариМини зарядно устройствоМини зарядно устройство1099.56441/5/2009ЦифровSlim Digital6512441/6/2009АксесоариОбектив за преобразуване на телеснимки1662.5181/6/2009АксесоариСтатив938.34181/6/2009АксесоариUSB кабел1230.2526
|
|---|
Съвети за използване на автодовършване
- Можете да използвате "Автодовършване на формули" в средата на съществуваща формула с вложени функции. Текстът непосредствено преди точката на вмъкване се използва за показване на стойностите в падащия списък, а целият текст след точката на вмъкване остава непроменен.
- Power Pivot не добавя затварящите кръгли скоби на функциите и не съпоставя автоматично скобите. Трябва да се уверите, че всяка функция е синтактично правилна, иначе няма да можете да запишете или използвате формулата. Power Pivot осветява скобите, което улеснява проверката дали са правилно затворени.
Работа с таблици и колони
Таблиците на Power Pivot изглеждат подобно на таблиците на Excel, но се различават по начина, по който работят с данните и формулите:
- Формулите в Power Pivot работят само с таблици и колони, а не с отделни клетки, препратки към диапазони или масиви.
- Формулите могат да използват релации, за да получават стойности от свързани таблици. Стойностите, които се извличат, винаги са свързани със стойността на текущия ред.
- Не можете да поставяте формули на Power Pivot в работен лист на Excel, и обратно.
- Не може да имате неправилни или "неконсистентни" данни, както е в работен лист на Excel. Всеки ред в таблицата трябва да съдържа един и същ брой колони. В някои колони обаче може да има празни стойности. Таблиците с данни на Excel и таблиците с данни на Power Pivot не са взаимозаменяеми, но можете да се свържете с таблици на Excel от Power Pivot и да поставите данни от Excel в Power Pivot. За повече информация вж. " Добавяне на данни от работен лист към модел на данни чрез свързана таблица " и "Копиране и поставяне на редове в модел на данни в Power Pivot".
Препращане към таблици и колони във формули и изрази
Можете да направите препратка към всяка таблица и колона, като използвате името им. Например следната формула илюстрира как да правите препратки към колони от две таблици с помощта на пълното име:
=SUM('Нови продажби'[Сума]) + SUM('Минали продажби'[Количество])
Когато се изчислява формула, Power Pivot първо проверява за общ синтаксис и след това проверява имената на колоните и таблиците, които предоставяте, спрямо възможните колони и таблици в настоящия контекст. Ако името е нееднозначно или ако колоната или таблицата не могат да бъдат намерени, ще получите грешка във формулата (низ от #ERROR вместо стойност на данни в клетките, където възниква грешката). За повече информация относно изискванията за именуване на таблици, колони и други обекти вж. "Изисквания към именуване в спецификация за синтаксис на DAX за Power Pivot.
Забележка
Контекстът е важна функция на моделите на данни в Power Pivot, която ви позволява да създавате динамични формули. Контекстът се определя от таблиците в модела на данни, релациите между таблиците и всички приложени филтри. За повече информация вж. "Контекст във формули на DAX".
Релации на таблици
Таблиците могат да бъдат свързани с други таблици. Чрез създаването на релации получавате възможността да търсите данни в друга таблица и да използвате свързани стойности, за да извършвате сложни изчисления. Можете например да използвате изчисляема колона, за да търсите всички записи за доставка, свързани с текущия риселър, и след това да сумирате разходите за доставка за всеки от тях. Ефектът е като параметризирана заявка: можете да изчислите различна сума за всеки ред в текущата таблица.
Много функции DAX изискват да съществува релация между таблиците или между множество таблици, за да се намерят колоните, към които имате препратка, и да се върнат резултати, които имат смисъл. Други функции ще се опитат да идентифицират релацията; Въпреки това, за най-добри резултати винаги трябва да създавате взаимоотношения, когато това е възможно.
Когато работите с обобщени таблици, е особено важно да свържете всички таблици, които се използват в обобщената таблица, така че обобщените данни да могат да бъдат изчислени правилно. За повече информация вж. "Работа с релации в обобщени таблици".
Отстраняване на грешки във формули
Ако получите грешка, когато дефинирате изчисляема колона, формулата може да съдържа или синтактична грешка, или семантична грешка.
Синтактичните грешки се отстраняват най-лесно. Те обикновено включват липсваща скоба или запетая. За помощ със синтаксиса на отделни функции вж. справка за функциите на DAX.
Другият тип грешка възниква, когато синтаксисът е правилен, но стойността или колоната, към които препращате, нямат смисъл в контекста на формулата. Причина за тези семантични грешки може да е някой от следните проблеми:
- Формулата препраща към несъществуваща колона, таблица или функция.
- Формулата изглежда правилна, но когато Power Pivot извлича данните, открива несъответствие на типа и издава съобщение за грешка.
- Формулата подава неправилен брой или тип параметри на дадена функция.
- Формулата препраща към друга колона, в която има грешка, следователно нейните стойности са невалидни.
- Формулата препраща към колона, която не е била обработена. Това може да се случи, ако сте променили работната книга в ръчен режим, направили сте промени и след това никога не сте обновили данните и не сте актуализирали изчисленията.
В първите четири случая DAX маркира с флаг цялата колона, която съдържа невалидната формула. В последния случай DAX оцветява колоната в сиво, за да покаже, че колоната е в състояние на необработена обработка.