счет если power bi
Power Query: как перестать бояться функционального программирования и начать работать в расширенном редакторе запросов
Не так давно наткнулся на статью на Хабре о том, как пользоваться Power BI и как проводить с помощью него Простой план-фактный анализ. Автору огромный респект за труд — материал, действительно, полезный. Более чем достаточно для начинающего. Однако, насколько я понял, для многих работа с PQ/PBI так и заканчивается нажатием на кнопочки в интерфейсе.
В принципе, большинству пользователей этого вполне достаточно для решения несложных задач. Тем более, что это самое большинство, что называется, в быту — непрограммистывообщениразу. Да и, как показала практика, далеко не все знают, что в PQ есть режим расширенного редактирования запросов. А между тем, боязнь (нежелание/неумение) копнуть глубже лишает возможности задействовать весь заложенный функционал PQ/PBI в полной мере. Отмечу хотя бы тот факт, что в интерфейсе присутствуют далеко не все кнопочки, для которых есть функции. Думаю, не сильно ошибусь, если скажу, что функций, пожалуй, раза в два больше, чем кнопок.
Если же вы чувствуете, что для решения имеющихся задач вам недостаточно отведённого в интерфейсе функционала и/или есть время удовлетворить академический интерес, добро пожаловать под кат…
Преамбула
Листая статью, я наткнулся на фрагмент, где автор предлагает создать таблицу соответствия месяца года его порядковому номеру, ссылаясь на то, что «язык «М» не позволяет на текущий момент конвертировать названия месяцев в даты».
В принципе, задачка элементарная. Но посмотрев на то, каким запросом она была реализована, понял, что просто так пройти мимо я уже не смогу.
Что делает автор, если переводить код на русский язык
Критика
Дисклеймер. Сразу оговорюсь, претензий к автору и к его подходам составлять скрипты у меня нет (возможно, скрипты писались на скорую руку). Цель данной статьи — показать начинающим различные подходы при составлении скриптов.
Замечание. Если хотите поглубже разобраться, как работает та или иная функция на одном из этапов, удалите скобки с параметрами — и вы увидите к ней документацию с описанием того, что она принимает и что отдаёт
Итак, что меня сходу возсмутило:
Список месяцев набирается вручную
Во-первых, как уже было отмечено выше, набирая текст, можно легко ошибиться, во-вторых, все эти кавычки/запятые… Ну их — только путаница. Поэтому, вместо того, чтобы создавать список, перечисляя месяцы, я бы предложил использовать обычную текстовую строку с естественным разделителем. Т.е. запятую.
Здесь, вроде бы, всё понятно — функция Text.Split преобразует строку в список, разбивая её разделителем «, «
Начинать индекс можно с любого числа, в том числе с единицы (если прочитать документацию)
Более того, в функции Table.AddIndexColumn последним аргументом можно задать шаг, отличный от единицы. Соответственно, можно пронумеровать ячейки и так — 15,20,25,30…
С этого, собственно, всё и началось…
Во что переросла критика
Далее я приведу примеры кода с комментариями с постепенно нарастающей сложностью. Начну с того, каким образом можно нагенерить список месяцев.
Самое простое — непосредственное перечисление, используя синтаксис языка М:
Чуть посложнее — разбивая строку на части разделителем:
Используя функцию генерации списка дат:
Здесь на первом шаге функция List.Dates генерирует список дат, принимая первым аргументом стартовую дату, вторым количество элементов, а третьим — шаг инкрементирования. В данном случае, добавляя 32 дня к месяцу, мы с каждым шагом гарантированно попадём в следующий месяц. Конечно же, будь в календаре 13 и более месяцев, такой приём бы не прокатил. Но для учебных целей вполне сойдёт.
Второй шаг — преобразование списка дат в список названий месяцев. Изучив документацию, мы находим, что за преобразование даты в месяц отвечает функция Date.MonthName. Что она делает — берет первым аргументом дату и отдаёт название месяца в виде строки. А если мы третьим пунктом передадим и необязательный аргумент culture («ru-RU», «en-US», «uk-UA», «ar-LY»), то получим название месяца с учетом локали. Ок, тогда, соответственно, нам надо применить эту функцию к каждому элементу списка.
Теперь нам нужен инструмент, который занимается преобразованием списков. За преобразование списков отвечает функция List.Transform. Что она делает — она берёт первым аргументом входной список и применяет к каждому элементу функцию, которая передаётся вторым аргументом.
Ок, говорим мы, и отправляем вторым аргументом Date.MonthName. Далее следует пояснить, что происходит — функция List.Transform берет каждый элемент массива и скармливает его функции Date.MonthName, передавая ей каждую Дату в качестве аргумента неявным образом.
Хорошо, а если мы хотим получить названия месяцев с учетом локали? Скажем, «uk-UA». Как нам задать этот параметр? Как мы помним, List.Transform принимает вторым аргументом _функцию_ (и только функцию), и мы не можем явно передать этой функции ни первый аргумент, ни тем более второй. Соответственно, нам нужна функция, принимающая, как в документации, один параметр. А давайте ее создадим! Назовём её просто «fn», сделаем в ней всё, что необходимо, и отдадим её List.Transform’у. В javascript’е это называется «замыканием»:
Тогда наш код будет выглядеть так:
Вообще, задавать какое-то имя функции не обязательно. Можно вписать безымянную функцию прямо в скобках:
А ещё мы помним, что в исходном списке месяцы были записаны с маленькой буквы. Сделаем это всё в той же самой функции:
А давайте теперь попробуем сформировать список месяцев несколько другим способом — используя функцию List.Generate. В документации сказано следующее:
Т.е. все три аргумента — функции. Отлично! Тогда задача сводится всего лишь к одной строке:
Ну хорошо, пусть будет несколько, для наглядности:
Что здесь происходит. Вычисляется функция инициализации стартового значения, заданная первым аргументом. Это дата «1 января 2016». Далее вычисляется функция, заданная вторым аргументом, которой _неявно_ передаётся значение (x), вычисленное на предыдущем шаге. Эта вторая функция выполняет простую задачу — возвращает true/false, что означает, можно ли дальше продолжать вычисления. В нашем случае «1 января 2016»
Power Query: стероиды для MS Excel и Power BI
В данной статье я хочу рассказать о некоторых возможностях бесплатной и крайне полезной, но пока еще мало известной надстройки над MS Excel под названием Power Query.
Power Query позволяет забирать данные из самых разных источников (таких как csv, xls, json, текстовых файлов, папок с этими файлами, самых разных баз данных, различных api вроде Facebook opengraph, Google Analytics, Яндекс.Метрика, CallTouch и много чего еще), создавать повторяемые последовательности обработки этих данных и загружать их внутрь таблиц Excel или самого data model.
И вот под катом вы можете найти подробности всего этого великолепия возможностей.
Совместимость и технические подробности
Power Query доступен бесплатно для всех версий Windows Excel 2010, 2013 и встроен по умолчанию в Windows Excel 2016. Для пользователей MacOS X Power Query недоступен (впрочем, даже без этого маковский Excel отвратителен на ощупь и продвинутые пользователи, включая меня, чаще всего работают с нормальным Excel через Parallels или запуская его на удаленной виндовой машинке).
Также, Power Query встроен в новый продукт для бизнес аналитики — Power BI, а еще, ходят слухи, что Power Query будет появляться и в составе других продуктов от Microsoft. Т.е. Power Query ждет светлое будущее и самое время для адептов технологий Microsoft (и не только) заняться его освоением.
Как оно работает
После установки Power Query в интерфейсе Excel 2010–2013 появляется отдельная одноименная вкладка.
В новом Excel 2016 функционал Power Query доступен на вкладке Data (данные), в блоке “Get & Transform”.
Сначала, в интерфейсе Excel мы выбираем конкретный источник данных, откуда нам их нужно получить, и перед нами открывается окошко самого Power Query с предпросмотром первых строчек загруженных данных (область 1). В верхней части окошка располагается Ribbon с командами по обработке данных (область 2). И в правой части экрана (область 3) у нас расположена панель с последовательностью всех действий, которые применяются к данным.
Возможности Power Query
У Power Query очень много возможностей и я хочу остановиться на некоторых из числа моих любимых.
Как я уже писал выше, Power Query замечателен тем, что позволяет подключаться к самым разным источникам данных. Так он позволяет загружать данные из CSV, TXT, XML, json файлов. Притом процесс выбора опций загрузки тех-же CSV файлов гибче и удобнее, чем он реализован штатными средствами Excel: кодировка автоматически выбирается часто правильно и можно указать символ разделителя столбцов.
Объединение файлов лежащих в папке
Power Query умеет забирать данные из указанной папки и объединять их содержимое в единые таблицы. Это может быть полезно, например, если вам периодически приходят какие-то специализированные отчеты за отдельный промежуток времени, но данные для анализа нужны в общей таблице. Гифка
Текстовые функции
Числовые функции
К столбцам с числовыми значениями по нажатию на кнопки на Ribbon можно применять:
Функции для работы с датами, временем и продолжительностью
К столбцам со значениями даты и времени по нажатию на кнопки на Ribbon можно применять:
Unpivot — Pivot
В интерфейсе Power Query есть функция “Unpivot”, которая в один клик позволяет привести данные с одной метрикой разложенные по столбцам по периодам к форме, которая будет удобна для использования в сводных таблицах (понимаю что трудно написал — смотрите пример). Также, есть функция с обратным действие Pivot. Гифка
Функция ВПР (VLOOKUP) одна из наиболее используемых функций в MS Excel. Она позволяет подтягивать данные в одну таблицу из другой таблицы по единому ключу. И вот как раз для этой функции в Power Query есть гораздо более удобная альтернатива — операция Merge. При помощи этой операции соединение таблиц нескольких таблиц в одну по ключу (по простому или по составному ключу, когда соответствие нужно находить по нескольким столбцам) выполняется буквально в 7 кликов мыши без ввода с клавиатуры.
Операция Merge — это аналог join в sql, и ее можно настроить чтобы join был разных типов — Inner (default), Left Outer, Right Outer, Full Outer.
Upd.Мне тут подсказали, что Power Query не умеет делать Aproximate join, а впр умеет. Чистая правда, из коробки альтернатив нет. Гифка
Подключение к различным базам данных. Query Folding.
Power Query также замечателен тем, что умеет цепляться к самым разным базам данных — от MS SQL и MySQL до Postgres и HP Vertica. При этом, вам даже не нужно знать SQL или другой язык базы данных, т.к. предпросмотр данных отображается в интерфейсе Power Query и все те операции, которые выполняются в интерфейсе прозрачно транслируются в язык запросов к базе данных.
А еще в Power Query есть понятие Query Folding: если вы подключены к совместимой базе данных (на текущий момент это MS SQl), то тяжелые операции по обработке данных Power Query будет стараться выполнить на серверной стороне и забирать к себе лишь обработанные данные. Эта возможность радикально улучшает быстродействие многих обработок.
Язык программирования “М”
Надстройка Power Query — это интерпретатор нового, скриптового, специализированного для работы с данными, языка программирования М.
На каждое действие, которое мы выполняем с данными в графическом интерфейсе Power Query, в скрипт у нас пишется новая строчка кода. Отражая это, в панели с последовательностью действий (область 3), создается новый шаг с говорящим названием. Благодаря этому, используя панель с последовательностью действий, мы всегда можем посмотреть как выглядят у нас данные на каждом шаге обработки, можем добавить новые шаги, изменить настройки применяемой операции на конкретном шаге, поменять их порядок или удалить ненужные шаги. Гифка
Также, мы всегда можем посмотреть и отредактировать сам код написанного скрипта. И выглядеть будет он примерно так:
Язык M, к сожалению, не похож ни на язык формул в Excel, ни на MDX и, к счастью, не похож на Visual Basic. Однако, он очень прост в изучении и открывает огромные возможности по манипуляции данными, которые недоступны с использованием графического интерфейса.
Загрузка данных из Яндекс.Метрики, Google Analytics и прочих Api
Немного овладев языком “M” я смог написать программки в Power Query, которые умеют подключаться к API Яндекс.Метрики и Google Analytics и забирать оттуда данные с задаваемыми настройками. Программки PQYandexMetrika и PQGoogleAnalytics я выложил в опенсорс на гитхаб под лицензией GPL. Призываю пользоваться. И я буду очень рад, если эти программы будут дорабатываться энтузиастами.
Для Google Analytics подобного рода экспортеров в разных реализациях достаточно много, но вот для Яндекс.Метрики, насколько я знаю, мой экспортер был первым публично доступным, да еще и бесплатным 🙂
Power Query умеет формировать headers для post и get запросов и забирать данные из интернета. Благодаря этому, при должном уровне сноровки, Power Query можно подключить практически к любым API. В частности, я для своих исследований дергаю данные по телефонным звонкам клиентов из CallTouch API, из API сервиса по мониторингу активности за компьютером Rescuetime, занимаюсь парсингом нужных мне веб-страничек на предмет извлечения актуальной информации.
Еще раз про повторяемость и про варианты применения
Как я уже писал выше, скрипт Power Query представляет собой повторяемую последовательность манипуляций, применяемых к данным. Это значит, что однажды настроив нужную вам обработку вы сможете применить ее к новым файлам изменив всего один шаг в скрипте — указав путь к новому файлу. Благодаря этому можно избавиться от огромного количества рутины и освободить время для продуктивной работы — анализа данных.
Я занимаюсь веб-аналитикой и контекстной рекламой. И так уж получилось, что с момента, как я познакомился с Power Query в ее интерфейсах я провожу больше времени, чем в самом Excel. Мне так удобнее. Вместе с тем возросло и мое потребление другой замечательной надстройки в MS Excel — PowerPivot.
Вот bi систему, про которую я рассказывал на Yac/M 2015 (видео) я делал полнстью при помощи Power Query и загружал данные внутрь PowerPivot.
Пару слов про локализацию
На сайте Microsoft для пользователей из России по умолчанию скачивается Power Query с переведенным на русским язык интерфейсом. К счастью, локализаторы до перевода на русский языка программирования (как это сделано с языком формул в excel) не добрались, однако жизнь пользователям неоднозначными переводами сильно усложнили. И я призываю вас скачивать, устанавливать и пользоваться английской версией Power Query. Поверьте, она будет гораздо понятнее.
Простой авторский взгляд на сквозную BI аналитику (разбираем на практике Power BI, Excel, Power Pivot, DAX. и многое другое)
Функции подсчета количества в DAX: COUNT, COUNTA, COUNTX, COUNTAX, COUNTBLANK, DISTINCTCOUNT и COUNTROWS (для Power BI и Power Pivot)
Содержание статьи: (кликните, чтобы перейти к соответствующей части статьи):
Приветствую Вас, дорогие друзья, с Вами Будуев Антон. В данной статье мы рассмотрим функции DAX из так называемой группы COUNT, отвечающей за подсчет количества значений, ячеек или строк при составлении формул в Power BI и Excel (Powerpivot).
И это функции COUNT, COUNTA, COUNTX, COUNTAX, COUNTBLANK, DISTINCTCOUNT и COUNTROWS, входящие в категорию статистических функций агрегирования DAX.
Для Вашего удобства, рекомендую скачать «Справочник DAX функций для Power BI и Power Pivot» в PDF формате.
Если же в Ваших формулах имеются какие-то ошибки, проблемы, а результаты работы формул постоянно не те, что Вы ожидаете и Вам необходима помощь, то записывайтесь в бесплатный экспресс-курс «Быстрый старт в языке функций и формул DAX для Power BI и Power Pivot».
А также, подписывайтесь на наши социальные сети. Потому что именно в них, Вам будут доступны оперативно и каждый день наши актуальные фишки, секреты, наработки, примеры, кейсы, полезные советы, видео и статьи по темам сквозной BI аналитики (Power BI, DAX, Power Pivot, Excel…): Вконтакте, Инстаграм, Фейсбук, YouTube.
DAX функции COUNT, COUNTA, COUNTX и COUNTAX в Power BI и Power Pivot
Итак, все эти функции COUNT, COUNTA, COUNTX и COUNTAX — отвечают за подсчет количества ячеек в Power BI и Power Pivot, но содержание ячеек в каждом из этих вариантов различается.
Пример формулы: в Power BI имеется простейшая таблица, состоящая из 1 столбца, в строках которого содержатся значения чисел, даты и текста:
Записав следующую DAX формулу с участием COUNTAX ():
В качестве результата получим количество = 5
Почему? Потому что, COUNTAX сначала выполнит выражение из второго параметра по каждой строке таблицы, входящей в первый параметр и создаст некую виртуальную таблицу с получившимися результатами:
В получившихся результатах везде будут текстовые значения, потому что DAX при работе оператора сложения текста & — все другие типы данных автоматически преобразует в текстовые.
А так как COUNTAX подсчитывает ячейки с любыми типами значений, в том числе и с текстовым типом, то в итоге возвращает количество, равное 5.
DAX функция COUNTBLANK в Power BI и Power Pivot
COUNTBLANK () — подсчитывает количество пустых ячеек в столбце.
Синтаксис: COUNTBLANK ([Столбец])
Пример: имеется таблица с одним столбцом, содержащая не только разные типы данных (числа, текст, даты), но и пустые ячейки:
Если мы составим следующую формулу с участием COUNTBLANK:
То COUNTBLANK вернет ответ: количество пустых ячеек = 2
DAX функция DISTINCTCOUNT или DISTINCT COUNT в Power BI и Power Pivot
Данную функцию почему-то очень часто называют неправильно, в два слова DISTINCT COUNT, хотя правильно писать в одно единое слово DISTINCTCOUNT.
Итак, DISTINCTCOUNT () — подсчитывает количество уникальных значений ячеек в столбце
Синтаксис: DISTINCTCOUNT ([Столбец])
Пример: имеется таблица, где в одном из столбцов перечисляются менеджеры:
Если мы подсчитаем количество уникальных фамилий менеджеров при помощи следующей формулы:
То ответ будет таким: количество уникальных фамилий менеджеров = 3
DAX функция COUNTROWS в Power BI и Power Pivot
COUNTROWS () — часто используемая на практике функция, которая подсчитывает количество строк в таблице.
Синтаксис: COUNTROWS (‘Таблица’)
Пример: если мы подсчитаем количество строк в таблице «Менеджеры» из примера выше, то COUNTROWS выдаст ответ 4 строки.
COUNT и другие функции (CALCULATE, FILTER, IF)
Функции группы COUNT (подсчет количества) сами по себе используются довольно редко, обычно они нужны для каких-либо промежуточных вычислений в партнерстве с другими функциями. Например, функции группы COUNT используются совместно с CALCULATE, FILTER, с условиями «если» IF и другими функциями DAX.
Ну, как пример, можно подсчитать количество строк в таблице после применения фильтра функции FILTER:
Или после изменения фильтра при использовании CALCULATE:
На этом, по функциям группы COUNT в Power BI и Power Pivot в данной статье, все.
Подробное ВИДЕО «DAX функции COUNT (A, X, AX), COUNTBLANK, DISTINCTCOUNT, COUNTROWS для Power BI (Pivot)»
Ссылки из видео:
1) [Регистрируйтесь в бесплатном экспресс курсе] Быстрый старт в языке функций и формул DAX для Power BI и Power Pivot: зарегистрироваться
2) [Скачивайте PDF] Справочник DAX функций для Power BI и Power Pivot на русском языке: скачать
Пожалуйста, оцените статью:
Успехов Вам, друзья!
С уважением, Будуев Антон.
Проект «BI — это просто»
Если у Вас появились какие-то вопросы по материалу данной статьи, задавайте их в комментариях ниже. Я Вам обязательно отвечу. Да и вообще, просто оставляйте там Вашу обратную связь, я буду очень рад.
Также, делитесь данной статьей со своими знакомыми в социальных сетях, возможно, этот материал кому-то будет очень полезен.
Понравился материал статьи? Добавьте эту статью в закладки Вашего браузера, чтобы вернуться к ней еще раз. Для этого, прямо сейчас нажмите на клавиатуре комбинацию клавиш Ctrl+D
Учебник. Создание вычисляемых столбцов в Power BI Desktop
Иногда в данных, которые вы анализируете, отсутствует определенное поле, необходимое для получения нужных результатов. Тогда появляются вычисляемые столбцы. Вычисляемые столбцы определяют значения с помощью формул выражения анализа данных (DAX). Это может быть совместное размещение текстовых значений из нескольких разных столбцов в любом месте модели или вычисление числового значения из других значений. Например, предположим, что в данных имеются поля Город и Штат, но требуется одно поле Расположение, в котором содержатся оба значения, например «Майами, Флорида». Это именно то, для чего предназначены вычисляемые столбцы.
Вычисляемые столбцы похожи на меры в том, что они строятся на формуле DAX, но их использование отличается. Меры часто используются в области Значения визуализации для вычисления результатов на основе других полей. Вычисляемые столбцы используются в качестве новых полей в строках либо в области оси, условных обозначений или группы визуализаций.
Это руководство поможет понять вычисляемые столбцы, создать несколько собственных и использовать их в визуализациях отчетов в Power BI Desktop.
Предварительные требования
Это руководство предназначено для пользователей Power BI, которые знают, как использовать Power BI Desktop для создания более сложных моделей. Вы должны уметь импортировать данные с помощью функции «Получить данные» и редактора Power Query, работать с несколькими связанными таблицами и добавлять поля на холст отчета. Если вы еще не знакомы с Power BI Desktop, прочтите статью Начало работы с Power BI Desktop.
В этом руководстве используется файл Продажи Contoso для Power BI Desktop. Этот же пример используется в руководстве по созданию собственных мер в Power BI Desktop. Эти данные по продаже товаров вымышленной компании Contoso, Inc. были импортированы из базы данных, поэтому вы не сможете подключаться к источнику данных или просматривать его в редакторе Power Query. Загрузите, а затем извлеките файл на своем компьютере и откройте его в Power BI Desktop.
Создание вычисляемого столбца со значениями из связанных таблиц
Предположим, что в отчете о продажах необходимо отобразить категории и подкатегории продуктов одним значением, например «Сотовые телефоны — принадлежности», «Сотовые телефоны — смартфоны и КПК» и т. д. В списке Поля нет поля, которое содержит необходимые данные, но есть поля ProductCategory и ProductSubcategory (каждое в своей таблице). Вы можете создать вычисляемый столбец, который объединяет значения из этих двух столбцов. Формулы DAX могут использовать все возможности существующей модели, в том числе уже имеющиеся связи между различными таблицами.
Чтобы создать новый столбец в таблице ProductSubcategory, щелкните правой кнопкой мыши или выберите многоточие . рядом с полем ProductSubcategory в панели Поля и выберите в меню Новый столбец.
Когда вы выбираете Новый столбец, в верхней части холста отчета появится Строка формул, в которой можно присвоить столбцу имя и ввести формулу DAX.
По умолчанию новый вычисляемый столбец получает имя Column. Если его не переименовать, следующие созданные столбцы получат имя Column 2, Column 3 и т. д. Чтобы проще идентифицировать столбец, переименуйте его. Так как имя Column уже выделено в строке формул, введите ProductFullCategory, а затем — знак равенства (=).
Предположим, необходимо, чтобы значения в новом столбце начинались с имени ProductCategory. Так как этот столбец находится в другой, но связанной таблице, чтобы получить его, можно использовать функцию RELATED.
После знака равенства введите R. Появится раскрывающийся список предложений со всеми функциями DAX, начинающимися с буквы R. При выборе каждой функции отображается ее описание. По мере ввода список предложений становится короче. Выберите функцию RELATED, а затем нажмите клавишу ВВОД.
Появится открывающая скобка, а также список предложений всех доступных столбцов, которые можно передать в функцию RELATED, с описаниями и сведениями об ожидаемых параметрах.
Предположим, нужен столбец ProductCategory из таблицы ProductCategory. Выберите ProductCategory[ProductCategory], нажмите клавишу ВВОД, а затем введите закрывающую скобку.
Синтаксические ошибки чаще всего вызваны отсутствующей или неправильно расположенной закрывающей скобкой. Иногда Power BI Desktop добавляет скобки автоматически.
Необходимо добавить тире и пробелы, чтобы разделять значения ProductCategories и ProductSubcategories, поэтому после закрывающей круглой скобки первого выражения введите пробел, амперсанд (&), кавычку («), пробел, тире (—), еще один пробел, еще одну кавычку и еще один амперсанд. Теперь ваша формула должна выглядеть следующим образом:
Если требуется больше места, щелкните шеврон внизу справа от строки формулы, чтобы развернуть редактор формул. В редакторе нажмите клавиши Alt + ВВОД, чтобы переместиться на строку вниз, или клавишу табуляции, чтобы пролистывать.
Введите открывающую скобку ([), а затем выберите столбец [ProductSubcategory], чтобы завершить формулу.
Чтобы вызвать таблицу ProductSubcategory, во втором выражении не нужно использовать другую функцию RELATED, так как вы создаете вычисляемый столбец в этой таблице. Вы можете ввести имя столбца [ProductSubcategory] как с именем таблицы (полное имя), так и без него (неполное имя).
Завершите ввод формулы, нажав клавишу ВВОД или выбрав флажок в строке формулы. Формула проверяется, а столбец ProductFullCategory отображается в таблице ProductSubcategory в панели Поля.
В Power BI Desktop вычисляемые столбцы в панели Поля имеют специальный значок. Это показывает, что они содержат формулу. В службе Power BI (сайт Power BI) изменить формулу нельзя, поэтому вычисляемые столбцы значком не помечаются.
Использование нового столбца в отчете
Теперь вы можете использовать новый столбец ProductFullCategory, чтобы посмотреть на объемы продаж (SalesAmount) по полным категориям продуктов (ProductFullCategory).
Выберите или перетащите столбец ProductFullCategory из таблицы ProductSubcategory на холст отчета, чтобы создать таблицу с именами ProductFullCategory.
Выберите или перетащите поле SalesAmount из таблицы Продажи в таблицу, чтобы отобразить объемы продаж (SalesAmount) по полным категориям продуктов (ProductFullCategory).
Создание вычисляемых столбцов, использующих функцию IF
Модель «Продажи Contoso» содержит данные о продажах с действующих и недействующих складов. Необходимо отделить в отчете продажи с действующих от продаж с недействующих складов. Фактически нужно создать поле с именем Active StoreName. В новом вычисляемом столбце Active StoreName каждый активный склад будет отображаться вместе с полным именем, а в качестве имени недействующего склада будет отображаться значение Недействующий.
К счастью, в таблице Склады есть столбец с именем Состояние, в котором для действующих складов содержится значение «Вкл.», а для недействующих — «Выкл.», с помощью которых можно создать значения для нового столбца Active StoreName. Формула DAX с помощью логической функции IF будет проверять Состояние каждого склада и возвращать конкретное значение в зависимости от результата. Если Состояние склада имеет значение «Вкл.», формула вернет его имя. Если имеет значение «Выкл.», формула назначит Active StoreName значение «Недействующий».
Создайте вычисляемый столбец в таблице Stores с именем Active StoreName в строке формул.
После знака = начните вводить IF. В списке предложений отобразятся варианты, которые можно добавить. Выберите ЕСЛИ.
Первый аргумент для функции IF является логическим тестом. Необходимо проверить, имеет ли склад Состояние «Вкл.». Введите открывающую квадратную скобку [, которая позволяет выбрать столбцы из таблицы Склады, и выберите [Status].
Сразу после [Status] введите =»On», а затем поставьте запятую (,), чтобы завершить аргумент. Подсказка указывает, что необходимо добавить значение для результата true.
Если склад имеет состояние On, нужно показать его название. Введите открывающую квадратную скобку ([) и выберите столбец [StoreName], а затем введите еще одну запятую. Теперь подсказка указывает, что необходимо добавить значение для результата false.
Если требуется, чтобы значение было «Недействующий», введите Недействующий, а затем завершите формулу, нажав клавишу ВВОД или выбрав флажок в строке формул. Формула проверяется и добавляется в таблицу Склады в панели Поля.
Подобно любому другому полю мы используем наш новый столбец Active StoreName в визуализации. Чтобы отобразить SalesAmounts по значению столбца Active StoreName, выберите поле Active StoreName или перетащите его на холст, а затем выберите поле SalesAmount или перетащите его в таблицу. В этой таблице действующие склады отображаются отдельно по имени, а недействующие группируются в конце со значением Недействующие.
Что вы узнали
Вычисляемые столбцы могут обогатить ваши данные и предоставить простые аналитические данные. Вы научились создавать вычисляемые столбцы в панели Поля и в панели формул, использовать списки предложений и всплывающие подсказки для помощи в построении формул, вызывать такие функции DAX, как RELATED и IF, с соответствующими аргументами и использовать вычисляемые столбцы при визуализации отчетов.
Дальнейшие шаги
Если вы хотите более подробно изучить формулы DAX и создавать вычисляемые столбцы с помощью более сложных формул, см. статью Основные сведения о DAX в Power BI Desktop. В этой статье описываются основные понятия языка DAX, такие как синтаксис, функции, и дается более глубокое объяснение контекста.
Рекомендуется добавить Справочник по языку выражений анализа данных (DAX) в Избранное. В нем можно найти подробные сведения о синтаксисе DAX, операторах и более чем о 200 функциях DAX.