Це зразок звіту з використанням розрахунків DAX. Він має циклічне резервування та проблеми з контекстом фільтра.
Таблицю було згруповано за клієнтом, роком і місяцем і сумою продажів.
Тоді загальна сума продажів розміщується в кожному рядку групи.
Використання функції Power Query Group By
Щоб відтворити це за допомогою функції Group By, відкрийте Power Query і клацніть Group By .
Відкривши його, натисніть Додатково та почніть групувати атрибути.
Спочатку згрупуйте Customer і Year and Month . У цьому випадку назвіть стовпець Total Sales Amount Grouped . Далі змініть операцію на Sum і стовпець на Sales Amount .
Ви бачите, що створено стовпець. Однак дані неповні, оскільки вони містять лише один рядок на клієнта.
Отже, поверніться до кроку функції Group By, щоб виправити це.
У нижній частині функції натисніть «Додати агрегацію» та назвіть її «AllData» .
Для операції виберіть Усі рядки . Ця операція надає спосіб повернути всі рядки, які були у вихідних даних із застосованим до них агрегатним оператором. Далі перемістіть параметри вгору та натисніть OK.
Це створює новий стовпець у таблиці.
Тепер видаліть стовпці «Клієнт» , «Рік» і «Місяць» і розгорніть стовпець «Усі дані» .
Тепер у вас налаштована така ж таблиця, як у прикладі.
Таким чином, замість використання складних і циклічних посилань, ви можете використовувати Group By, щоб легко отримати бажані результати.
Приклад баскетбольного рекорду
У цьому прикладі ми використали фінальні записи баскетбольної команди Chicago Bulls.
Це найкращі серіали із семи ігор кожного року.
Застосування функції Power Query Group By
Використовуючи функцію «Групувати за», ви повинні визначити, скільки перемог у серіях вони отримали, тобто 4 із 7.
Якщо ви використовуєте коди DAX, ви можете використовувати цей показник для визначення виграшів у серії.
Ви бачите, що він використовує вкладені команди, вкладені ітератори та деякі функції, такі як, .
Щоб зробити це в енергетичному запиті, вилучіть виграші та програші та перетворіть їх у вимірювання кількості.
Перейдіть до Додати стовпці та натисніть Стовпець із прикладів . Потім назвіть стовпець Count . Після цього призначте значення 0 для програшів і 1 для виграшів.
Наступним кроком є визначення вирішальної гри в кожній серії, яка завжди є останньою.
Отже, перейдіть до Group By і натисніть Advanced. Згрупуйте рік і встановіть параметри.
Введіть AllData для імені стовпця та встановіть Operation на All Rows . Далі клацніть Додати агрегацію та назвіть її Вирішальна гра . Встановіть «Операція» на «Макс» , а для «Стовпця» — «Ігри» .
Після створення стовпців розгорніть стовпець AllData .
Тепер у вас є дані для вирішальної гри.
Останнє, що вам потрібно зробити, це створити ще один стовпець, який повертатиме значення стовпця Count для вирішальної гри серії.
Для цього клацніть «Умовний стовпець» і назвіть його « Кількість перемог серії ». Встановіть параметр для створення стовпця «Кількість» , якщо стовпець «Ігри» дорівнює стовпцю «Вирішальна гра» . Якщо ні, значення має повернутися до 0.
Після цього перейдіть на вкладку «Домашня сторінка» та натисніть «Закрити та застосувати».
Це таблиця, створена за допомогою комплексу.
Відтворення таблиці баскетбольних рекордів
Використовуючи цей аналіз, ви можете відтворити таблицю.
Візьміть стовпці «Рік» і «Кількість перемог у серії» на інформаційну панель і перетворіть їх у таблицю.
Переконайтеся, що рік не підсумовується, а формат виграшу серії враховується як ціле число.
Потім отримайте загальну кількість перемог у серії . Клацніть стрілку спадного меню стовпця та виберіть Сума .
Ви бачите, що він дає ті самі результати без використання жодної функції DAX.
У цих двох прикладах ви можете побачити, як працює функція «Групувати за», коли ви поєднуєте її з можливістю або повертати сукупність, або повертати всі рядки.
Це дає вам гнучкість для вирішення широкого кола групових проблем.
Висновок
Group By — це дуже корисна функція потужних запитів у LuckyTemplates. Він має великий потенціал у створенні звітів і візуалізацій.
Якщо використання функцій і кодів DAX надто складне, ви можете використовувати функцію Group By як альтернативу. Це допомагає легко генерувати цінні дані для складних проблем.
У цьому підручнику ми показали, як можна максимізувати потенціал функції Group By і застосувати її до власних звітів.