Dax excel что это
DAX расшифровывается как Data Analysis Expressions (Выражения для анализа данных) – это язык формул и запросов, разработанный Microsoft для взаимодействия с табличными данными на различных платформах, таких как: Analysis Services, Power BI, Power Pivot.
Не следует путать DAX с языками программирования: у нас не получится с помощью DAX написать цикл или создать новую функцию. Мы можем только писать новые сложные формулы для проведения необходимых вычислений, используя встроенные функции языка.
DAX дает возможность обогащать уже имеющиеся табличные данные: выгружать из исходной модели информацию, отфильтровывать ее с помощью запросов, и уже на основе этих данных создавать те самые красочные интерактивные отчеты в Power BI и Excel.
DAX изначально задумывался как простой и легкий в освоении инструмент обработки и анализа данных, демонстрирующий мощь и гибкость табличных моделей. Язык создавался как надстройка Excel, поэтому сама структура DAX напоминает пользователям непосредственно сам Эксель. Даже некоторые функции этих систем перекликаются.
Сейчас DAX чаще всего используют для увеличения возможностей Power BI.
Конечно, довольно легко импортировать данные в Power BI и делать на их основе отчеты. И для этого не понадобятся формулы DAX. Но что делать, когда появляется необходимость проанализировать процент роста по категориям продуктов и для разных диапазонов дат? Или когда нужно вычислить годовой рост в сравнении с тенденциями рынка? Вот тогда на помощь приходят формулы DAX.
С помощью них легко эффективно работать с данными. Знание языка позволит решать реальные бизнес-задачи, увеличивая производительность. (А, как мы знаем, производительность – первое, на что обращают внимание начальники и инвесторы. После прибыли, конечно!)
Почему нужно изучать DAX?
Это открывает целый новый мир!
Представьте, что Вы - начинающий пользователь Excel: Вы уже умеете структурировать свои таблицы, рисовать некоторые простенькие диаграммы, даже можете быстро посчитать сумму, среднее, произведение и так далее. И вдруг Вы узнаете, что есть огромное количество полезных функций, которые упрощают Вашу работу в несколько раз: например, ВПР, СУММЕСЛИ, ПОИСКПОЗ, СЦЕПИТЬ и так далее.
Особенно интересно наблюдать за студентами MS Excel в процессе их обучения. Всегда радуют возгласы: «Ого, так можно было?!», «И что, все? Готово?», «Я раньше столько рабочего времени на это тратил… Что же я теперь в оставшееся делать буду…».
Все полезные возможности программы автоматически открывают перед Вами другой мир: в каждой новой ситуации Вы уже заранее знаете, что пригодится, и какими средствами воспользоваться.
То же касается Power BI и DAX. Power BI сам по себе является невероятно мощным инструментом для анализа данных, но использование DAX «прокачает» возможности Power BI до неузнаваемости: Вы получите доступ к динамическому выбору, объединению, фильтрации данных. То есть панель мониторинга сможет принимать данные от пользователей и использовать их для создания изменяемых в реальном времени вычисляемых столбцов, показателей и таблиц.
Меньше головных болей
Часто бывает ситуация, когда у Вас в голове есть грандиозные идеи по созданию самой удобной, информативной и красивой, при этом, панели мониторинга. Вот, в порыве энтузиазма Вы беретесь за работу и понимаете, что воплотить в жизнь все планы не получается: то нет необходимых данных, то средства визуализации не подходят, то не получается преобразовать имеющуюся информацию… И тогда у Вас опускаются руки, делается все как попало, уже лишь бы закончить. Знакомо?
Конечно, при таком подходе ни удовольствие от работы не получаешь, ни пользу компании не приносишь. А времени на это потрачено немало.
В этом случае DAX приходит к нам на помощь. Уделив не так уж много времени на обучение (в сравнении с тем, что мы тратим на бесполезную работу), мы получаем незаменимое средство для работы с данными.
С помощью DAX можно делать разные мелочи, без которых, на первый взгляд, можно обойтись, но которые изрядно упрощают «отношения» с данными.
Предположим, у Вас есть 20 значений, которые нужно представить в процентном соотношении на круговой диаграмме. Наверное, Вы уже представляете, как сложно будет разглядеть эти малюсенькие сектора… Но и другого выбора нет: данные обязательно должны быть на панели.
DAX может предложить следующее решение: объединить сектора с маленькими долями в один, под названием «Другие». Установить порог (значение в процентах), ниже которого сектора попадут в этот новый раздел.
Рис. 2. До и после установки отсечки на 10% Андрон Алексанян«И это все, что предлагает ваш хваленый DAX?» - спросите Вы.
Но нам есть что ответить. Помимо этого, прописав несколько строк кода (не пугайтесь, он не такой сложных, как коды на С++, Python или R), Вы сможете создать шкалу, с помощью которой будете менять порог и смотреть, как при этом автоматически обновляется диаграмма:
Рис.3. Порог – 0% (все данные на диаграмме) Андрон Алексанян Рис.4. Порог – 10% (все сектора, меньше 10% объединены в один фиолетовый) Андрон АлексанянБолее подробно, как это сделать, мы разберем в следующей статье. А пока пробежимся по другим плюсам, которые нам предоставляет DAX.
Простенький пример: Вы создаете карточку с каким-то показателем, например, прибыль за год. И панель выдает Вам значение «Пусто». Очень странное значение, не правда ли? Да и не все, посмотрев, на эту карточку поймут, в чем смысл. Более естественным способом отображения «нет прибыли» будет «0» вместо «Пусто». Используя очень простое DAX-выражение, Вы можете сами создать меру (функции в DAX), добавив в формулу «0». После этого Вам уже не придется наблюдать загадочное «Пусто» на интерактивной панели. Хотя ни 0, ни «Пусто» лучше инвестору не показывать…
Это лишь малая часть возможностей, с помощью которых можно значительно улучшить взаимодействие с информацией и пользователем.
Ускорить панель мониторинга легко!
Чем «ближе» Вы будете контактировать с DAX, тем умнее сможете организовать свою приборную панель. Используя DAX, можно создавать сложные вычисляемые столбцы с данными, которые панель мониторинга будет извлекать и использовать для визуализации. Конечно, любая обработка данных влечет за собой трату ресурсов: память и скорость.
Но раз уж нам не избежать этих трат, то мы можем хотя бы существенно ограничить использование ресурсов с помощью некоторых выражений DAX. Они помогут ускорить процесс.
Например, при создании сложной вычислительной формулы лучше использовать фильтры. С его помощью расчет будет производиться только над теми строками, которые удовлетворяют условиям фильтра. Это поможет сэкономить время обработки, избавит от накопления ненужных данных, и, к тому же, Вам не придется потом вручную выбирать необходимые значения.
DAX - это больше, чем Power BI
Универсальность языка DAX заключается в том, что его можно использовать не только в среде Power BI. DAX совместим со многими продуктами Microsoft, например:
- Power BI
- Службы аналитики Microsoft
- Microsoft Power Pivot для Excel
Схожесть синтаксиса DAX и формул Excel также увеличивает популярность языка. Если Вы знакомы с основами старого, доброго Эселя, то Вам гораздо проще освоить DAX. И наоборот.
Это делает вас лучшим профессионалом в области данных.
DAX можно использовать только в средах, которые его поддерживают. Но это не значит, что если этих сервисов у Вас под рукой нет, то все наработки и навыки «коту под хвост». Наоборот: опыт и умение работать с DAX развивают мышление и заставляют взглянуть на таблицы совсем под другим углом. В DAX ключевым фактором является производительность. Узнав, как работают эти механизмы, Вы уже не сможете действовать по-другому и начнете применять эти принципы в другой работе, например, улучшить производительность запроса на SQL. Другими словами, изучая DAX, Вы поймете, как эффективно объединять, фильтровать, выбирать и манипулировать данными.
Некоторые сложности, с которыми Вы можете столкнуться при изучении DAX.
DAX нельзя понять за одну ночь. Можно быстро начать писать какой-то базовый код, но, чтобы понять, как взаимодействуют различные контексты строки и контексты фильтра, определенно, потребуется время. Поэтому перед тем, как начинать изучать DAX, следует решить, на каком уровне Вы будете его использовать, чтобы оценить, окупятся ли старания.
С чего начать обучение
Любое обучение является сложной задачей. Потребуются время и усилия, чтобы понять концепции, но при этом не понадобится доктор наук в области информационных технологий, чтобы начать.
Как и в случае с другими языками программирования, для начала изучения DAX можно воспользоваться разными бесплатными источниками, например:
Этот обзор написан специально для тех, у кого не доходили руки до того, чтобы узнать, что такое DAX; для тех, кто хотел понять, зачем нужен этот язык и как он работает. Мы еще поговорим о нем подробнее: разберем принцип работы языка, познакомимся с синтаксисом и функциями, посмотрим, как можно использовать DAX в Power BI, в чем основное отличие от Excel и многое другое. Будет интересно и познавательно!
Это не язык программирования, а язык формул, который позволяет пользователям определять пользовательские вычисления в вычисляемых столбцах и вычисляемых полях (также называемых мерами). DAX помогает вам создавать новую информацию из данных, которые уже присутствуют в вашей модели данных. Формулы DAX позволяют выполнять моделирование данных, анализ данных и использовать результаты для составления отчетов и принятия решений.
DAX включает некоторые функции, которые используются в формулах Excel, но с измененными функциями и дополнительными функциями, которые предназначены для работы с реляционными данными и выполнения динамического агрегирования.
Важность DAX
DAX также полезен в Power BI для создания нового файла Power BI Desktop и импорта в него некоторых данных. Кроме того, формулы DAX предоставляют такие возможности, как анализ процента роста по категориям продуктов и для разных диапазонов дат, расчет годового роста по сравнению с рыночными тенденциями и многими другими.
Изучение того, как создавать эффективные формулы DAX, поможет вам получить максимальную отдачу от ваших данных. Получив необходимую информацию, вы можете начать решать реальные бизнес-проблемы, которые влияют на вашу прибыль. Это сила Power BI, и DAX поможет вам в этом.
Предварительные условия для этого урока
Этот учебник является расширением учебника Excel Power Pivot, в котором вы узнали о функции Power Pivot, модели данных, отношениях, Power PivotTable, Power Pivot Charts и т. Д. Было бы неплохо освежить в памяти этот учебник, прежде чем углубиться в изучение. в DAX, поскольку это руководство больше относится к языку DAX, в котором вы пишете формулы для анализа данных в модели данных и сообщаете об этих результатах.
В этом руководстве также представлены функции DAX, подобные функциям Excel, но с некоторыми вариациями. Сравнение функций Excel и DAX позволяет вам различать обе функции. Аналогичным образом сравниваются формулы Excel и формулы DAX, обсуждаются сходства и различия. Хорошее понимание этих различий поможет вам эффективно написать эффективные формулы DAX.
Знание функций Excel и формул Excel не является обязательным для этого учебного пособия, так как DAX предназначен исключительно для модели данных в окне Power Pivot. Вы попадете в рабочую таблицу Excel только для просмотра визуальных таблиц Power Pivot, Power Pivot и Power View, основанных на модели данных. Тем не менее, если вы профессионал в Excel и обладаете достаточными знаниями в области функций и формул Excel, лучше запомните, что упомянуто в предыдущем разделе, а также детали, приведенные в этом руководстве.
Расчетные столбцы
Расчетные поля / меры
Вы не можете изменить значения в таблицах в модели данных путем редактирования. Однако в таблицу можно добавить вычисляемые поля, которые можно использовать в сводных таблицах Power. Вычисляемые поля определяются путем присвоения имени и определения формулы DAX. Подробнее см. Главу « Расчетные поля» .
Вы можете редактировать вычисляемое поле после того, как оно определено и сохранено. Вы можете изменить формулу DAX, используемую в определении, или переименовать вычисляемое поле. Вы узнаете об этом в главе « Редактирование вычисляемого поля» . Вы можете удалить вычисляемое поле. Обратитесь к главе « Удаление вычисляемого поля» .
Большинство функций DAX имеют те же имена и функциональность, что и функции Excel. Однако функции DAX были изменены, чтобы использовать типы данных DAX и работать с таблицами и столбцами.
У DAX есть некоторые дополнительные функции, которые вы не найдете в Excel. Эти функции DAX предоставляются для конкретных целей, таких как поиск на основе отношений, связанных с аспектами реляционной базы данных модели данных, возможность итерации по таблице для выполнения рекурсивных вычислений, для выполнения динамического агрегирования и для вычислений с использованием анализа времени.
Что такое функция DAX?
Функции Excel и DAX
Есть определенные сходства между известными вам функциями Excel и функциями DAX. Однако есть и определенные различия. Вы должны получить ясность по этим вопросам, чтобы избежать ошибок при использовании функций DAX и при написании формул DAX, которые включают функции DAX.
Сходства между функциями Excel и DAX
Многие функции DAX имеют то же имя и такое же общее поведение, что и функции Excel.
DAX имеет функции поиска, которые аналогичны функциям поиска в массиве и векторе в Excel.
Многие функции DAX имеют то же имя и такое же общее поведение, что и функции Excel.
DAX имеет функции поиска, которые аналогичны функциям поиска в массиве и векторе в Excel.
Различия между функциями Excel и DAX
Функции DAX были изменены, чтобы принимать различные типы входов, и некоторые функции DAX могут возвращать другой тип данных. Следовательно, вы должны понимать использование этих функций отдельно, хотя они имеют одинаковые имена. В этом руководстве вы найдете все функции DAX с префиксом DAX, чтобы избежать путаницы с функциями Excel.
Вы не можете использовать функции DAX в формуле Excel или использовать формулы / функции Excel в DAX без необходимых изменений.
Функции Excel принимают ссылку на ячейку или диапазон ячеек в качестве ссылки. Функции DAX никогда не принимают ссылку на ячейку или диапазон ячеек в качестве ссылки, а вместо этого принимают столбец или таблицу в качестве ссылки.
Функции даты и времени в Excel возвращают целое число, представляющее дату в виде серийного номера. Функции даты и времени DAX возвращают тип данных datetime, который находится в DAX, но не в Excel.
В Excel нет функций, возвращающих таблицу, но некоторые функции могут работать с массивами. Многие из функций DAX могут легко ссылаться на полные таблицы и столбцы, чтобы выполнять вычисления и возвращать таблицу или столбец значений. Эта способность DAX добавляет мощность в Power Pivot, Power View и Power BI, где используется DAX.
Функции поиска DAX требуют, чтобы между таблицами была установлена связь.
Excel поддерживает вариантный тип данных в столбце данных, т.е. в столбце могут быть данные разных типов данных. Принимая во внимание, что DAX ожидает, что данные в столбце таблицы всегда будут одного типа данных. Если данные не относятся к одному и тому же типу данных, DAX изменяет весь столбец на тип данных, который наилучшим образом соответствует всем значениям в столбце. Однако, если данные импортированы и возникает эта проблема, DAX может пометить ошибку.
Функции DAX были изменены, чтобы принимать различные типы входов, и некоторые функции DAX могут возвращать другой тип данных. Следовательно, вы должны понимать использование этих функций отдельно, хотя они имеют одинаковые имена. В этом руководстве вы найдете все функции DAX с префиксом DAX, чтобы избежать путаницы с функциями Excel.
Вы не можете использовать функции DAX в формуле Excel или использовать формулы / функции Excel в DAX без необходимых изменений.
Функции Excel принимают ссылку на ячейку или диапазон ячеек в качестве ссылки. Функции DAX никогда не принимают ссылку на ячейку или диапазон ячеек в качестве ссылки, а вместо этого принимают столбец или таблицу в качестве ссылки.
Функции даты и времени в Excel возвращают целое число, представляющее дату в виде серийного номера. Функции даты и времени DAX возвращают тип данных datetime, который находится в DAX, но не в Excel.
В Excel нет функций, возвращающих таблицу, но некоторые функции могут работать с массивами. Многие из функций DAX могут легко ссылаться на полные таблицы и столбцы, чтобы выполнять вычисления и возвращать таблицу или столбец значений. Эта способность DAX добавляет мощность в Power Pivot, Power View и Power BI, где используется DAX.
Функции поиска DAX требуют, чтобы между таблицами была установлена связь.
Excel поддерживает вариантный тип данных в столбце данных, т.е. в столбце могут быть данные разных типов данных. Принимая во внимание, что DAX ожидает, что данные в столбце таблицы всегда будут одного типа данных. Если данные не относятся к одному и тому же типу данных, DAX изменяет весь столбец на тип данных, который наилучшим образом соответствует всем значениям в столбце. Однако, если данные импортированы и возникает эта проблема, DAX может пометить ошибку.
Типы функций DAX
DAX поддерживает следующие типы функций.
- Табличные функции DAX
- Функции фильтра DAX
- Функции агрегации DAX
- DAX Time Intelligence Функции
Табличные функции DAX
- Функции агрегации DAX
- Функции фильтра DAX
- Интеллектуальные функции DAX Time
Понимание табличных функций DAX поможет вам эффективно писать формулы DAX.
Функции агрегации DAX
Функции агрегации DAX агрегируют любое выражение по строкам таблицы и полезны в вычислениях.
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
Формулы DAX включают функции, операторы и значения для выполнения расширенных вычислений и запросов к данным в связанных таблицах и столбцах в табличных моделях данных. Они используются в показателях, вычисляемых столбцах, вычисляемых таблицах и безопасности на уровне строк.
Рассмотрим основные атрибуты по порядку:
1. МерыМеры - это формулы динамических вычислений, результаты которых меняются в зависимости от контекста.
Меры используются в некоторых наиболее распространенных методах анализа данных. Простые итоговые значения, такие как суммы, средние значения, минимумы, максимумы и счетчики, можно задать в области Поля. Вычисленные результаты мер всегда изменяются в ответ на взаимодействие с отчетами, что обеспечивает быстрый и динамический просмотр данных.
2. Вычисляемый столбец
Вычисляемый столбец - это столбец, который Вы добавляете в существующую таблицу (в конструкторе моделей), а затем создаете формулу DAX, которая определяет значения столбца. Если вычисляемый столбец содержит действительную формулу DAX, значения вычисляются для каждой строки сразу после ввода формулы. Затем значения сохраняются в модели данных в памяти.
Вычисляемые столбцы похожи на меры в том, что они строятся на формуле DAX, но их использование отличается. Меры часто используются в области Значения визуализации для вычисления результатов на основе других полей. Вычисляемые столбцы используются в качестве новых полей в строках либо в области оси, условных обозначений или группы визуализаций.
3. Вычисляемая таблица
Вычисляемая таблица - это вычисляемый объект, основанный на выражении формулы, полученном из всех или части других таблиц в той же модели.
В большинстве случаев вы создаете таблицы путем импорта данных в модель из внешнего источника данных. Но вычисляемые таблицы позволяют добавлять новые таблицы на основе данных, уже загруженных в модель. Вместо запроса и загрузки значений в столбцы новой таблицы из источника данных вы создаете формулу на языке DAX, которая определяет значения таблицы.
Описание миссии языка DAX
Итак, подводя итог всей статьи про краткое описание и знакомство с DAX, можно описать его некое предназначение: данный язык функций и формул является неким мостом между вашей исходной моделью данных и тем интерактивным отчетом, который вы в итоге хотите видеть и анализировать; этот функциональный язык запросов дает возможность обогатить исходную модель данных, создавая в ней новые вычисляемые таблицы, столбцы и разные меры (вычисления, на основе которых вы и будете изучать и анализировать всю информацию).
Читайте также: