Upload
buckminster-carroll
View
170
Download
2
Embed Size (px)
DESCRIPTION
Некоторые сценарии практического использования DAX в PowerPivot. Андрей Коршиков Компания Портал-Юг, Краснодар, Россия. Содержание. Знакомство с PowerPivot и DAX ( если кто-то ещё с ними не знаком ) Решение некоторых практических задач. Введение в PowerPivot. - PowerPoint PPT Presentation
Citation preview
Некоторые сценарии практического использования DAX в PowerPivot
Андрей КоршиковКомпания Портал-Юг, Краснодар, Россия
Содержание Знакомство с PowerPivot и DAX
(если кто-то ещё с ними не знаком) Решение некоторых практических задач
Введение в PowerPivot
Какие проблемы при создании отчётов? …
Какие проблемы при использовании Excel? …
Назначение PowerPivot Обработка больших объемов данных на обычном
компьютере Поддержка обработки данных на стороне клиента Подключение ко многим источникам данных Надстройка для Excel и SharePoint
Системные требования Поддерживаемые операционные
системы:Windows 7, Windows Server 2008 R2 (64-bit),Windows XP with SP3 (32-bit), Windows Vista with SP2 (32-bit or 64-bit) и т.д.
32 или 64-разрядный процессор с тактовой частотой 500 МГц или быстрее
Как минимум 1 Гб ОЗУ (рекомендуется 2 Гб или более).
3,5 Гб свободного места на жестком диске
Источники данных для PowerPivot
Каналы данных (RSS)
Файлы(текст, Excel)
Базы данных(SQL, Access, SSAS)
Рабочее пространство PowerPivot
Набор таблиц и связи между ними
Data Analysis Expressions (DAX)
Язык выражения для работы с данными в PowerPivot
Набор функций, операторов и констант для построения формул и выражений в PowerPivot
С помощью DAX пользователи выполняют многомерный анализ владея базовыми знаниями о многомерном анализе
Синтаксис DAX Выражение всегда начинается со знака «=» Аргументы функций (название таблицы, столбца,
значение, выражение) заключаются в скобки Название таблицы заключается в кавычки, если
содержит пробел Название столбца или меры заключается в
квадратные скобки Если не требует аргумента, все равно нужны
парные скобки. Например: PI()
Синтаксис DAX Например:=(‘Sales’[SalesAmount]*0,05)
=RELATED('SalesTerritory'[SalesRegion])
Таблица
Столбец
ссылка на столбец в связанной таблице
Синтаксис DAX
=3=Sales[Column1]=(0.03 *[Amount])=PI()=(FALSE=0)=TRUE+1=[Sales] / [Quantity]
Типы данных Стандартные:
Integer (целое, 8 байт) Real (вещественное, 8 байт) Boolean (true/false) String Date (дата после 1 марта 1900) Currency (валюта)
Типы данных Новые:
BLANK (аналог NULL в SQL) Table (используется в функциях агрегирования и
фильтрации)
Преобразование типов данных
=12 & 34 ="22"+22 =TRUE+1 =NOW()+1
Обработка пустых значений
http://msdn.microsoft.com/ru-ru/library/ff452238.aspx
Выражение DAX ExcelBLANK + BLANK BLANK 0 (ноль)BLANK +5 5 5BLANK * 5 BLANK 0 (ноль)5/BLANK Бесконечность Ошибка0/BLANK NaN ОшибкаBLANK/BLANK BLANK ОшибкаFALSE OR BLANK FALSE FALSEFALSE AND BLANK FALSE FALSETRUE OR BLANK TRUE TRUETRUE AND BLANK FALSE TRUEBLANK OR BLANK BLANK ОшибкаBLANK AND BLANK BLANK Ошибка
Операторы Скобки () Арифметические +, -, *, /, - Сравнение =, <>, >, >=, <, <= Слияние текста & Логические &&, ||, !
Приоритет операторов
Оператор Описание
^ Возведение в степень
– Отрицание (как в числе –1)
* и / Умножение и деление
! NOT (унарный оператор)
+ и – Сложение и вычитание
& Объединяет две строки текста
=< ><=>=<> Сравнение
Вычисляемые столбцы и меры
Вычисляемые столбцы Меры Выбор между вычисляемыми столбцами и мерами
использование хранение производительность
Обработка ошибок Ошибки преобразования типов
=SalesOrders[VatCode]+100=“1+1”+0
Арифметические операции
=10/0=0/0=(10/0)/(7/0)=9954/(7/0)=SQRT(-1)
бесконечностьбесконечность
NaN
0#ERROR
Обработка ошибок =IFERROR(Sales[Quantity]*Sales[Price],BLANK()) =IFERROR(SQRT(Test[Omega]),BLANK())
=IF(ISNUMBER(Sales[Price]), Sales[Quantity]*Sales[Price],BLANC())
=IF(Test[Omega]>=0,SQRT(Test[Omega]),BLANK())
Группы функцийДата и время Информационные Математические Статистические СтроковыеDATE ISBLANK ABS AVERAGE CHARDATEVALUE ISERROR CEILING, ISO.CEILING AVERAGEA CODEDAY ISLOGICAL EXP COUNT CONCATENATEEDATE ISNONTEXT FACT COUNTA EXACTEOMONTH ISNUMBER FLOOR COUNTBLANK FINDHOUR ISTEXT INT MAX FIXEDMINUTE LN MAXA LEFTMONTH Logical LOG MIN LENNOW AND LOG10 MINA LOWERSECOND IF MOD MIDTIME IFERROR MROUND REPLACETIMEVALUE NOT PI REPTTODAY OR POWER RIGHTWEEKDAY FALSE QUOTIENT SEARCHWEEKNUM TRUE RAND SUBSTITUTEYEAR RANDBETWEEN TRIMYEARFRAC ROUND UPPER
ROUNDDOWN VALUEROUNDUPSIGNSQRTSUMSUMSQTRUNC
Пример использования DAX
Демонстрация
Контекст в формулах DAX Контекст строки
=[Freight] + [Tax]=[Freight] + RELATED('Region'[TaxRate])
Контекст запроса
=SUM('Sales'[Profit]) Контекст фильтра
=MAXX(FILTER(Sales,[ProdKey]=EARLIER([ProdKey])),Sales[OrderQty])
Контекст в формулах DAX
Некоторые сценарии
Рабочие дни
Есть: Таблица заказов Таблица праздников
Нужно: Сколько рабочих дней прошло с момента заказа до
поставки товара?
Ещё немного о времени Группируем по времени
за месяц за квартал за год
За аналогичный период…
Без вычисления Проценты Суммирование Среднее арифметическое
Процентное отношение
𝑃𝑒𝑟𝑐𝑒𝑛𝑡𝑎𝑔𝑒=𝑉𝑎𝑙𝑢𝑒𝑇𝑜𝑡𝑎𝑙
(посмотрим два варианта)
ABC-анализ
Классификация ресурсов по степени важности: A – наиболее ценные B – промежуточные C – наименее ценные
Подсчёт количеств оригинальных Заказчиков/Продуктов (distinct count)
= COUNTROWS(DISTINCT(Orders[CustomerID]))
Организация между таблицами отношений многие-ко-многим
Связи в таблицах а-ля 1С
Сценарии использования DAX
Демонстрация
Ресурсы http://powerpivot.com http://powerpivotfaq.com http://blogs.msdn.com/powerpivot http://msdn.microsoft.com/en-us/librar
y/ee634556(SQL.105).aspx http://www.gotdotnet.ru/blogs/korshiko
v/tags/?powerpivot http://sqlbi.ineta.ru http://www.microsoftbi.ru
Ресурсы
Обратная связь
Ваше мнение очень важно для нас. Пожалуйста, оцените доклад, заполните анкету и сдайте ее при выходе из зала
Спасибо!
Вопросы Андрей Коршиков
Компания Портал-Юг, Краснодар, Россия [email protected], [email protected] http://sqlbi.ineta.ru и www.gotdotnet.ru
Вы сможете задать вопросы докладчику в зоне «Спроси эксперта» в течение часа после завершения этого доклада