LuckyTemplates розділити стовпець за роздільниками в DAX

У сьогоднішньому блозі ви дізнаєтеся, як використовувати LuckyTemplates, щоб розділити стовпець за роздільниками за допомогою DAX. Це те, що ви, ймовірно, знаєте, як легко зробити за допомогою Power Query, і це, як правило, найкращий спосіб зробити це. 

Але через динамічний характер проблеми та особливості моделі даних існують ситуації, коли використання DAX забезпечує краще рішення. Ви можете переглянути повне відео цього підручника внизу цього блогу.

Зміст

Зразок задачі

Це приклад проблеми в LuckyTemplates.

LuckyTemplates розділити стовпець за роздільниками в DAX

У вас є список із приблизно 600 назв фільмів, і ви хочете визначити серед них найпоширеніші слова. Для цього ви скористаєтеся повзунком параметрів, показаним нижче, щоб обчислити слова з кожного заголовка.

LuckyTemplates розділити стовпець за роздільниками в DAX

За допомогою повзунка ви можете встановити, скільки найпопулярніших слів ви хочете повернути. Для цього підручника скажіть, що ви вказали п’ять слів.

Ваша наступна мета — повернути кожну назву, яка містить принаймні одне з п’яти вибраних слів. Зробити це може здатися простим, але це трохи складніше, ніж здається. Отже, ось кроки для досягнення цих цілей.

Кроки, як розділити стовпці за допомогою роздільників

У цьому розділі ви дізнаєтесь, як розв’язати задану проблему шляхом розділення стовпців у DAX. Перший крок — відкрити дані фільму, клацнувши другий значок ліворуч, а потім « Фільм» на панелі полів. 

LuckyTemplates розділити стовпець за роздільниками в DAX

У списку фільмів, які з’являться, вам потрібно подумати, як розбити назви на окремі слова.

Одним із можливих рішень є використання двох, як показано нижче. Таблиця 1 – це таблиця з одним стовпчиком N перших слів, визначених повзунком. Друга таблиця — це віртуальний стовпчик слів у назві кожного фільму. 

LuckyTemplates розділити стовпець за роздільниками в DAX

Потім, використовуючи дві віртуальні таблиці, ви можете використовувати функцію, щоб визначити, які слова є спільними між ними. Далі виконайте на цій віртуальній таблиці, щоб дізнатися, чи це число більше або дорівнює одиниці. 

Якщо відповідь ствердна, то принаймні одне з цільових слів міститься в назві фільму. І це титули, які ми хочемо зберегти в кінцевому результаті. 

Пошук корисних інструментів LuckyTemplates для розділення стовпців у посібнику SQLBI DAX

Щоб подумати про те, як ви можете реалізувати це, ви можете звернутися до посібника SQLBI DAX, перейшовши до тогочасного посібника DAX

LuckyTemplates розділити стовпець за роздільниками в DAX

На цій сторінці ви можете шукати функції за типом, натиснувши Групи.

LuckyTemplates розділити стовпець за роздільниками в DAX

У розділі «Функції» ви можете почати з «Тексту» , щоб побачити, чи є якісь текстові функції, подібні до розділення стовпців роздільниками. Це спростило б усе, але, на жаль, у DAX немає нічого, що відповідає цьому.

LuckyTemplates розділити стовпець за роздільниками в DAX

Замість цього ви будете використовувати ті самі дії, що розділені роздільником.

LuckyTemplates розділити стовпець за роздільниками в DAX

Функції ієрархії «батько-нащадок».

Ієрархічні функції «батько-нащадок» або функції PATH зазвичай використовуються для ієрархічних ситуацій. Скажімо, вам потрібен кадровий аналіз, якщо у вас є генеральний директор фірми, керівники на рівні директорів, менеджери на рівні керівників філій і так далі.

Функції PATH можуть певним чином виражати цю ієрархію та проходити через неї вперед і назад. Це традиційне використання ієрархічних функцій «батько-нащадок», але ви дізнаєтеся, що воно також має деякі дуже корисні властивості для маніпулювання текстом і DAX.

Використовувати його набагато складніше, ніж LuckyTemplates, але ми сподіваємося полегшити процес, надавши вам покрокове рішення. Це корисна техніка для вивчення, і вона надає вам доступ до сімейства функцій DAX, які є неймовірно потужними.

LuckyTemplates розділити стовпець у DAX

Функції ієрархії «батько-дочірній» включають кілька етапів, але на них варто звернути увагу, оскільки ці п’ять функцій дійсно потужні та гнучкі. 

Щоб почати, поверніться до таблиці та клацніть «Фільм» на панелі полів. 

LuckyTemplates розділити стовпець за роздільниками в DAX

Створіть шлях плівки за допомогою команди, як показано нижче.

LuckyTemplates розділити стовпець за роздільниками в DAX

Ця команда замінює кожен пробіл вертикальною рискою. 

LuckyTemplates розділити стовпець за роздільниками в DAX

Це так само, як шляхи мають бути відформатовані в LuckyTemplates, тому зазвичай це робиться в Power Query. Однак ви зробили це таким чином, щоб побачити команди, які відрізняються від команд M у Power Query. 

Ця функція створює потрібну структуру шляху, тоді як команда позбавляється будь-яких пробілів на початку або в кінці, які можуть вплинути на наші результати. 

Ваш другий обчислений стовпець – це Довжина шляху. Це пряма команда у функції, яку ви застосовуєте до шляху плівки. Він покаже вам, скільки елементів на цьому шляху, тож у цьому випадку це кількість слів у заголовку. 

LuckyTemplates розділити стовпець за роздільниками в DAX

Цією ж командою можна визначити, наприклад, кількість осіб у звітному ланцюжку. Але цей випадок — це лише проста кількість слів. 

LuckyTemplates розділити стовпець за роздільниками в DAX

Наступне, що потрібно зробити, це перейти до Max Path Index на панелі Fields. Потім створіть обчислену таблицю, яка переглядає всю таблицю фільмів, видаляє фільтри та обчислює максимальну довжину шляху, щоб знати найдовший заголовок у базі даних.

Використовуючи цю функцію, ви можете генерувати ряд індексів із рахунком від одного до максимального шляху одиницями. 

LuckyTemplates розділити стовпець за роздільниками в DAX

Ось так повинен виглядати ваш стіл. За хвилину ви побачите, чому це цінно.

LuckyTemplates розділити стовпець за роздільниками в DAX

Поки що поверніться до LuckyTemplates і клацніть Top Words in Film Path на панелі полів. 

LuckyTemplates розділити стовпець за роздільниками в DAX

Ми зосередимося на цій віртуальній таблиці, загальним рішенням якої була діаграма Венна, показана раніше. 

LuckyTemplates розділити стовпець за роздільниками в DAX

Давайте розберемо це, щоб краще зрозуміти. У наведених нижче рядках ми використали віртуальну таблицю для перших N слів, як розраховано нижче. 

LuckyTemplates розділити стовпець за роздільниками в DAX

Потім розбитий стовпець за роздільником обчислюється в рядках нижче. 

LuckyTemplates розділити стовпець за роздільниками в DAX

Далі ми застосували перетин цих двох стовпців. Якщо це перетин більше нуля, ми присвоїмо йому одиницю або нуль. Нарешті ми повернули результат.

LuckyTemplates розділити стовпець за роздільниками в DAX

Працюючи зі складними віртуальними таблицями, найпростішим способом є зайти в , де ви можете матеріалізувати ці віртуальні таблиці в запиті DAX. Для цього вам потрібно зосередитися на рядках, виділених нижче. 

LuckyTemplates розділити стовпець за роздільниками в DAX

Отже, скопіюйте цей код і залиште його в буфер обміну для наступних кроків. 

Обробка розділених стовпців LuckyTemplates за допомогою табличного редактора 3

У Зовнішніх інструментах клацніть Табличний редактор 3 . Ви також можете використовувати DAX Studio для цього, але табличний редактор рекомендується через його додаткові функції налагодження та інші приємні можливості. Для запитів DAX DAX Studio також добре працюватиме та є абсолютно безкоштовним. 

Повернувшись у табличний редактор, створіть новий запит DAX, клацнувши значок паперу на стрічці. Введіть EVALUATE у рядку 1, вставте скопійований код і натисніть F5.

LuckyTemplates розділити стовпець за роздільниками в DAX

Ви отримаєте таблицю зі Шляхом плівки та Максимальним шляхом для перших двох стовпців. Для третього стовпця ви використовуєте команду та шлях до фільму, щоб визначити перше слово для кожного приросту індексу шляху, від одного до дев’яти. 

LuckyTemplates розділити стовпець за роздільниками в DAX

Цей код повертає перше слово в третьому стовпці. 

LuckyTemplates розділити стовпець за роздільниками в DAX

Спробуйте переглянути певний фільм, клацнувши піктограму «Фільтр» у заголовку стовпця «Фільми[Шлях до фільму] . Наприклад, візьміть трохи довший, скажімо, Капітан Америка: Зимовий солдат. 

LuckyTemplates розділити стовпець за роздільниками в DAX

У нижній частині вікна ви можете побачити, що EVALUATE повернуло 1000 рядків

LuckyTemplates розділити стовпець за роздільниками в DAX

Отримайте всі рядки , а потім поверніться назад і знову відфільтруйте фільми [Шлях фільму] для Капітана Америки.

LuckyTemplates розділити стовпець за роздільниками в DAX

Пошук Капітана Америки: Зимового солдата. Поставте відповідний прапорець і натисніть «Закрити».

LuckyTemplates розділити стовпець за роздільниками в DAX

Що саме він робить для кожного заголовка, це перегляд і застосування індексів від одного до дев’яти, як показано у другому стовпці, а потім застосовується до команди.

Ви бачите, що перший предмет — Капітан , другий — Америка , третій — The , четвертий — Зима , а останній — Солдат . Коли ви отримуєте від шести до дев’яти, воно просто порожнє, тому що воно перевищує кількість слів у цій конкретній назві. 

LuckyTemplates розділити стовпець за роздільниками в DAX

Ви створили розділений роздільником стовпець, який точно такий же, як розділений роздільником у Power Query. 

У LuckyTemplates ви можете побачити, що команда, яка виконується через перетин і оператор IF. Отже, якщо ви повернетеся до свого набору даних і відкриєте панель фільтрів, ви побачите, що найкраще слово у фільмі відфільтровано таким чином, що воно дорівнює одиниці. 

LuckyTemplates розділити стовпець за роздільниками в DAX

По суті, це означає, що все в правій таблиці (фільм), яке містить слово, яке є в цільовому списку в лівій таблиці, буде перераховано у верхніх рядках. З іншого боку, ті, які дорівнюють нулю, будуть розміщені вниз.

LuckyTemplates розділити стовпець за роздільниками в DAX




Висновок

У цьому блозі ви дізналися, як розділити стовпці за роздільником у DAX. Ви знайдете цей інструмент справді корисним, якщо ваша ситуація дуже динамічна або ваша модель даних не підтримує виконання цього в Power Query.

Крім того, приклад задачі, над якою ви працювали, є гарною ілюстрацією незвичайної потужності команд PATH і того, як ви можете використовувати їх для вирішення проблем нетрадиційними способами.


Спеціальні значки LuckyTemplates | Техніка візуалізації PBI

Спеціальні значки LuckyTemplates | Техніка візуалізації PBI

Я обговорю одну з моїх улюблених технік, пов’язаних із користувальницькими піктограмами LuckyTemplates, яка динамічно використовує власні піктограми у візуальних елементах LuckyTemplates.

Створення таблиць LuckyTemplates за допомогою функції UNION & ROW

Створення таблиць LuckyTemplates за допомогою функції UNION & ROW

У цьому блозі я покажу вам, як можна створювати таблиці LuckyTemplates за допомогою формули, яка поєднує функції UNION і ROW.

Локальний шлюз даних у Power Automate

Локальний шлюз даних у Power Automate

Дізнайтеся, як локальний шлюз даних дозволяє Power Automate отримувати доступ до настільних програм, коли користувач знаходиться поза комп’ютером.

Відкрийте для себе унікальні ідеї за допомогою функції TOPN LuckyTemplates

Відкрийте для себе унікальні ідеї за допомогою функції TOPN LuckyTemplates

У цьому блозі представлено функцію LuckyTemplates TOPN DAX, яка дає вам змогу отримувати унікальну статистику з ваших даних, допомагаючи вам приймати кращі маркетингові рішення.

Моделювання даних у LuckyTemplates за допомогою допоміжних таблиць

Моделювання даних у LuckyTemplates за допомогою допоміжних таблиць

Дізнайтеся про деякі фантастичні аналітичні прийоми, які ми можемо використовувати для моделювання даних у LuckyTemplates за допомогою таблиць підтримки DAX.

Розширений DAX для LuckyTemplates: впровадження логіки ранжування в унікальній статистиці

Розширений DAX для LuckyTemplates: впровадження логіки ранжування в унікальній статистиці

Тут ми зануримося в LuckyTemplates Advanced DAX і запровадимо логіку ранжирування, щоб отримати дуже унікальну інформацію. У цьому прикладі я також демонструю розгалуження міри.

Функція параметра LuckyTemplates «Що, якщо».

Функція параметра LuckyTemplates «Що, якщо».

У цьому блозі представлено нову функцію в LuckyTemplates — параметр аналізу «Що, якщо». Ви побачите, як це робить усе швидким і легким для аналізу сценарію.

Використовуйте розгалуження міри LuckyTemplates, щоб перевірити, чи зростає ваша маржа зі зростанням доходу

Використовуйте розгалуження міри LuckyTemplates, щоб перевірити, чи зростає ваша маржа зі зростанням доходу

Дізнайтеся, як визначити, чи добре зростає ваш дохід, перевіривши, чи зросла ваша маржа за допомогою розгалуження міри LuckyTemplates.

Параметри LuckyTemplates через редактор запитів

Параметри LuckyTemplates через редактор запитів

Дізнайтеся та зрозумійте, як можна створювати та використовувати параметри LuckyTemplates, які є потужною функцією редактора запитів.

Кругла гістограма – візуалізація для вашої інформаційної панелі

Кругла гістограма – візуалізація для вашої інформаційної панелі

У цьому підручнику буде обговорено створення круглої гістограми за допомогою Charticulator. Ви дізнаєтеся, як створити їх для звіту LuckyTemplates.