Труба в R: підключення функцій за допомогою Dplyr
У цьому підручнику ви дізнаєтесь, як об’єднати функції разом за допомогою оператора каналу dplyr мовою програмування R.
Існує ще багато плутанини щодо різниці міжпротиу LuckyTemplates. Це ключові знання, які користувачі повинні опанувати, оскільки обидві функції можна використовувати в різних сценаріях, але є випадки, коли одна ефективніша за іншу. Ви можете переглянути повне відео цього підручника внизу цього блогу.
Я збираюся зосередитися на одному прикладі, який покаже різницю між ними. Але перш ніж перейти до цього прикладу, важливо зрозуміти різницю між функцією агрегування та функцією ітерації.
Зміст
Агрегатори проти ітераторів
Що стосується DAX, існує два типи механізмів обчислення – агрегатори та ітератори.
Функції агрегування включають SUM ,,,і. З іншого боку, ітератори — це функції, які мають X у кінці, наприклад SUMX .
Ітераційні функції проходять через кожен рядок таблиці, щоб додати логіку до кожного з цих рядків.
Функції агрегування розглядають весь стовпець, що залишився після розміщення контексту у формулі. Звідти виконується єдине агрегування для всього стовпця одночасно.
SUM як агрегатор
Як SUM використовується як агрегатор?
У цьому прикладі я збираюся обчислити загальний дохід у наведених зразках даних.
Тут завжди важливий контекст. У цьому випадку кожна конкретна дата є контекстом кожного конкретного результату.
Якщо я копну глибше в цю таблицю, це покаже, що існує прямий зв’язок, що випливає з дати, що входить до таблиці продажів .
Тоді, якщо я подивлюся на дані, що працюють під цією моделлю, ось як усе поєднується.
Отже, зв’язок тут пов’язано зі стовпцем «Дата замовлення». Після фільтрації конкретних дат у цьому стовпці відповідні результати відображаються в стовпці Дохід.
Після цього SUM просто виконає одне велике обчислення відфільтрованих результатів.
SUMX як ітератор
Тепер я збираюся використовувати SUMX для тих самих зразків даних, щоб ви могли побачити різницю. Насправді я можу розрахувати цей дохід, не торкаючись стовпця «Дохід».
Коли використовується, він завжди запитуватиме стіл. Зверніть увагу, що тут можна використовувати або фізичну таблицю, або віртуальну таблицю.
Щоб отримати Дохід, я виберу таблицю Продажі. Потім я розмістю вираз, який може бути показником або певним стовпцем із цієї таблиці, у цю формулу, щоб вона могла запускати логіку в кожному рядку. Вираз, як пояснено тут, повертає суму виразу, обчислену для кожного рядка таблиці.
Оскільки зразки даних включають кількість замовлення, я збираюся використовувати її тут, щоб отримати загальну суму. Я також збираюся використовувати ціну за одиницю.
Щойно я перетягну цю формулу у звіт, результати точно такі ж.
Звичайно, вони обидва показують однакові результати, оскільки обидва отримують дані з тих самих двох стовпців – кількості замовлення та ціни за одиницю.
Навіщо використовувати SUMX, якщо він все одно дає той самий результат, що й SUM ?
За допомогою SUMX логіка застосовується не лише до цілого стовпця, а й до кожного окремого рядка в цьому стовпці. Насправді я міг би видалити стовпець «Дохід» і все одно мати можливість отримувати конкретні результати.
Тож уявіть, що ця логіка застосовується до кожного рядка. Він множить кількість замовлення та ціну за одиницю для 1-го рядка, а потім зберігає це в пам’яті. Він робить те саме з 2-м рядком і всіма іншими рядками після цього, зберігаючи кожен окремий результат.
Це означає, що зрештою для обчислення SUMX використовуються не фізичні дані в таблиці, а результати, збережені в пам’яті .
Висновок
Сподіваюся, я зміг пояснити головну різницю між SUM і SUMX у LuckyTemplates, особливо для тих, хто все ще розуміє, що LuckyTemplates насправді може робити.
Основне правило: якщо це простий, зрозумілий сценарій, який можна розв’язати за допомогою функції агрегування, використовуйте SUM. Але якщо потрібна більш просунута логіка, використовуйте SUMX.
SUMX також буде корисним у випадках, коли у вас є тисячі чи мільйони рядків. Поки існують таблиці та стовпці, на які посилаються ваші міри, використання ітераційних функцій зробить процес ефективнішим.
Все найкраще,
У цьому підручнику ви дізнаєтесь, як об’єднати функції разом за допомогою оператора каналу dplyr мовою програмування R.
RANKX від LuckyTemplates дозволяє повернути рейтинг певного числа в кожному рядку таблиці, який є частиною списку чисел.
Дізнайтеся, як розібрати файл PBIX, щоб витягти теми та зображення LuckyTemplates із фону та використовувати їх для створення звіту!
Шпаргалка формул Excel: Посібник середнього рівня
Календарна таблиця LuckyTemplates: що це таке та як ним користуватися
Дізнайтеся, як інсталювати мову програмування Python у LuckyTemplates і як використовувати її інструменти для написання кодів і відображення візуальних елементів.
Дізнайтеся, як обчислювати динамічну маржу прибутку за допомогою LuckyTemplates і як ви можете отримати більше інформації, глибше досліджуючи результати.
Дізнайтеся, як правильно сортувати поля зі стовпців розширеної таблиці дат. Це хороша стратегія для складних полів.
У цій статті я поясню, як знайти найпопулярніші продукти для регіону за допомогою обчислень DAX у LuckyTemplates, включаючи функції TOPN і CALCULATE.
Дізнайтеся, як використовувати вимірювання сміття для позначок низької потужності, які ви хочете ефективно включити у свою модель даних.