powerbi
Power Query (M) и DAX — В чем разница?
M и DAX — два строительных блока Power BI. Оба они являются функциональными языками, но они значительно различаются и используются для самых разных целей.
На этой странице показаны образцы кода для обоих языков и объясняется их назначение.
замечания
M и DAX — два строительных блока Power BI. Оба они являются функциональными языками, но они значительно различаются и используются для самых разных целей.
M используется в Power Query (ака Get \jsds1.livedfsUserprofilesixh500UPM_ProfiledesktopPQ Desktop DemosSet 2″), #»Lowercased Text» = Table.TransformColumns(Source,>), #»Filtered Rows» = Table.SelectRows(#»Lowercased Text», each ([Extension] = «.csv»)), #»Combined Binaries» = Binary.Combine(#»Filtered Rows»[Content]), #»Imported CSV» = Csv.Document(#»Combined Binaries»,[Delimiter=»,», Columns=4, Encoding=1252, QuoteStyle=QuoteStyle.None]), #»Promoted Headers» = Table.PromoteHeaders(#»Imported CSV»), #»Changed Type» = Table.TransformColumnTypes(#»Promoted Headers»,, , , >) in #»Changed Type»
(Открывает все файлы в папке, фильтрует файлы CSV, открывает и объединяет все файлы CSV и задает типы данных столбцов. Обратите внимание, что ни один из этих кодов не был введен вручную, но сгенерирован щелчком значков в редакторе Power Query Editor.)
[Power BI] O QUE É DAX?
Формула примера DAX
Продажи предыдущего квартала: = РАСЧЕТ (FactSales [Продажи], ПРЕДЫДУЩИЙ КВАРТИР (DimDate [DateKey]))
(Рассчитывает общий объем продаж за предыдущий квартал на основе столбца Sales в таблице FactSales и DateKey в таблице DimDate в зависимости от фильтров, применяемых в сводной таблице или PivotChart)
Источник: learntutorials.net
Язык 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, можно описать его некое предназначение: данный язык функций и формул является неким мостом между вашей исходной моделью данных и тем интерактивным отчетом, который вы в итоге хотите видеть и анализировать; этот функциональный язык запросов дает возможность обогатить исходную модель данных, создавая в ней новые вычисляемые таблицы, столбцы и разные меры (вычисления, на основе которых вы и будете изучать и анализировать всю информацию).
Источник: vc.ru
Язык MS DAX для Power BI и Excel (Powerpivot)
до конца распродажи осталось:
» Язык MS DAX для Power BI и Excel (Powerpivot)
- Что такое язык DAX от Microsoft?
- Язык DAX и Excel (Powerpivot)
- Язык DAX и Power BI
- Описание миссии языка DAX
- Подробное ВИДЕО «Что такое язык DAX для Power BI и Power Pivot»
Приветствую Вас, дорогие друзья, с Вами Будуев Антон. С этой статьи я начинаю большую рубрику на нашем блоге «BI — это просто», посвященную языку функций и формул DAX. В этой рубрике будем подробно разбирать все функции DAX, а также то, как на основе них писать необходимые для Ваших BI отчетов формулы.
Ну а в этой статье мы поговорим о самом языке DAX и что это вообще такое.
Для Вашего удобства, рекомендую скачать «Справочник DAX функций для Power BI и Power Pivot» в PDF формате.
Если же в Ваших формулах имеются какие-то ошибки, проблемы, а результаты работы формул постоянно не те, что Вы ожидаете и Вам необходима помощь, то записывайтесь в бесплатный экспресс-курс «Быстрый старт в языке функций и формул DAX для Power BI и Power Pivot».
Да, и еще один момент, до 23 декабря 2022 г. у Вас имеется возможность приобрести большой, пошаговый видеокурс «DAX — это просто» со скидкой 60% (вместо 10000, всего за 4000 руб.)
В этом видеокурсе язык DAX преподнесен как простой конструктор, состоящий из нескольких блоков, которые имеют свое определенное, конкретное предназначение. Сочетая различными способами эти блоки, Вы, при помощи конструктора формул DAX, с легкостью сможете решать любые (простые или сложные) аналитические задачи.
Итак, пользуйтесь этой возможностью, заказывайте курс «DAX — это просто» со скидкой 60% (до 23 декабря 2022 г.): узнать подробнее
до конца распродажи осталось:
Что такое язык 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 в DAX можно легко создавать в модели данных вычисляемые таблицы;
- а во-вторых, само удобство использования DAX в Power BI намного лучше, ведь Power BI — это следующий технологический уровень в 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 на русском языке: скачать
Также, напоминаю Вам, что до 23 декабря 2022 г. у Вас имеется шикарная возможность приобрести большой, пошаговый видеокурс «DAX — это просто» со скидкой 60% (вместо 10000, всего за 4000 руб.) В этом видеокурсе язык DAX преподнесен как простой конструктор, состоящий из нескольких блоков, которые имеют свое определенное, конкретное предназначение. Сочетая различными способами эти блоки, Вы, при помощи конструктора формул DAX, с легкостью сможете решать любые (простые или сложные) аналитические задачи. Итак, пользуйтесь этой возможностью, заказывайте курс «DAX — это просто» со скидкой 60% (до 23 декабря 2022 г.): узнать подробнее До конца распродажи осталось:
Пожалуйста, оцените статью:
- 5
- 4
- 3
- 2
- 1
Успехов Вам, друзья!
С уважением, Будуев Антон.
Проект «BI — это просто»
Если у Вас появились какие-то вопросы по материалу данной статьи, задавайте их в комментариях ниже. Я Вам обязательно отвечу. Да и вообще, просто оставляйте там Вашу обратную связь, я буду очень рад.
Также, делитесь данной статьей со своими знакомыми в социальных сетях, возможно, этот материал кому-то будет очень полезен.
Понравился материал статьи?
Добавьте эту статью в закладки Вашего браузера, чтобы вернуться к ней еще раз. Для этого, прямо сейчас нажмите на клавиатуре комбинацию клавиш Ctrl+D
до конца распродажи осталось:
Что еще посмотреть / почитать?
Информационные функции в DAX: ISBLANK, ISNUMBER, ISEVEN, ISTEXT, ISNONTEXT, ISLOGICAL в Power BI и Power Pivot
Функции подсчета количества в DAX: COUNT, COUNTA, COUNTX, COUNTAX, COUNTBLANK, DISTINCTCOUNT и COUNTROWS (для Power BI и Power Pivot)
Вычисление выражений на последнюю / первую даты периода в Power BI и Power Pivot: DAX функции группы CLOSINGBALANCE и OPENINGBALANCE (YEAR, QUARTER, MONTH)
Источник: biprosto.ru
Язык 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 включают функции, операторы и значения для выполнения расширенных вычислений и запросов к данным в связанных таблицах и столбцах в табличных моделях данных. Они используются в показателях, вычисляемых столбцах, вычисляемых таблицах и безопасности на уровне строк.
Рассмотрим основные атрибуты по порядку:
Меры — это формулы динамических вычислений, результаты которых меняются в зависимости от контекста.
Источник: dzen.ru
Отличие DAX и MDX
Меня часто спрашивают об основных отличиях DAX и MDX или в целом о различии табличной и многомерной модели.
С точки зрения выражения или языка запросов, одно из наиболее важных различий лежит во внутренней основе обоих подходов.
(Date.Calendar.[Calendar Year].Umsatz» , Sum(‚Internet Sales'[Sales Amount]) , «UmsatzWE» , Calculate( Sum(‚Internet Sales'[Sales Amount]) , Or( ‚Date'[Day Name Of Week]=»Sunday» , ‚Date'[Day Name Of Week]=»Saturday» ) ) ) )
Однако несмотря на то, что этот код DAX очень похож на код MDX, что мы рассмотрели чуть выше, все же представленный MDX вариант почти самый сложный из возможных решений. Так как «рабочий день» — атрибут куба, мы можем просто сослаться на продажи по выходным, но с помощью кортежа (ну, хорошо — суммы двух кортежей):
([Measures].[Internet Sales Amount], [Date].[Day Name].[Sunday]) + ([Measures].[Internet Sales Amount], [Date].[Day Name].[Saturday])
Таким образом, при написании запроса DAX, мы скорее думаем
- Как отфильтровать базовые таблицы
- Какую функцию агрегации использовать
- На какую ось мне сослаться, чтобы извлечь нужное значение из куба
Источник: habr.com