Труба в R: підключення функцій за допомогою Dplyr
У цьому підручнику ви дізнаєтесь, як об’єднати функції разом за допомогою оператора каналу dplyr мовою програмування R.
Цей блог зосереджений навколо табеля обліку робочого часу LuckyTemplates і пов’язаних з ним витрат на заробітну плату. Я покажу вам, як обчислити дані про час і тип заробітної плати за допомогою DAX. Я збираюся продемонструвати рішення DAX із використанням заходів, а інше — з використанням обчислюваних стовпців. Ви можете переглянути повне відео цього підручника внизу цього блогу.
Цей приклад надійшов від а, який ми запускаємо в LuckyTemplates. Це реальний сценарій, з яким ми часто стикаємося в організаціях і на підприємствах, і LuckyTemplates — це саме той інструмент, який допоможе полегшити та пришвидшити роботу.
Отже, давайте до цього.
Зміст
Табель та заробітна плата LuckyTemplates: розрахунок у стовпцях
Для обчисленого рішення DAX із використанням обчислюваних стовпців я переходжу до таблиці часу та створюю показник, який я називаю CC-Regular Hours , щоб обчислити звичайні години.
У цій формулі я отримую години з таблиці та поміщаю їх у змінну (). Потім рахуюце свято, вихідний або звичайний день. Зя використовую модель даних, щоб визначити це, а потім використовую дві змінні (_IsHolidayDay і _IsWeekendDay ), щоб визначити третю ( _IsRegularDay ).
Нарешті, я використовую заяву, де перевіряю звичайні години. Інші два (канікули та вихідні) будуть. І якщо це звичайний день, я хочу повернути години до восьми годин, а потім я скористаюся конструкцією RETURN Result .
Я зроблю майже те саме для формули понаднормових годин ( CC-Overtime Hours ) – я лише зміню оператор SWITCH TRUE. Це поверне години для вихідного дня. Якщо це звичайний день, він поверне години понад вісім годин.
Для святкових годин він поверне всі години, якщо це святковий день, і поверне порожні місця, якщо це вихідний або звичайний день.
Тепер переходимо до зарплати. Для формули оплати за звичайні години я використаю обчислений стовпець, який я щойно створив для звичайних годин. Я збираюся визначити відповідну заробітну плату за допомогою WageType , Straight Time .
Я отримую погодинну оплату праці працівників із моделі даних, а потім використовую a, щоб отримати множник із таблиці типів заробітної плати для відключення , який потрібно застосувати. І, нарешті, я обчислюю змінну Result , а потім маю RETURN Result у кінці.
Для понаднормової роботи я просто зміню тип оплати на Півтора часу .
Я зроблю подібну річ для святкових зарплат, але я просто зміню тип оплати на Double Time .
Нарешті, я зроблю просту суму, щоб отримати загальну вартість.
Коли я перетягую ці стовпці у звіт, ми можемо побачити результати.
Розклад та заробітна плата LuckyTemplates: рішення DAX із використанням показників
Я збираюся зробити майже те саме, що робив для обчислюваних стовпців, але цього разу я внесу одну невелику зміну.
Я не маю доступу до значення часу безпосередньо з таблиці, тому я збираюся використовувати aтут, щоб отримати години, пов’язані з певним записом часу, який відображається у візуальному зображенні. Окрім цього, код такий самий, як і для версії обчислюваних стовпців.
Я робив дуже схоже для понаднормових годин і святкових годин. Це ті самі правила, що й для обчислюваних стовпців.
Що стосується заробітної плати, то вона нараховується приблизно так само. Єдиною відмінністю від обчислюваних стовпців є змінна для годин. Я використовую значення вимірювання, яке я розрахував. Я також роблю те саме для наднормової заробітної плати та так само для відпустки.
Тоді я напишу просту суму для загальної заробітної плати.
А тепер я додаю ці заходи в таблицю, щоб ми могли побачити результати. Зауважте, що жоден із показників не показує підсумки. Щоб побачити тут загальні значення для показників, я збираюся використати шаблон виправлення неправильних підсумків . Для цього мені потрібно створити заходи, які використовують віртуальні таблиці, щоб імітувати фізичну таблицю, яку я маю тут.
Виправте неправильний шаблон підсумків
Щоб виправити це, мені потрібно створити заходи, які використовують віртуальні таблиці для імітації фізичної таблиці, яку я маю тут. Тож для загальної кількості годин, які я використавконструкція для створення віртуальної таблиці з ідентифікатором часу та годинами. А потім використовуюнад віртуальною таблицею, щоб обчислити значення.
Я перетягну це в таблицю нижче, і тепер ми зможемо побачити загальну кількість годин.
Я збираюся зробити те саме для зарплати, де я буду використовувати та ПІДСУМУВАТИ . А потім для отримання результату я збираюся використовувати функцію для міри, яку я вже створив, і SUMX для віртуальної таблиці.
Потім я додаю це в таблицю, і ми бачимо, що зараз маємо загальну заробітну плату.
Інша справа: коли я поміщаю показник загальної заробітної плати на просту гістограму з відділами та типами заробітної плати, ви побачите, що я не отримую тут жодних значень.
Це частина виправленої проблеми з неправильними підсумками. І один із найкращих способів, які я знайшов, щоб виправити це, це використання віртуальної таблиці та зміна міри.
Тож я вилучу ту без віртуальної таблиці, а ту з віртуальною додам.
Висновок
Обидва рішення DAX чудово підходять для цього завдання LuckyTemplates із розкладом та зарплатою. Однак вони також мають свої плюси і мінуси.
Переваги використання заходів полягають у тому, що вони є найкращою практикою. Вони не обчислюються під час оновлення моделі, а лише тоді, коли міра фактично використовується у візуалі. Недоліком для них є те, що, коли ми працюємо з віртуальними таблицями для представлення речей, для їх належного обчислення, потрібно трохи додаткового коду DAX. Але це зовсім не велика річ.
Щодо обчислюваних стовпців, я вважаю, що їх легше вивчати та візуалізувати. Вони є дуже знайомим початковим місцем для тих, хто прийшов із Excel. Однак одним із обмежень обчислюваних стовпців є те, що вони фактично фізично створюються в моделі даних і збільшують розмір вашої моделі, що зменшить продуктивність вашого звіту.
І загальне правило полягає в тому, що ви не повинні створювати обчислювані стовпці в таблицях фактів. Якщо вам потрібно створити обчислюваний стовпець, спробуйте зробити це на таблицях розмірів.
Особисто я використовую обчислювані стовпці, щоб додати категоризацію до деяких таблиць розмірностей, де було багато параметрів для показу.
Сподіваюся, вам сподобався цей і ви багато чого навчилися. Ви можете переглянути повне відео цього уроку нижче.
здоров'я!
Грег
У цьому підручнику ви дізнаєтесь, як об’єднати функції разом за допомогою оператора каналу dplyr мовою програмування R.
RANKX від LuckyTemplates дозволяє повернути рейтинг певного числа в кожному рядку таблиці, який є частиною списку чисел.
Дізнайтеся, як розібрати файл PBIX, щоб витягти теми та зображення LuckyTemplates із фону та використовувати їх для створення звіту!
Шпаргалка формул Excel: Посібник середнього рівня
Календарна таблиця LuckyTemplates: що це таке та як ним користуватися
Дізнайтеся, як інсталювати мову програмування Python у LuckyTemplates і як використовувати її інструменти для написання кодів і відображення візуальних елементів.
Дізнайтеся, як обчислювати динамічну маржу прибутку за допомогою LuckyTemplates і як ви можете отримати більше інформації, глибше досліджуючи результати.
Дізнайтеся, як правильно сортувати поля зі стовпців розширеної таблиці дат. Це хороша стратегія для складних полів.
У цій статті я поясню, як знайти найпопулярніші продукти для регіону за допомогою обчислень DAX у LuckyTemplates, включаючи функції TOPN і CALCULATE.
Дізнайтеся, як використовувати вимірювання сміття для позначок низької потужності, які ви хочете ефективно включити у свою модель даних.