Сценарии на DAX в Power Pivot

Важно : Тази статия е преведена машинно – вижте отказа от отговорност. Английската версия на тази статия за справка можете да намерите тук .

Този раздел предоставя връзки към примери, които показват употребата на формули на DAX в следните сценарии.

  • Извършване на сложни изчисления

  • Работа с текст и дати

  • Условни стойности и тестване за грешки

  • Използване на интелигентно време

  • Класифициране и сравняване на стойности

В тази статия

Първи стъпки

Примерни данни

Допълнителни ресурси

Сценарии: Извършване на сложни изчисления

Създаване на персонализирани изчисления за обобщени таблици

Прилагане на филтър към формула

Избирателно премахване на филтри с цел създаване на динамично съотношение

Използване на стойност от външен цикъл

Сценарии: Работа с текст и дати

Създаване на ключова колона посредством обединение

Съставяне на дата на базата на части на дати, извлечени от текстов израз на дата

Дефиниране на персонализиран формат на дата или число

Смяна на типа данни посредством формула

Сценарий: Условни стойности и тестване за грешки

Създаване на стойност на базата на условие

Тестване за грешки вътре във формула

Сценарии: Използване на интелигентно време

Изчисляване на кумулативни продажби

Сравняване на стойности във времето

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

Сценарии: Класифициране и сравняване на стойности

Показване само на десетте водещи елемента в обобщена таблица

Динамично подреждане на елементи посредством формула

Първи стъпки

Примерни данни

Ако не сте добре запознат с формулите на DAX, бихте могли да започнете, като прегледате примерните данни за Power Pivot. За повече информация вж. Получаване на примерни данни за уроците за DAX и модели на данни.

Допълнителни ресурси

Може също да искате да посетите DAX Wiki Ресурсен център на , където можете да намерите всякакъв вид информация за DAX, включително Блогове, образци, документи и видеоклипове, предоставени от водещи професионалисти и Microsoft.

Сценарии: Извършване на сложни изчисления

Формулите на DAX могат да правят сложни изчисления, които включват персонализирани агрегирания, филтриране и използване на условни стойности. Този раздел дава примери за това как да направите първи стъпки в персонализираните изчисления.

Създаване на персонализирани изчисления за обобщени таблици

"Изчисляване" и "Изчисляване на таблица" са функционални, гъвкави функции, полезни за определяне на изчисляеми полета. Тези функции позволяват да промените контекста, в който ще се извършват изчисленията. Може също да персонализирате типа агрегиране или математическата операция, която ще се извършва. За примери вж. следните теми.

Прилагане на филтър към формула

В повечето случаи, когато функция на DAX взема таблица за аргумент, обикновено, вместо това, може да подадете филтрирана таблица, като или използвате функция "Филтриране" вместо името на таблицата, или укажете израз на филтър като един от аргументите на функцията. Следващите теми, освен това, предоставят някои примери относно създаването на филтри и как филтрите влияят върху формулите. За повече информация вж. Филтриране на данни във формулите на DAX.

Функция "Филтриране" ви позволява да укажете критерии за филтриране, като използвате израз, докато другите функции са проектирани конкретно за филтриране на празни стойности.

Избирателно премахване на филтри с цел създаване на динамично съотношение

Създавайки динамични филтри във формули, може лесно да отговорите на въпроси като следните:

  • Какъв е приносът на продажбите на настоящия продукт към общите продажби за годината?

  • Колко е допринесло това поделение към общата печалба за цялата оперативна година, в сравнение с други поделения?

Формули, които можете да използвате в обобщена таблица може да бъде засегната от обобщена таблица контекст, но можете да избирателно промените контекста чрез добавяне или премахване на филтри. Пример в темата с всички ви показва как да направите това. За да намерите отношението на продажбите за определен риселър над продажбите за всички търговци, създавате мярка, която изчислява стойност за настоящия контекст, разделен на стойност за всички контекст.

Темата "Всички, с изключение на" дава пример за това как избирателно да изчиствате филтри от формула. Двата примера ви показват подробно как резултатите се променят в зависимост от модела на обобщената таблица.

За други примери относно това как да изчислявате съотношения и проценти вж. следващите теми:

Използване на стойност от външен цикъл

В допълнение на използването на стойности от текущия контекст в изчисления DAX може да използва стойност от предходен цикъл за създаване на набор от свързани изчисления. Следващата тема дава подробна информация за това как да изградите формула, която прави препратка към външен цикъл. Функция "По-рано" поддържа до две нива от вложени цикли.

За да научите повече за контекста на реда и свързаните таблици, както и как да използвате този контекст във формули, вж. Контекст във формулите на DAX.

Сценарии: Работа с текст и дати

Този раздел предоставя връзки към справочните теми на DAX, които съдържат примери за често срещани сценарии, включващи работа с текст, извличане и съставяне на стойности за дата и час, или за създаване на стойности на базата на дадено условие.

Създаване на ключова колона посредством обединение

Power Pivot не разрешава комбинирани ключове; следователно, ако има комбинирани ключове във вашия източник на данни, може да се наложи да ги комбинирате в колона с единствен ключ. Следващата тема дава пример за това как да създадете изчисляема колона на базата на комбиниран ключ.

Съставяне на дата на базата на части на дати, извлечени от текстов израз на дата

Power Pivot използва данни тип дата/час на SQL Server, за да работи с дати; така че ако външните данни съдържат дати, чийто формат е различен – например ако датите са написани в регионален формат, който не се разпознава от машината за данни на Power Pivot, или ако данните използват сурогатни ключове с цяло число – може да се наложи да използвате формула на DAX за извличане на части на дата, а след това да съставите от тях валидно представяне на дата/час.

Например ако има колона с дати, които са представени като цяло число, а след това са импортирани като текстов низ, може да преобразувате низа в стойност за дата/час, като приложите следната формула:

=DATE(Right([value1],4),Left([value1],2),MID([value1],2))

"стойност1"

Резултат

01032009

1/3/2009

12132008

12/13/2008

06252007

6/25/2007

Следващите теми дават по-подробна информация за функциите, които се използват за извличане и съставяне на дати.

Дефиниране на персонализиран формат на дата или число

Ако данните съдържат дати или числа, които не са представени в един от стандартните текстови формати на Windows, може да зададете персонализиран формат, за да гарантирате правилното обработване на стойностите. Тези формати се използват, когато стойности се преобразуват в низове или от низове. Освен това, следващите теми предлагат и подробен списък на предварително зададени формати, налични за работа с дати и числа.

Смяна на типа данни посредством формула

В Power Pivot типът на изходните данни се определя от колоните източник и не може явно да укажете типа данни на резултата, защото оптималният тип данни се определя от Power Pivot. Обаче може да използвате неявното преобразуване на тип данни, което се изпълнява от Power Pivot за манипулиране на изходния тип данни. За повече информация относно преобразувания на типове вж. Получаване на примерни данни за уроците за DAX и модели на данни.

  • За преобразуване на дата или низ с числа в число умножете по 1,0. Например следващата формула изчислява текущата дата минус 3 дни, а след това извежда съответстваща стойност на цяло число.

    = (TODAY ()-3) * 1.0

  • За преобразуване на дата, число или стойност на валута в низ съединете стойността с празен низ. Например следващата формула връща днешната дата като низ.

    = "" & TODAY()

Следващата функция може също да се използва за гарантиране, че ще бъде върнат конкретен тип дата:

Преобразуване на реални числа в цели числа

Сценарий: Условни стойности и тестване за грешки

Подобно на Excel DAX има функции, които ви позволяват да тествате стойностите в данните и да се върнете на различна стойност на базата на условие. Например можете да създадете изчисляема колона, която етикети търговци като предпочитан или стойност в зависимост от годишната сума на продажбите. Функции, които тествате стойностите са полезни за проверка на диапазон или типа на стойности, за да предотвратите прекъсване на изчисления на неочаквани данни грешки.

Създаване на стойност на базата на условие

Може да използвате вложено условие "ако", за да тествате стойности и да генерирате нови стойности условно. Следващите теми съдържат някои прости примери за условно обработване и условни стойности:

Тестване за грешки вътре във формула

За разлика от Excel, не може да имате валидни стойности в един ред на изчисляема колона и невалидни стойности в друг ред. Ако има грешка в някоя част на колона на Power Pivot, цялата колона се маркира с флаг за грешка, така че трябва винаги да поправите грешките във формулите, които водят до невалидни стойности.

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

За да избегнете връщането на грешки в изчисляема колона, използвайте комбинация от логически и информационни функции, за да тествате за грешки и винаги връщайте валидни стойности. Следващите теми дават някои примери как става това в DAX:

Сценарии: Използване на интелигентно време

Функциите на DAX за интелигентно време включват функции, които ви помагат да извлечете дати или диапазон на дати от данните. Тогава може да използвате тези дати или диапазон на дати, за да изчислите стойности за сходни периоди. Функциите за интелигентно време включват още и функции, които работят със стандартни интервали за дати, за да може да сравнявате стойности в течение на месеци, години или тримесечия. Може също да създадете формула, която сравнява стойности за първата и последна дата на указан период.

За списък на всички функции за интелигентно време вж. Функции за интелигентно време (DAX). За съвети как да използвате датите и часовете ефективно в анализ на Power Pivot, вж. Дати в Power Pivot.

Изчисляване на кумулативни продажби

Следващите теми съдържат примери как да изчислявате начален и краен баланс. Примерите ви позволяват да създавате текущ баланс за различни интервали от време, като дни, месеци, тримесечия или години.

Сравняване на стойности във времето

Следващите теми съдържат примери за това как да сравнявате сборове за различни времеви периоди. Времевите периоди по подразбиране, поддържани от DAX, са месеци, тримесечия и години.

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

Вижте следващите теми за примери как да извличате персонализиран диапазон на дати, като например първите 15 дни от началото на търговска промоция.

Ако използвате функцията за интелигентно време, за да извлечете набор от дати по избор, може да използвате този набор от дати като вход към функция, която прави изчисления, за да създадете персонализирано агрегиране за времеви периоди. Вижте следващата тема за пример как става това:

  • Функция PARALLELPERIOD

    Забележка : Ако не е необходимо да указвате диапазон от дати по избор, но работите със стандартни счетоводни единици като месеци, тримесечия или години, препоръчваме да направите изчисления, като използвате функциите за интелигентно време, проектирани за тази цел, като напр. общо за тримесечието към днешна дата, общо за месеца към днешна дата, общо за годината към днешна дата и т.н.

Сценарии: Класифициране и сравняване на стойности

За да се покаже само горният "n" номер на елемент в колона на обобщена таблица, имате няколко опции:

  • Може да използвате функциите в Excel 2010, за да създадете филтър "Горе". Може също да изберете число от стойностите в горната или долната част на обобщена таблица. Първата част на този раздел описва как да филтрирате първите 10 елемента отгоре на обобщена таблица. За повече информация вж. документацията на Excel.

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

Всеки метод има и предимства, и недостатъци.

  • Филтърът "Горе" на Excel е лесен за ползване, но той е единствено с цел показване. Ако данните, на които се базира обобщената таблица, се променят, трябва ръчно да я обновите, за да се видят промените. Ако е необходимо да работите динамично с класификации, може да използвате DAX, за да създадете формула, която сравнява стойности с други стойностите вътре в дадена колона.

  • Формулата на DAX е по-функционална; нещо повече, като добавите стойността на класифициране в сегментатор, достатъчно е да щракнете върху сегментатора, за да промените числото на стойностите, които се показват отгоре. Изчисленията обаче са много трудоемки и този метод може да не най-подходящият за таблици с много редове.

Показване само на десетте водещи елемента в обобщена таблица

За показване само на стойностите най-отгоре или най-отдолу в обобщена таблица

  1. В обобщената таблица щракнете върху стрелката надолу в заглавието Етикети на редове.

  2. Изберете Филтри за стойност> Първите 10.

  3. В диалоговия прозорец Филтър за първите 10 < име на колона > изберете колоната, която ще подреждате и броя стойности, както следва:

    1. Изберете Горе, за да видите клетките с най-високите стойности, или Долу, за да видите клетките с най-ниските стойности.

    2. Въведете броя на стойности отгоре или отдолу, които искате да виждате. Стойността по подразбиране е 10.

    3. Изберете как искате да се показват стойностите:

Име

Описание

Елементи

Изберете тази опция за филтриране на обобщената таблица, за да покажете само списъка с елементи отгоре или отдолу според стойностите им.

Процент

Изберете тази опция за филтриране на обобщената таблица, за да покажете само списъка с елементи, които са включени в указаното процентно съотношение.

Сума

Изберете тази опция, за да покажете сумата на стойностите за елементите най-отгоре и най-отдолу.

  1. Изберете колоната, съдържаща стойностите, които желаете да класифицирате.

  2. Щракнете върху OK.

Динамично подреждане на елементи посредством формула

Следващата тема включва пример как да използвате DAX, за да създадете класификация, която се съхранява в изчисляема колона. Тъй като DAX формулите се изчисляват динамично, винаги сте сигурни, че класификацията е вярна, дори и ако базовите данни се променят. Освен това, тъй като формулата се използва в изчисляема колона, може да използвате класификацията в сегментатор, а после да изберете стойностите в Топ 5, Топ 10 или дори Топ 100.

Забележка : Отказ от отговорност за машинен превод: Тази статия е преведена от компютърна система без човешка намеса. Microsoft предлага тези машинни преводи, за да помогне на потребителите, които не говорят английски, да се възползват от съдържанието за продукти, услуги и технологии на Microsoft. Тъй като статията е преведена машинно, е възможно да съдържа грешки в речника, синтаксиса и граматиката.

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

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

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

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

×