что такое dax excel
Простой авторский взгляд на сквозную BI аналитику (разбираем на практике Power BI, Excel, Power Pivot, DAX. и многое другое)
Язык MS DAX для Power BI и Excel (Powerpivot)
Содержание статьи: (кликните, чтобы перейти к соответствующей части статьи):
Приветствую Вас, дорогие друзья, с Вами Будуев Антон. С этой статьи я начинаю большую рубрику на нашем блоге «BI — это просто», посвященную языку функций и формул DAX. В этой рубрике будем подробно разбирать все функции DAX, а также то, как на основе них писать необходимые для Ваших BI отчетов формулы.
Ну а в этой статье мы поговорим о самом языке DAX и что это вообще такое.
Для Вашего удобства, рекомендую скачать «Справочник DAX функций для Power BI и Power Pivot» в PDF формате.
Если же в Ваших формулах имеются какие-то ошибки, проблемы, а результаты работы формул постоянно не те, что Вы ожидаете и Вам необходима помощь, то записывайтесь в бесплатный экспресс-курс «Быстрый старт в языке функций и формул DAX для Power BI и Power Pivot».
А также, подписывайтесь на наши социальные сети. Потому что именно в них, Вам будут доступны оперативно и каждый день наши актуальные фишки, секреты, наработки, примеры, кейсы, полезные советы, видео и статьи по темам сквозной BI аналитики (Power BI, DAX, Power Pivot, Excel…): Вконтакте, Инстаграм, Фейсбук, YouTube.
Да, и еще один момент, до 26 ноября 2021 г. у Вас имеется шикарная возможность приобрести большой, пошаговый видеокурс «DAX — это просто» с огромной скидкой 75% (вместо 20000, всего за 5000 руб.)
В этом видеокурсе язык DAX преподнесен как простой конструктор, состоящий из нескольких блоков, которые имеют свое определенное, конкретное предназначение. Сочетая различными способами эти блоки, Вы, при помощи конструктора формул DAX, с легкостью сможете решать любые (простые или сложные) аналитические задачи.
Итак, пользуйтесь этой возможностью, заказывайте курс «DAX — это просто» со скидкой 75% (до 26 ноября 2021 г.): узнать подробнее
до конца распродажи осталось:
Что такое язык DAX от Microsoft?
DAX — это язык функций и формул, который входит в состав нескольких приложений от компании Microsoft, а если быть точнее, то в приложение Power BI, в надстройку Excel (Powerpivot) и в SSAS Tabular (SQL Server).
MS DAX — это функциональный язык запросов, который целиком и полностью состоит только из встроенных в него функций.
В DAX Вы не сможете создать какие-либо свои функции, циклы или что-то еще, что можно создавать в языках программирования. Ведь DAX — это не язык программирования, это именно функциональный язык от Microsoft, при помощи которого, у Вас имеется возможность на основе встроенных в него функций создавать свои формулы для расчета необходимых вычислений, обогащая Вашу исходную модель данных. И на основе всего этого, в итоге, создавать те самые интерактивные отчеты в Power BI и Excel (Powerpivot).
Если говорить кратко, то DAX позволяет обращаться (создавать запросы) к исходной модели данных, брать из нее необходимые отфильтрованные данные и производить с ними вычисления. А затем, уже на основе этих вычислений, у Вас появляется возможность создавать интерактивные BI отчеты.
Язык DAX и Excel (Powerpivot)
Тем из Вас, кто ранее пользовался обычным Экселем, а сейчас переходит к работе с языком DAX, то для Вас DAX может показаться достаточно знакомым и похожим на Excel.
И это действительно так. Дело в том, что язык DAX изначально зародился из под Excel, а конкретнее, в 2010 году его представили на свет в рамках языка функций и формул для надстройки Excel — Power Pivot. И создатели DAX сделали все возможное, чтобы пользователям стандартного Экселя было легко перейти к работе с DAX.
В DAX достаточно много функций, которые так или иначе похожи, или чем-то напоминают соответствующие функции в Excel.
И все же, DAX это не Эксель, иначе бы зачем его создавали… Большинство функций в DAX работают иначе, либо же они совершенно новые и их в стандартном Excel нет вообще.
Но, основное различие между ними даже не в тех или иных функциях, а в том, что Excel и DAX совершенно по-разному сконструированы.
В Excel вся работа основана на конкретных ячейках. К каждой ячейке Вы можете обратиться по конкретному адресу: A5, B2 и так далее.
Также, в рамках одного столбца, например, столбца A, Вы можете в каждой ячейке расположить разные формулы, разные форматы данных, и затем, объединить все эти ячейки в рамках одной какой-то формулы.
В MS DAX так сделать уже не получится! Потому что в DAX минимальным атомарным кирпичиком является столбец. И в рамках одного столбца Вы сможете указать только одну единственную формулу, которая будет вычисляться для всех ячеек этого столбца. Также, в рамках этого одного столбца возможно расположить только 1 конкретный тип данных.
То есть, в DAX в рамках одного столбца Вы не сможете на одной строчке написать одну формулу, на другой, другую формулу. На одной строчке один тип данных, на другой — другой тип данных. Это сделать невозможно. В DAX в одном столбце возможна лишь одна формула и один тип данных.
Исходя из всего выше описанного можно сделать вывод, что в DAX у Вас не получится добраться до какой-то конкретной ячейки в таблице или столбце, указав конкретный адрес этой ячейки.
Но, все же, значение этой одной конкретной ячейки получить можно…
Для этого нужно указать конкретный адрес столбца и его таблицы, затем наложить на столбец очень мощный фильтр таким образом, чтобы от всех его строчек осталась только одна единственная строка, тогда, соответственно, в столбце останется одна ячейка и этим самым, мы сможем получить значение этой ячейки. Но при этом, опять же, мы не будем знать что за это ячейка и какой у нее адрес.
Язык DAX и Power BI
Также, есть небольшое различие в языках DAX используемых в разных приложениях, например таких, как Power BI и Excel (Powerpivot).
А конкретно, в DAX в Power BI имеется возможность создавать физически и сохранять в модели данных вычисляемые таблицы, чего в Excel (Powerpivot) по крайней мере, сейчас, пока сделать не получится. В Экселе можно создавать некие виртуальные таблицы в составе самих формул DAX, но создать физически вычисляемые таблицы и потом сохранить их в модели данных пока нельзя.
Поэтому, если Вы только начинаете изучать язык DAX, то лучше всего, по моему мнению, это делать в приложении Power BI:
Если Вы еще не знаете что такое Power BI, то на нашем блоге Вы можете найти много статей на эту тему. И если нужно скачать приложение Power BI Desktop, то сделать это Вы можете по данной ссылке.
Описание миссии языка DAX
Итак, подводя итог всей статьи про краткое описание и знакомство с DAX, можно описать его некое предназначение:
На этом, с первым знакомством с языком DAX, все. Переходите к следующей статье, где мы продолжим изучать этот язык, а если быть точнее, то поговорим про функции DAX.
Подробное ВИДЕО «Что такое язык DAX для Power BI и Power Pivot»
Ссылки из видео:
1) [Регистрируйтесь в бесплатной группе обучения] Быстрый старт в языке функций и формул DAX для Power BI и Power Pivot: зарегистрироваться
2) [Скачивайте PDF] Справочник DAX функций для Power BI и Power Pivot на русском языке: скачать
Также, напоминаю Вам, что до 26 ноября 2021 г. у Вас имеется шикарная возможность приобрести большой, пошаговый видеокурс «DAX — это просто» с огромной скидкой 75% (вместо 20000, всего за 5000 руб.)
В этом видеокурсе язык DAX преподнесен как простой конструктор, состоящий из нескольких блоков, которые имеют свое определенное, конкретное предназначение. Сочетая различными способами эти блоки, Вы, при помощи конструктора формул DAX, с легкостью сможете решать любые (простые или сложные) аналитические задачи.
Итак, пользуйтесь этой возможностью, заказывайте курс «DAX — это просто» со скидкой 75% (до 26 ноября 2021 г.): узнать подробнее
До конца распродажи осталось:
Пожалуйста, оцените статью:
Успехов Вам, друзья!
С уважением, Будуев Антон.
Проект «BI — это просто»
Если у Вас появились какие-то вопросы по материалу данной статьи, задавайте их в комментариях ниже. Я Вам обязательно отвечу. Да и вообще, просто оставляйте там Вашу обратную связь, я буду очень рад.
Также, делитесь данной статьей со своими знакомыми в социальных сетях, возможно, этот материал кому-то будет очень полезен.
Понравился материал статьи? Добавьте эту статью в закладки Вашего браузера, чтобы вернуться к ней еще раз. Для этого, прямо сейчас нажмите на клавиатуре комбинацию клавиш Ctrl+D
до конца распродажи осталось:
до конца распродажи осталось:
Что такое язык DAX от Microsoft?
DAX( Data Analysis Expressions) — это язык функций и формул, который входит в состав нескольких приложений от компании Microsoft, а если быть точнее, то в приложение Power BI, в надстройку Excel (Powerpivot) и в SSAS Tabular (SQL Server).
MS DAX — это функциональный язык запросов, который целиком и полностью состоит только из встроенных в него функций. В DAX вы не сможете создать какие-либо свои функции, циклы или что-то еще, что можно создавать в языках программирования. Ведь DAX — это не язык программирования, это именно функциональный язык от Microsoft, при помощи которого, у вас имеется возможность на основе встроенных в него функций создавать свои формулы для расчета необходимых вычислений, обогащая вашу исходную модель данных. И на основе всего этого, в итоге, создавать те самые интерактивные отчеты в Power BI и Excel (Powerpivot).
Если говорить кратко, то DAX позволяет обращаться (создавать запросы) к исходной модели данных, брать из нее необходимые отфильтрованные данные и производить с ними вычисления. А затем, уже на основе этих вычислений, у Вас появляется возможность создавать интерактивные BI отчеты.
Язык DAX и Excel (Powerpivot)
Тем из вас, кто ранее пользовался обычным Excel, а сейчас переходит к работе с языком DAX, то для вас DAX может показаться достаточно знакомым и похожим на Excel. И это действительно так. Дело в том, что язык DAX изначально зародился из под Excel, а конкретнее, в 2010 году его представили на свет в рамках языка функций и формул для надстройки Excel — Power Pivot. И создатели DAX сделали все возможное, чтобы пользователям стандартного Экселя было легко перейти к работе с DAX. В DAX достаточно много функций, которые так или иначе похожи, или чем-то напоминают соответствующие функции в Excel.
Язык DAX и Power BI
Также, есть небольшое различие в языках DAX используемых в разных приложениях, например таких, как Power BI и Excel (Powerpivot). А конкретно, в DAX в Power BI имеется возможность создавать физически и сохранять в модели данных вычисляемые таблицы, чего в Excel (Powerpivot) по крайней мере, сейчас, пока сделать не получится. В Excel можно создавать некие виртуальные таблицы в составе самих формул DAX, но создать физически вычисляемые таблицы и потом сохранить их в модели данных нельзя. Поэтому, если вы только начинаете изучать язык DAX, то лучше всего, по моему мнению, это делать в приложении Power BI: во-первых, в Power BI в DAX можно легко создавать в модели данных вычисляемые таблицы; а во-вторых, само удобство использования DAX в Power BI намного лучше, ведь Power BI — это следующий технологический уровень в BI аналитике, после Excel, и именно поэтому, там процесс работы намного удобнее.
Формулы DAX включают функции, операторы и значения для выполнения расширенных вычислений и запросов к данным в связанных таблицах и столбцах в табличных моделях данных. Они используются в показателях, вычисляемых столбцах, вычисляемых таблицах и безопасности на уровне строк.
Рассмотрим основные атрибуты по порядку:
1. Меры
Меры используются в некоторых наиболее распространенных методах анализа данных. Простые итоговые значения, такие как суммы, средние значения, минимумы, максимумы и счетчики, можно задать в области Поля. Вычисленные результаты мер всегда изменяются в ответ на взаимодействие с отчетами, что обеспечивает быстрый и динамический просмотр данных.
2. Вычисляемый столбец
Вычисляемые столбцы похожи на меры в том, что они строятся на формуле DAX, но их использование отличается. Меры часто используются в области Значения визуализации для вычисления результатов на основе других полей. Вычисляемые столбцы используются в качестве новых полей в строках либо в области оси, условных обозначений или группы визуализаций.
3. Вычисляемая таблица
В большинстве случаев вы создаете таблицы путем импорта данных в модель из внешнего источника данных. Но вычисляемые таблицы позволяют добавлять новые таблицы на основе данных, уже загруженных в модель. Вместо запроса и загрузки значений в столбцы новой таблицы из источника данных вы создаете формулу на языке DAX, которая определяет значения таблицы.
Описание миссии языка DAX
Итак, подводя итог всей статьи про краткое описание и знакомство с DAX, можно описать его некое предназначение: данный язык функций и формул является неким мостом между вашей исходной моделью данных и тем интерактивным отчетом, который вы в итоге хотите видеть и анализировать; этот функциональный язык запросов дает возможность обогатить исходную модель данных, создавая в ней новые вычисляемые таблицы, столбцы и разные меры (вычисления, на основе которых вы и будете изучать и анализировать всю информацию).
Как работает язык DAX?
БИЗНЕС-АНАЛИТИК (DATA ANALYST)
Научитесь выстраивать процессы для роста бизнеса и увеличения прибыли.
В статье рассказываем о структуре языка DAX, объясняем, как он работает, чем отличается от привычного всем Excel и с чего начать обучение.
Что такое DAX?
DAX — это язык, который помогает оптимизировать работу в некоторых приложениях Microsoft (это Power BI и Power Pivot).
DAX состоит из набора функций, которые помогают видоизменять и корректировать имеющиеся данные. Это удобно, когда информации недостаточно для анализа или когда нужно получить на основе данных новые показатели.
В чем польза языка DAX?
На самом деле, создать книгу и импортировать в нее какие-то данные очень просто. Можно без особых усилий создавать сводные таблицы и диаграммы, которые отображали бы важную информацию, даже не используя формулы DAX.
Но как быть в тех случаях, когда нужно проанализировать данные о продажах, например, по нескольким категориям товаров и для разных временных промежутков? Или нужно объединить данные инвентаризации из нескольких таблиц в разных источниках данных?
В этом случае без формул DAX тоже можно обойтись, но те возможности, которые предоставляет этот язык, стоят того, чтобы немного повозиться с его освоением.
Изучение того, как создавать эффективные формулы DAX, поможет получить максимальную отдачу от ваших бизнес-данных. Создав новые меры и вычисляемые столбцы, вы получаете не нагромождение данных, а «приятную» для работы специалиста среду.
Аналитику не придется судорожно бегать по всем отделам в поисках дополнительной информации: он сам сможет создавать то, что нужно и пригодиться в исследовании. Получив необходимую информацию, он сможет начать решать реальные бизнес-проблемы, которые влияют на прибыль и процветание компании.
DAX — это рай для любознательного и ориентированного на результат специалиста.
Безусловно, многие знают, как создавать формулы в Microsoft Excel. Если вы чувствуете пробелы в знаниях функционала Excel, то рекомендуем записаться на наш открытый онлайн-курс «Аналитика в Excel». Начав работать с DAX, вы поймете, что синтаксис, набор функций и операторов у двух этих инструментов перекликаются. Но разница между ними просто не может не существовать (иначе зачем два одинаковых инструмента?). Основное различие заключается в том, что они по-разному сконструированы.
В Excel все действия связаны с ячейкой: мы знаем ее адрес, имеем к ней доступ, можем писать для нее формулы, менять типы данных (причем в одном столбце могут быть ячейки с разными типами), по-разному форматировать, объединять ячейки и так далее. То есть ячейка — базовая структурная единица.
В DAX так сделать уже не получится!
В качестве базового элемента здесь выступает столбец. У всех ячеек одного столбца одинаковый тип данных, формулы для расчета применяются к целому столбцу. Также с помощью DAX мы не сможем добраться до какой-то конкретной ячейки (у ячеек нет адресов).
Мы, конечно, сможем получить значение какой-то ячейки, например, прописав название таблицы, адрес необходимого нам столбца, а потом наложив строгий фильтр, чтобы осталось значение только из необходимой ячейки. Но адрес ее мы все же не узнаем. У нее его просто нет!
Чаще всего DAX применяют для усовершенствования работы в Power BI.
Базовых знаний о Power BI достаточно, чтобы создать достойный отчет со всеми доступными данными. Но если информации, которой вы располагаете недостаточно для анализа, тогда необходимо принять серьезные меры в создании новых мер, с помощью DAX (забавный оксюморон).
Так что, умение работать с языком формул рано или поздно пригодится. А сейчас лучшее время с ним познакомиться!
Сначала предлагаем узнать о трех основных принципах, на которых построен DAX — это синтаксис, функции и контексты. Конечно, есть и другие концепции языка, но понимание этих трех принципов обеспечит хорошую базу для развития навыков DAX.
Перед тем как приступить к глубокому изучению, давайте проясним два важных понятия, которые встречались ранее и без которых не обойтись, если вы хотите научиться «говорить» на языке DAX.
Первое понятие — «мера». Это некоторое выражение, рассчитывающее не существовавшие до этого важные показатели.
Для этого они берут за основу данные, содержащиеся в таблицах, и прописывают формулу. С ее помощью появляется новое значение, которое можно использовать в других вычислениях или в визуализации.
Примером использования мер можно считать нахождение среднего значения, суммы элементов столбца, количества уникальных записей и прочее.
Второе понятие — «Вычисляемый столбец».
Оно также позволяет рассчитывать показатели, но расчет производится для каждой строки таблицы отдельно, а результат сохраняется в новый столбец таблицы. Это дает возможность использовать новый столбец наравне с основными.
Эти два понятия необходимо различать! Но вернемся к нашим буквам и слогам.
Синтаксис
Первоначальный и самый важный шаг в изучении языка (не только технического, но и любого другого) состоит в том, чтобы разбить его на минимальные элементы и понять, как с ними работать.
Вспомните начальную школу и уроки русского или английского языка.
Первым делом нас учили алфавиту. После того, как мы выучили буквы (основные кирпичики языка), мы начали изучать слоги (соединение нескольких букв в новую структурную единицу), затем слоги складывали в слова, слова — в словосочетания, словосочетания — в предложения и в конечном итоге получали текст.
Точно так же нужно подходить к изучению языков программирования!
Именно поэтому мы сперва изучим синтаксис! Посмотрим на формулу, написанную с помощью DAX:
Она состоит из следующих элементов:
A: Название новой меры.
B: Оператор (=). Как и в Excel он указывает на начало вычисляемого высказывания.
C: SUM — это функция DAX. С ее помощью можно найти сумму значений.
D: В круглых скобках указывают аргумент функции (те значения, которые участвуют в расчетах). Каждая функция должна иметь хотя бы один аргумент.
E: Название таблицы, из которой берется поле или столбец.
F: Название поля, из которого формула будет брать значения.
У нас создается новая мера «Прогнозируемые продажи 2020», которая будет равна сумме значений столбца [Sales] из таблицы [financials].
G: Оператор умножения
Проще говоря, эта формула DAX дает команду системе рассчитать произведение суммы значений Sales и 1,08 и сохранить значение в новом поле или столбце, называемом «Прогнозируемые продажи 2020».
Чтобы проще было понять формулу, можно разбить ее на элементы и проговорить их.
Сделаем это для описанного выше примера:
В таблице financials для каждой строки в мере «Пронозируемые продажи 2020» рассчитайте результат, умножая значения из столбца [Sales] на 1,08. Все просто!
Перейдем к понятию Функции
Функция DAX — это предопределенная, структурированная и упорядоченная формула, которая показывает, как производить расчет. В скобках после функции обязательно должен указываться аргументы. Параметрами функции могут быть любые элементы: от ссылок на столбцы до других функций.
Каждая функция выполняет определенную операцию со значениями, заключенными в скобках (то есть входящих в аргумент).
Как мы уже упоминали — любая формула DAX использует только полные столбцы или таблицы. Если нужно использовать функции для отдельных значений в столбце, то неизбежно применение фильтров.
Функции DAX очень похожи на формулы Excel
Вот основные типы, которые используют в работе:
1. Функции даты и времени
Эти функции помогают производить вычисления для значений даты и времени.
2. Интеллектуальные функции времени
Функции анализа времени используют, когда нужно оценить какие-то показатели за определенные периоды времени (день, неделя, месяц, квартал и т.п.), а затем сравнить их между собой.
3. Информационные
Данный тип позволяет получить метаданные (то есть информацию о данных). Например, функция ISERROR (аналог формулы ЕСЛИОШИБКА) возвращает TRUE, если аргумент содержит ошибку.
ISBLANK проверяет является ли значение пустым.
ISNUMBER показывает является ли значение числовым, а ISTEXT – является ли текстовым.
4. Логические
Логические функции проверяют выполнение некоторого условия. Если оно выполняется, то результат – ИСТИНА, если нет, то ЛОЖЬ.
5. Математические и тригонометрические
Математические и триггерные функции используются для выполнения всевозможных математических операций для указанных значений.
6. Агрегатные
Позволяют получать статистическую информацию о данных, например, максимум, минимум, среднее, общее количество строк и так далее.
7. Текстовые
Текстовые функции в Power BI очень похожи на строковые функции Excel. Они преобразовывают строковые значения.
8. Функции родителя и ребенка
Данный тип функций используется для значений данных, которые являются частью иерархии родительских и дочерних элементов.
9. Табличные
Табличные функции используются в Power BI для видоизменения целой таблицы. Эти функции похожи на операторов SQL.
И, наконец, мы добрались до третьего основного «кирпичика» языка DAX! Существует два типа контекстов: «Контекст строки» и «Контекст фильтра». Разберемся, что это.
Контекст строки
Под контекстом строки легче всего понимать текущую строку. Иными словами, это область данных, которые используются в вычислении в конкретный момент.
Например, посчитаем расходы:
DAX может вычислять значения для каждой строки в столбце «Расходы», так как для этого есть контекст: для каждой строки он берет значения из столбца [Sales] и вычитает из него соответствующие значения из столбца [Profit] (значения находятся в одной строке). Это и есть контекст строки.
Контекст фильтра
С контекстом фильтра дела обстоят сложнее. Контекст фильтра — это набор фильтров, которые применяются к выражению. Параллельно с вычислением происходит отбор строк, которые должны участвовать в расчетах.
Такой подход необходим, так как в DAX нет доступа к отдельным ячейкам. До них можно добраться только с помощью фильтров.
Эти два типа контекстов не существуют отдельно. Скорее Контекст фильтра используется дополнительно к Контексту строки.
Не расстраивайтесь, если вы не сразу поймете, как это работает. Все приходит с опытом и практикой!
Заключение
После прочтения статьи у вас должно было проясниться общее представление о наиболее важных концепциях языка DAX. Теперь вы можете смело пробовать создавать свои формулы и использовать новые меры и столбцы в визуальных отчетах Power BI.
Не переживайте, это еще не конец!
Мы вернемся к изучению DAX совсем скоро и уже на практике посмотрим, где и как он нам сможет пригодиться.
Главную мысль мы усвоили — DAX дает новый подход к анализу данных: он умный и интеллектуальный. Благодаря нему можно найти подходящие решения для бизнес-задач, которые есть риск упустить при обычном анализе. Делитесь ваши успехами в познании DAX в комментариях и записывайтесь на наш курс «Бизнес-аналитик», если хотите освоить язык DAX.
БИЗНЕС-АНАЛИТИК (DATA ANALYST)
Научитесь выстраивать процессы для роста бизнеса и увеличения прибыли.