fbpx

Каталог статей

Каталог статей для размещения статей информационного характера

Как выучить

Какие языки следует изучать разработчику Power BI?

Какие языки следует изучать разработчику Power BI?

Работа, ориентированная на данные, по определению находится на пересечении бизнеса и технологий, и это влияет на то, кто выполняет эту работу, на ее инструменты и рабочие процессы. Традиционно аналитики данных больше ориентируются на бизнес и предпочитают графические пользовательские интерфейсы, в то время как администраторы баз данных и инженеры по работе с данными лучше разбираются в написании кода и использовании командных строк. Коммерческие поставщики, такие как Microsoft, как правило, продвигают подход, ориентированный на пользовательский интерфейс, в то время как решения с открытым исходным кодом ориентированы на CLI/код/конфигурацию. Но границы размыты и редко бывают четкими.

Мы попытаемся ответить на этот вопрос с уклоном в сторону платформы Microsoft, стараясь при этом быть полезными и для людей, работающих в других экосистемах. Эта статья написана в первую очередь с точки зрения человека, планирующего приобрести новые навыки, но она также должна помочь руководителям команд наметить и спланировать работу по повышению квалификации.

1. Согласование приобретения навыков с карьерными целями и потребностями организации

Прежде чем направить ресурсы на изучение нового навыка, вы должны убедиться, что это будет стоить ваших усилий, а также соответствовать потребностям организаций, в которых вы работаете. Давайте посмотрим, что в этом есть для вас, а что – для них. Но в конце концов, помните, что именно вы будете жить со своими навыками, приобретение которых означает, что вы обмениваете на них свое ограниченное время. Это ваша альтернативная стоимость, а не работодателя. Если ваш работодатель хочет, чтобы вы специализировались на машинописи, потому что считает, что это в его интересах, то в ваших ли это интересах?

1.1. Личная перспектива: Что в человеке? Согласование развития навыков с жизненными целями

Приобретение навыков – это инвестиция, которая должна превратиться в долгосрочный актив: сколько времени и денег вы вкладываете, чтобы получить отдачу с течением времени? И сколько вам нужно будет продолжать тратить, чтобы эти инвестиции оправдали себя?

Вот схема, позволяющая оценить, стоит ли вкладывать деньги в приобретение и поддержание того или иного навыка, исходя из его характеристик:

“Специализация – это для насекомых!”

Кто-то умный

  • Потенциал дохода: некоторые навыки, очевидно, оплачиваются лучше, чем другие, и, что более важно, некоторые комбинации навыков могут быть очень ценными, и не все образовательные начинания стоят инвестиций. Но текущая возможность заработка не может быть единственным критерием.
  • Универсальность: хотите ли вы быть гиперспециалистом (универсалом), гипергенералистом (универсалом) или быть где-то посередине? Для меня, как независимого консультанта, подходит дерево навыков в форме ключа, где я углубляюсь в несколько областей, а во многих других областях с удовольствием работаю как новичок/промежуточный специалист. См. также следующий раздел о том, что требуется организациям.
  • Устойчивость: насколько вы подвержены спадам, изменениям тенденций и техническим сбоям? Если вы определяете себя как специалиста по продукту X (скажем, “парень из Excel” или “девушка из Power BI”), вы можете стать “горячим товаром” на какое-то время, но как долго это продлится? Ваш набор навыков может стать настолько общепринятым, что его будет недостаточно для дифференциации, или он вообще может оказаться невостребованным (“Я отлично печатаю на машинке!”). Вообще говоря, я не люблю ограничивать себя как личность одним продуктом или языком, придерживаясь мнения, что “специализация – это для насекомых”. Да, вы можете быть специалистом по COBOL и зарабатывать этим на жизнь, но вы будете ограничены ограниченным, сокращающимся числом организаций в конкретных отраслях, где это все еще актуально.
  • Период полураспада: некоторые продукты стареют очень быстро, и часто трудно заранее оценить, какие из них будут стареть. Помните визуальные конструкторы веб-страниц 90-х годов, такие как FrontPage или Dreamweaver? Очень скоро никто уже не создавал веб-сайты таким образом. С другой стороны, умение пользоваться CMS, HTML или CSS остается актуальным – пусть и довольно базовым – набором навыков и по сей день. Обычно концепции и фреймворки служат дольше, чем владение конкретными функциями продукта.
  • Независимость: можете ли вы перейти в другую компанию? В другую отрасль? В другую страну? Насколько адаптируемым и переносимым является ваш набор навыков?
  • Продуктивность : способны ли вы использовать выбранные вами инструменты продуктивно, так, чтобы это приносило внутреннее удовлетворение – нет ничего лучше, чем находиться в состоянии идеального потока – и внешнее признание, т.е. чтобы руководство/клиенты оценили ваш результат?
  • Забавно: некоторые люди могут заставить себя работать, которую они ненавидят, только чтобы заработать на жизнь, и иногда, я думаю, это то, что вы должны делать, чтобы прокормиться. Но я не думаю, что это устойчиво и что это путь к счастливой и полноценной жизни, поэтому я всегда рекомендую приобретать навыки, которые вам нравится применять и развивать. Вспомните знаменитую концепцию Ikigai.
  • Техническое и функциональное соответствие: дополняют ли ваши навыки друг друга и соответствуют ли они вашей нынешней (и планируемой будущей) работе, или вы пытаетесь освоить размножение бонсай на борту авианосца?
  • Не загоняй меня в рамки, брат

Страны “нового мира”, такие как США, имеют более гибкое представление о том, как должна выглядеть карьера. Я вырос в Европе и был поражен, когда узнал, что американцы не зацикливаются на одном направлении до конца жизни, основываясь на том, что они изучали, что их солдаты становятся бойцами ММА, а затем управляющими недвижимостью.

Это, наряду с географической мобильностью, было настолько привлекательным, что я перестроил свою жизнь так, чтобы быть настолько независимым от местных условий любой компании или страны, насколько это реально возможно. Мне было очень полезно работать с торговцами в Австралии, виноделами в Аргентине, шахтерами в Мексике, работниками здравоохранения в Марокко, производителями программного обеспечения в Сингапуре, коллекторами в США, управляющими объектами в Канаде и многими другими комбинациями индустрии и географии, где я мог применять, комбинировать и оттачивать свои навыки. Так что если вы, как и я, цените разнообразие, учитесь соответственно.

В наши дни, я думаю, способность к самореализации – это вопрос выживания, поскольку традиционная модель работы в одной или двух компаниях на протяжении всей жизни почти исчезла, за исключением, может быть, японских корпораций или семейных предприятий Северной Италии.

1.2. Организационная перспектива: Что входит в работу? Сопоставление навыков и потребностей.

Крупные организации предпочитают специализацию, по крайней мере, на бумаге, в то время как мелкие организации не могут себе этого позволить и нуждаются в людях, способных носить несколько шляп. В нашем мире данных вы можете быть порой, независимо от названия вашей должности, “бизнес-аналитиком” или “разработчиком Power BI”:

На авианосце ваша одежда по цвету отражает вашу работу. Но у вас по-прежнему несколько задач и обязанностей. Источник: ВМС США

Разработчик BI

  • Архитектор
    • Бизнес-аналитик
    • Инженер по данным
    • Визуальный дизайнер отчетов
    • BI-отчеты и рабочие пространства
    • Базы данных
    • Интранет
    • CRM
    • Функциональный консультант
    • Фронтенд приложений, управляемых данными
    • Потоки RPA
    • Автор статей в блогах
    • Редактор визуальных/видео инструкций
    • Коуч
    • Дипломат
    • Переводчик
    • Терапевт
    • Финансовый директор
    • Даже в мегакорпорациях с двухстраничными должностными инструкциями вам, скорее всего, придется выйти за рамки своих формальных узких рамок, чтобы выполнить работу. Нравится ли мне особенно SharePoint? Не очень. Тем не менее, я постоянно работаю с ним, потому что это ключевой инструмент для загрузки некоторых данных, которые никто не потрудится поместить в официальную базу данных? Еще как! Если вы когда-нибудь занимались малым бизнесом, то быстро поймете, что для того, чтобы не останавливаться на достигнутом, нужно просто во всем разбираться.

    Иди и скажи Вердуму, что тебе не нравится его тролльское лицо, дай мне знать, что из этого выйдет.

    Так что, хотя можно быть настолько распыленным, что ты довольно плох во всем, я думаю, что гиперспециализация встречается довольно редко и имеет смысл только для элитных специалистов в нишевых профессиях. На ум приходят лучшие спортсмены и другие исполнители, но даже они часто совмещают спорт с тренерской деятельностью, бизнесом или работой в СМИ. В том числе потому, что их пик производительности продлится всего несколько лет, а что потом?

    Последствия для больших, более структурированных команд заключаются в том, что им все равно понадобятся люди со здоровой гибкостью и широтой взглядов, чтобы не стать на мгновение сверхэффективными, но очень хрупкими. Люди заболеют, заскучают или переедут в другое место, и ваша элегантная конструкция рухнет. Подобно тому, как цепочки поставок “точно в срок” оказались слишком легко разрушаемыми, команды, состоящие исключительно из гиперспецифичных людей, могут быть разрушены.

    Как и в любом навыке, в языках существует множество уровней владения, будь то человеческие языки или компьютерные. Можете ли вы обойтись пониманием только 80% того, что вы читаете, или вам нужно писать? Если последнее, то нужно ли вам писать отдельные слова, простые предложения, сложные абзацы или целые книги?

    Сначала вы должны определить цель (“Я хочу стать экспертом по Python, который может писать сложные программы с нуля в текстовом редакторе”), а затем путь к ней, особенно если вы нацелены на продвинутое мастерство, на достижение которого уйдут годы или даже десятилетия.

    Здесь нет правильных ответов, все зависит от вашей карьеры и жизненных целей. В моем случае основное внимание я уделяю функциональной и деловой стороне. Я стремлюсь выражать свои мысли четко, целенаправленно и структурировано, чтобы направлять своих клиентов к наилучшим результатам. Я хочу быть технически грамотным в той мере, в какой эти технические навыки способствуют достижению общей цели, но я не считаю, что мне обязательно нужно достигать очень высокого технического уровня. Я выступаю в первую очередь как аналитик и консультант. Но если вы работаете инженером по данным в крупной организации, более глубокая техническая специализация, вероятно, будет лучшим выбором. Проекты масштаба петабайта действительно требуют элитных технических навыков, которые для остальных из нас даже не актуальны.

    3. Языки для (Microsoft) BI-профессионала

    Да, это самое длинное введение, которое вы когда-либо видели, но что я могу сказать, мне нравится оформлять вещи должным образом. Теперь давайте погрузимся в длинный список компьютерных языков, имеющих отношение к BI-пространству.

    3.1. M и Power Query для ETL (извлечение, преобразование, загрузка) – лучшее место для начала, без сомнения… Если вы приверженец Microsoft

    M – это язык, используемый ETL-движком Power Query, который стал универсальным для всех инструментов обработки данных Microsoft, от Power BI до Excel и Power Automate до Power Apps и Azure Data Factory (потоки данных ADF mapping имеют свой собственный набор функций выражения). Если вы работаете в этой экосистеме, вам необходимо знать Power Query.

    Поскольку Power Query имеет мощный графический интерфейс, который действует как своего рода запись макросов, вы можете спросить, зачем вообще нужно знать базовый язык. Как практик, я считаю, что ответ однозначно положительный, по следующим причинам:

    Чтобы сделать ваш код более универсальным и с меньшей вероятностью сломаться в случае структурных изменений, таких как разные названия столбцов в исходном тексте.

    Чтобы сделать ваш код более гибким с функциями и параметрами, что необходимо для работы с API и другими сложными источниками.

    Чтобы реализовать сценарии, которые сложно построить только с помощью пользовательского интерфейса, например, суб-индексы.

    • Добавление комментариев, чтобы сделать ваш код более перспективным.
    • Тем не менее, очень немногие пишут M с нуля. Вполне можно начать с кода, сгенерированного пользовательским интерфейсом, с существующих примеров кода или фрагментов из прошлых проектов. Вы будете более продуктивны, если только не будете делать это вслепую, не понимая, что должен делать код. Лучшие инструменты no-code читают и пишут код, я с
    • Кстати, я думаю, что М звучит как босс Джеймса Бонда, а Q – парень с гаджетами – было бы гораздо лучшим именем, в том числе потому, что это первая буква в слове “запрос”. (Microsoft, я готов предоставить консультацию по брендингу продукции, поскольку просто невозможно сделать работу хуже, чем вы делаете ее уже почти вечность).
    • Если вы работаете в крупной организации, где выделенные инженеры по данным обрабатывают для вас весь конвейер данных и предоставляют вам чистое хранилище данных, вам, возможно, не понадобится использовать Power Query для производственных целей, но он все равно может быть удобен для создания прототипов при тестировании новых источников данных.

    Эквивалентом использования M в не-Microsoft магазинах обычно является Python, SQL или использование GUI-инструмента, такого как Alteryx или Talend.

    3.2. DAX (Data Analysis eXpressions) и моделирование данных – необходимы, но будьте осторожны с кроличьими норами

    Когда вы начинаете изучать DAX, вас быстро отсылают к 500-страничным книгам и заумным постам в блогах, в которых вас просят понять сложные внутренние механизмы движка Vertipaq. Признаем, что после первых быстрых побед вам предстоит пройти сложную кривую обучения. Как минимум, вам нужно будет освоить контекст строк и контекст/переход фильтров. Вам также нужно перестать пытаться строить все точно так же, как в Excel с SUMIFS и VLOOKUPs, поскольку это приведет к разочаровывающим тупикам (Как получить доступ к предыдущей строке?).

    Вы можете придерживаться довольно простого DAX для решения общих вычислений, если вы уделили особое внимание изучению схем звезд и реализации чистой модели. Но если вы не знаете, что такое таблицы измерений и таблица фактов, или как работают отношения, тогда все пойдет кувырком. Поэтому сначала изучите основы моделирования Kimball, а затем доведите DAX хотя бы до среднего уровня. Но благодаря следующим сокращениям вам, возможно, не придется становиться “черным поясом” DAX:

    – эта функция, появившаяся в 2017 году, генерирует для вас DAX на основе ряда общих шаблонов. Вы можете использовать их как есть или, по крайней мере, помочь себе в составлении и изучении DAX, поскольку вы видите сгенерированный код. Есть также галерея быстрых мер, предложенных сообществом, где Грег Деклер добивается их более широкого внедрения. . Эта новая функциональность вызвала большой ажиотаж и была запущена в предварительном просмотре в октябре 2022 года в качестве подмножества Quick Measures. как Inforiver. Зачем писать DAX, если визуально можно генерировать нужные агрегаты, просто перетаскивая столбцы и строки, как это делается в таблице pivot? Отличный пример – шаблон “Топ N + другие”.

    DAX был создан в 2009 году, является основой Power BI, и я думаю, можно с уверенностью предположить, что он будет оставаться основой стека Microsoft BI еще как минимум десять лет. Возможно, мы будем писать меньше DAX вручную, но, судя по всему, он останется, поэтому вам, как минимум, нужно уметь его читать и редактировать.

    3.3. M или DAX, или M и DAX? Когда использовать что?

    Распространенная и обоснованная критика Power BI заключается в том, что вам приходится изучать два, а то и три языка (подробнее об этом чуть позже). Я не стану отступать: по моему мнению, для того чтобы стать компетентным разработчиком Power BI, вам действительно необходимы как минимум базовый M и промежуточный DAX. Одно ведет к другому, поскольку вы захотите сформировать из своих таблиц достойную модель данных, которая, в свою очередь, поможет вам сохранить рассудок при написании DAX.

      Не существует однозначного ответа на вопрос, когда использовать M или DAX для какой-либо конкретной цели, это скорее ряд правил:

    Если вы манипулируете определенными строками для очистки и формирования данных, это работа с M.

    Если вы вычисляете агрегаты по всей таблице/модели, то это обычно работа DAX.

    Некоторые вещи лучше работают в M, другие – в DAX. Например, обычно лучше создавать условные столбцы в первом случае, а не вычислять столбцы во втором, но это не всегда возможно и нежелательно. “Лучшая практика” отказа от использования вычисляемых столбцов DAX, основанная на соображениях производительности, не имеет отношения к небольшим наборам данных, которые так распространены в реальном мире. Между тем слияние таблиц в PQ в какой-то момент столкнется с проблемами производительности обновления. использует выражения фильтрации таблиц DAX.

    Во многих случаях можно использовать любой из этих языков, поэтому выбирайте тот, который вы лучше знаете и с которым чувствуете себя наиболее комфортно. Вы увидите измерения дат, созданные либо в M, либо в DAX. В моем случае я бы никогда не использовал DAX для этой цели, у меня есть обширное решение на языке M, которое я шлифовал в течение многих лет для обработки таких вещей, как финансовые годы, рабочие дни (включая праздники), а также различные языки и местоположения. Но если вам удобно делать это в DAX, смело беритесь за дело.

    • 3.4. MDX (Multidimensional eXpressions) – спасибо, но не надо, за исключением отдельных случаев
    • Запрос MDX, примерно 1998 год нашей эры
    • Считайте MDX предком DAX. Он был создан в 1997 году для запросов к кубам данных, но, несмотря на свою мощь, он еще сложнее, чем DAX, и привязан к многомерным моделям. За последнее десятилетие Microsoft инвестировала значительные средства в табличные модели, поэтому, хотя MDX все еще имеет свое место в организациях, где используются многомерные модели SSAS, в наши дни нет смысла изучать его иначе. Компания Microsoft прямо заявила, что AAS и Power BI будут придерживаться табличных моделей.
    • Однако вы все равно можете столкнуться с MDX в табличном контексте Power BI, например, для таблиц Excel pivot, подключенных к набору данных Power BI, или при использовании конечных точек XMLA, хотя это происходит за кулисами, и вам не придется писать свой собственный MDX в этих случаях. Отнесите это к крайним случаям, которые могут пригодиться для настройки производительности, если и когда это необходимо.

    Однако MDX не умер: Kyligence использует его в своей платформе, которая сочетает современные облачные модели с проверенными OLAP-кубами. Этот подход остается актуальным в больших масштабах, где сохранение навыков работы с MDX может быть оправданным. Не помешает и то, что Kyligence хорошо работает с Power BI и Excel.

    3.5. SQL – неубиваемый лингва-франка

    Технически вам не нужно знать синтаксис SQL, чтобы запрашивать реляционные базы данных с помощью инструментов, использующих Power Query (PQ) – Power BI, Excel, Dataverse и т.д., – поскольку PQ генерирует базовый код SQL за вас. Я обсуждал использование PQ в качестве быстрого и грязного ORM в подкасте Raw Data.

    Динамический SQL-запрос в Power BI Desktop Источник: Microsoft

    Однако хотя бы элементарные навыки SQL пригодятся вам всякий раз, когда вы будете открывать новый источник OLTP. Умение делать точечные запросы к источнику для аудита и устранения неполадок является необходимым навыком.

    Знание SQL также поможет вам выполнить расширенную настройку производительности путем изучения кода xmSQL, генерируемого механизмом формул Power BI и отправляемого в механизм хранения данных. Да, DAX использует свой собственный SQL за кулисами!

    С помощью

    Давайте теперь отвлечемся от тактических проблем Power BI. Вакансии в BI, как и все технические вакансии, часто закрыты отделами кадров, которые не имеют ни малейшего представления о технологиях и перечисляют список требований, которые могут иметь или не иметь значения, если вообще имеют смысл (требуется: 10 – 15 лет опыта работы… с инструментом, который был создан 4 года назад!) SQL будет всплывать постоянно, независимо от того, нужен он вам на самом деле или нет для данной должности.

    Помимо Power BI, SQL переживает возрождение в “современном стеке данных”, на который в настоящее время выделяется много денег венчурных фондов и шумихи вокруг стартапов. От dbt до Dataform и Seekwell, вы увидите SQL во всех стеках данных, так что это один из ключевых языков, который поможет вам найти работу в организациях с очень разнообразными архитектурами. Это язык, который вы будете использовать для запросов к облачным хранилищам данных и озерам, от BigQuery до Databricks и Snowflake. Забавно видеть, как люди в возрасте от двадцати лет называют SQL лучшей вещью после нарезки хлеба, учитывая, что язык был создан более 50 лет назад, но это свидетельствует о непреходящей силе некоторых технических навыков, даже несмотря на шквал новых технологий, с которыми мы постоянно сталкиваемся.

    Вы не понимаете, о чем речь, вы что, шутите?

    SQL – это что-то вроде пиджин-латыни в Европе на протяжении большей части последних двух тысячелетий: если вы хотите путешествовать и хотите получить лучшие возможности для работы, вам это очень нужно.

    Итак, нужно ли вам изучать отдельные разновидности SQL помимо общего ядра ANSI SQL, например, T-SQL в мире MSFT? Скорее всего, нет, если только вы не инженер по данным, и ваша компания глубоко привержена определенной платформе, где в ваши обязанности входит оптимизация сложных запросов.

    Наличие какого-то настольного клиента для работы с базами данных часто бывает полезным, по крайней мере, для целей обнаружения. В Microsoft это традиционно SSMS, дополненный в наши дни более легковесной Azure Data Studio. Вы найдете множество бесплатных клиентов для других баз данных – MySQL, PostgreSQL и т.д., а DBeaver и Datagrip – это универсальные инструменты, которые могут подключаться ко многим движкам. А если вы занимаетесь моделированием в хранилище исходных данных, обратите внимание на SqlDBM.

    Если вы работаете в компании, ориентированной на Microsoft, возможно, вы также слышали о языке запросов Kusto Query Language (KQL). Это не SQL, поскольку, помимо прочего, он может только читать, но не обновлять или создавать что-либо, хотя по духу он похож на SQL. Вы найдете его в Azure Data Explorer, чтобы, ну, исследовать различные источники данных.

    3.6. R и Python – очень полезны во многих отношениях, но не делайте этого только из-за шумихи.

    Посмотрите на этот генератор NFT, который я написал в прошлые выходные в Python Source: Hipstory

    В связи с недавним увлечением, или лучше сказать причудой, о том, что каждый превращается в data scientist после двухдневного буткемпа, R и Python были во всех новостях, поэтому трудно не почувствовать FOMO, если вы не знаете ни одного из этих языков. Позвольте мне сказать вам, как человеку, прочно обосновавшемуся в качестве консультанта по Power BI, что вам совершенно не нужны эти языки, чтобы зарабатывать на жизнь, поскольку они не являются центральными в стеке Microsoft, как и не являются необходимыми для многих других BI-инструментов, если на то пошло.

    Однако это не означает, что они совсем бесполезны, благодаря их широкому распространению, которое выражается в доступности бесконечных обучающих ресурсов, примеров кода и библиотек. Это хорошие языки с непреходящей ценностью. Так с чего же начать?

    Python – это язык общего назначения, который можно использовать от ETL до визуализации, от веб-скреппинга до создания веб-сайтов. Если Power Query для вас не подходит, и вы хотите знать язык, который можно использовать по-разному, вы не ошибетесь с Python. Power Query также не самый быстрый механизм ETL, поэтому некоторые люди прибегают к использованию Python, который можно вызывать из PQ (с некоторыми ограничениями). Однако если вы можете генерировать хранимые процедуры или представления SQL (людям все больше нравится делать это с помощью dbt), между Python и SQL существует много функционального дублирования, и вам может не понадобиться оба языка (строго говоря, с точки зрения ETL).

    R – это скорее специализированный язык с акцентом на статистику. Если перед вами стоят задачи предиктивной аналитики, например, прогнозирования, то это хороший вариант.

    В любом случае, одно из первых, чему вам придется научиться, это работе с таблицами данных, поэтому будьте готовы погрузиться в pandas, фреймы данных или Dplyr.

    3.7. Scala, Java – игрушки для больших мальчиков

    • Scala менее известна широкой публике, но довольно популярна в области науки о данных. Ее предпочитают использовать в крупномасштабных проектах с использованием таких платформ, как Apache Spark, что во вселенной Microsoft может привести вас к Databricks. Это правильный выбор для разработки данных в больших организациях, так что стоит ли вам изучать его, зависит от контекста. На данном этапе вы определенно отдаляетесь от основных технологий Microsoft.
    • Между тем Java – это язык общего назначения, который может работать в разных операционных системах и находит достаточно широкое применение в приложениях для работы с данными. Это не самая горячая и новейшая технология, но она выполняет свою работу, и вы найдете ее во многих устоявшихся стеках данных.

    3.8. Excel – VBA, офисные сценарии, формулы, новый современный Excel

    На дворе 2450 год. Да, они все еще существуют. Спойлер: пренебрежение этого персонажа к электронным таблицам привело к его гибели. Источник: Amazon (The Expanse S06E01)

    Мир работает на Excel, и плохо информированные снобы из Python, которые думают, что он ограничен одним миллионом строк, – идиоты. Инвестирование в навыки работы с электронными таблицами должно быть безопасным вплоть до 25-го века. Но что это значит? Вот краткий обзор:

    Традиционный “продвинутый” excel: разворотные таблицы и диаграммы, таблицы, проверка данных, условное форматирование, именованные диапазоны и т. д. – Это основные навыки работы с электронными таблицами, не очень продвинутые, если честно, каждый должен знать, как это делать. Если вы этого не сделаете, вы будете создавать кошмары с ошибками, которые невозможно поддерживать в рабочем состоянии.

    Старые формулы “опытного пользователя”: SUMIFS, VLOOKUP, INDEX/MATCH и др. – Они понадобятся вам для поддержки или обновления существующих электронных таблиц, но будьте осторожны, обычно есть лучший способ. и это…

    Все, что пересекается с Power BI – PowerPivot/DAX, PowerQuery/M, пользовательские типы данных, наборы данных в качестве источника данных / Анализ в Excel: нет проблем, вы избавитесь от множества формул и макросов. Оговорка: PowerPivot не обновлялся уже несколько лет, поэтому большинство людей перешли на Power BI для своих моделей данных.

    Формулы новой школы “опытных пользователей”: динамические массивы, LET, LAMBDA и т.д. Они вдохнули новую жизнь в Excel, и их стоит выучить, так как они сделают вас более продуктивными. По крайней мере, перейдите от VLOOKUP к XLOOKUP.

    • VBA : многое из этого можно заменить PQ и OfficeScripts. VBA, скорее всего, никогда не будет работать в O365, что делает его устаревшим навыком, который не стоит изучать в наши дни в большинстве случаев, если только вы не унаследовали критически важную электронную таблицу на основе макросов.
    • Решение Power BI.
    • Хардкорный Excel: формулы куба, Solver, арканные дополнения: все еще актуально для крайних случаев, обычно в финансах. Вы узнаете, если вам это понадобится.
    • Инструменты интерактивных информационных панелей, такие как Power BI, не собираются полностью заменить чрезвычайную свободу и гибкость, предоставляемую электронными таблицами. Этот разрыв сокращается благодаря поставщикам пользовательских визуальных инструментов, таким как Inforiver и PowerOn, но место для полноценных электронных таблиц всегда будет оставаться. Игнорируйте запросы своих пользователей на свой страх и риск.
    • 3.9. C# – автоматизация DAX
    • OfficeScripts : VBA’s cloud equivalent. Promising but immature and won’t fully do what VBA can. You can start using it but I’d wait before committing a lot of time. There are not even reference books on the topic yet. That said just the fact that you can trigger OfficeScripts from Power Automate makes it a very compelling addition and I’ve started using it to help orchestrate an Excel -> Dataverse ->Как и Java или Python, C-Sharp имеет общее назначение, поэтому его упоминание здесь может показаться неуместным. Но оказалось, что Tabular Editor, один из основных сторонних инструментов для Power BI Desktop, использует этот язык для создания макросов, автоматизирующих создание кода DAX. Однако вам не понадобится ничего слишком сложного, а макросы, как правило, относятся к тому типу кода, который вы чаще редактируете из фрагментов, чем с нуля. Подумайте об этом, если вы зарабатываете на жизнь написанием DAX.
    • 3.10. TypeScript – используется в пользовательском Visual SDK, в остальных случаях игнорируется.

    TypeScript – это ответвление JavaScript, которое набирает популярность в последние годы. JavaScript используется в веб-браузерах и серверах, так какое отношение это имеет к BI? TypeScript – это язык, на котором создаются пользовательские визуальные эффекты Power BI (типа SDK). Другие веб-стандарты, такие как CSS и HTML, также могут иметь вспомогательное применение в визуальной части.

    3.11. PowerShell – автоматизация администратора

    PowerShell – это серьезный бизнес, понятно? Источник: Ghost in the Shell

    PowerShell можно использовать для автоматизации процессов, связанных с API, такими как Power BI REST API и API администратора, поэтому если вы выполняете значительный объем администрирования и предоставления ресурсов, стоит выбрать сценарий для этих утомительных задач.

    И здесь часто можно обойтись образованным копированием/вставкой/редактированием (оно же “кодирование на StackOverflow”).

    3.12 LINQ, BIML, TMSL, ASSL – корпоративные BI-инструменты, имеющие незначительное отношение к современному самообслуживанию

    Language-Integrated Query (LINQ) – “это название для набора технологий, основанных на интеграции возможностей запросов непосредственно в язык C#”. Другими словами, это способ для разработчиков приложений генерировать SQL-запросы на языке, который они уже используют. Давным-давно существовал мост LINQ-DAX, но этот проект выглядит мертвым.

    Business Intelligence Markup Language (BIML) – это диалект XML для определения BI-решений (реляционные модели, преобразования данных…), используемый в основном в SSIS и в меньшей степени в SSAS, поэтому он не имеет прямого отношения к обычному магазину Power BI.

    Tabular Model Scripting Language (TMSL) – это “синтаксис команд и определения объектной модели для табличных моделей данных”, который можно использовать для модификации табличных моделей, отправляя файлы определения JSON на конечную точку XMLA через SSMS. Опять же, это наследство от Analysis Services, надстройкой которого становится Power BI Premium. Его можно использовать для создания продвинутых вещей в ваших моделях, но большинству людей он никогда не понадобится.

    Analysis Services Scripting Language (ASSL для XMLA) является предком TMSL и работает только в SSAS, а не в AAS или Power

    DAX и M : обязательные элементы в сфере Power BI, к сожалению, проприетарные и бесполезные за пределами мира Microsoft. Только в очень структурированных корпоративных магазинах, где уже есть зрелое хранилище данных, вы можете обойтись только DAX.

    SQL : вы сами себя искалечите, если не будете знать хотя бы основ SQL. Это язык №1, который вы должны рассмотреть, если не хотите быть привязанным к одной платформе.

    Современный Excel : да! Многие люди имеют совершенно устаревшее представление о том, что нужно делать, чтобы хорошо владеть Excel, и многие люди смотрят на Excel свысока из-за грубого невежества. Кроме того, удачи вам в обучении финансового директора пользоваться вашими блокнотами Jupyter, гении науки о данных!

    Python: обязательное условие для многих BI-стеков других компаний, не входящих в состав Microsoft, приятное условие для Microsoft.

    R, Scala, Java: полезны в зависимости от того, что уже использует ваша организация. Я бы не стал изучать их наобум.

    TypeScript, C#, PowerShell: изучите основы, если вы преследуете конкретные сценарии использования – визуализация, DAX, автоматизация моделирования, администрирование – где они могут пригодиться, опять же не изучайте их на всякий случай.

    • MDX, LINQ, BIML, TMSL, ASSL, XMLA : По большей части, это устаревший материал Microsoft enterprise BI, который уже несколько лет назад утратил свою актуальность. Большинство людей, которым они нужны, уже знают их, поэтому не стоит изучать их, если только вам это действительно не нужно, за исключением XMLA.
    • Мэтт рекомендует специализацию, но затем также перечисляет длинный список навыков… Я согласен, что вы не можете делать все это.
    • 4. Другие технические вещи, которые вам нужно будет знать наряду с выбранным языком (языками)
    • 4.1. Форматы файлов: JSON, XML, CSV, Parquet, AVRO, YAML, геопространственные и т.д.
    • Оливье, это уже перебор, форматы файлов не являются языками, так зачем их упоминать в этой статье? Технически, дорогой
    • читатель
    • голос в моей голове, ты прав, но форматы файлов часто используются в декларативных целях, что может размыть грань между конфигурацией и разработкой. Вспомните, как в файлах Docker Compose используется YAML, или как Vega основана на утверждениях JSON.

    Кроме того, как аналитик данных, вы постоянно имеете дело со структурой различных форматов файлов, несущих данные, поэтому вы определенно хотите быть знакомым хотя бы с тремя большими форматами: XML, JSON и CSV. По мере участия в более крупных проектах вы, несомненно, столкнетесь с Parquet и другими форматами файлов “больших данных” (часто столбчатыми), которые работают лучше, чем их обычные собратья “малых данных”. В магазинах, не принадлежащих компании Microsoft, вы можете столкнуться с ORC, Iceberg или Arrow.

    Проблема, которую часто приходится решать, заключается в том, как обходить деревья XML/JSON и что делать с вложенными массивами, которые могут либо расширяться как дополнительные строки в той же таблице, либо превращаться в отдельную таблицу. Ситуация становится еще хуже с неровными иерархиями, включающими смесь скалярных значений, списков и записей. Ответ будет зависеть от модели данных в конце вашего конвейера данных, от того, говорим ли мы о таблицах измерений или таблицах фактов, какова зернистость ваших таблиц, не говоря уже о более тонких деталях, таких как фиксированные или медленно меняющиеся измерения.

    В некоторых нишевых областях вы также можете столкнуться с множеством пользовательских форматов файлов. Геопространство – это одна из таких вселенных, в которой есть shapefiles, geojson, topojson, KLM и десятки других! Вы можете либо спокойно игнорировать их, либо глубоко погрузиться, если вас попросят сделать расширенное картографирование с пользовательскими границами.

    4.2. REST API, HTTP POST/GET, Odata, Curl и т.д.Здесь мы снова выходим за рамки того, что строго считается “языком”, но вам придется изучить целый ряд вопросов, связанных с API и фидами Odata. Недостаточно иметь общие знания Power Query или Python по работе со строками и массивами, вам также придется знать, как взаимодействовать с источниками API, обрабатывая их аутентификацию (добро пожаловать в ад Oauth), пагинацию, дросселирование, фильтры запросов, возвращают ли они JSON или XML, и многие другие тонкости. Между тем, каналы Odata можно запрашивать через параметры URL.Несмотря на то, что издалека REST API выглядят одинаково, каждый из них имеет свои особенности, недостатки, плохо документированный синтаксис и массу других проблем. Если вы любите API, вы также в конечном итоге ненавидите API!

    4.3. RPA и платформы с низким кодом

    Если вы создаете операционные или финансовые информационные панели, вы, скорее всего, обнаружили, что сфера их применения имеет тенденцию перетекать в смежные сценарии, такие как автоматизация роботизированных процессов (RPA) и приложения для ввода данных с низким кодом – вспомните SharePoint Lists, PowerApps и множество аналогичных платформ других производителей, от Airtable до Notion и Bubble.

    Некоторые из этих инструментов строго ориентированы на пользовательский интерфейс, но большинство из них могут использовать формулы или код для создания более сложных интерфейсов и бизнес-логики. И эти инструменты Power/O365 хорошо работают вместе для оркестровки самого Power BI: Я настроил адаптивные карты в Teams, позволяющие конечным пользователям запускать поток Power Automate, который цепляет потоки данных и обновления наборов данных из источников SharePoint и Dataverse.

    Возможно, там вы не выучите целый новый язык, а только необходимые формулы, но вы будете слишком ограничены, если будете ограничиваться “наведи и щелкни”. Вам нужно будет понять основные концепции программирования, такие как переменные, циклы или условные операторы. И вам лучше принять базовую дисциплину “DevOps”, по крайней мере, поддерживая отдельные рабочие пространства для разработки и производства. В целом, лучшие специалисты по бизнес-аналитике могут мыслить и как генеральный директор, и как разработчик.

    5. Заключение: Сохраняйте спокойствие и продолжайте учиться

    Вы не можете довести до максимума все свои навыки, и это нормально.

    Плохая новость заключается в том, что платформы бизнес-аналитики включают в себя огромное количество технологий и концепций, особенно если вы используете одного из “большой тройки” имперских облачных провайдеров (Amazon, Microsoft, Google), с их навязчивой идеей постоянно создавать новые сервисы. И как бы вам ни казалось, что у вас есть четко определенная, относительно узкая работа, это не так.

    Хорошая новость заключается в том, что вы, как бизнес-аналитик с высоким уровнем интеллекта, лучше, чем большинство, подготовлены к принятию решений, связанных с функциональной неопределенностью, техническим разрастанием, дублированием решений, шумихой поставщиков, давлением коллег, неуверенностью в будущем, синдромом самозванца и другими источниками шума, которые могли бы затуманить суждения более низких существ. (Не слишком ли я потворствую своей аудитории?)

    Выбирайте свои битвы, всегда продолжайте учиться, удваивайте то, что работает, будьте готовы отказаться от того, что не работает, и получайте удовольствие! Не учитесь ради того, чтобы учиться, так как это не поможет. Вместо этого учитесь, пока

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *