Труба в R: підключення функцій за допомогою Dplyr
У цьому підручнику ви дізнаєтесь, як об’єднати функції разом за допомогою оператора каналу dplyr мовою програмування R.
У цьому підручнику я покажу вам остаточну формулу розподілу бюджету, яку ви можете використовувати, коли маєте справу з сумами та даними різної деталізації. Ви можете переглянути повне відео цього підручника внизу цього блогу.
Ваші бюджети можуть складатися з місячної, квартальної чи річної деталізації, тоді як ваші продажі зазвичай є щоденними. Це створює невідповідність моделі.
Формула розподілу бюджету, розглянута в цьому посібнику, дозволить вам вирішити цю невідповідність у деталях. Це також дозволить вам легко перемикатися між різними часовими контекстами лише за допомогою кількох коригувань алгоритму.
Зрозумівши, як це працює, ви зможете ефективно використовувати цю методологію під час роботи з бюджетами у вашому власному середовищі.
Зміст
Невідповідна гранулярність
Давайте подивимося на модель.
Ваші бюджети, як правило, мають різну деталізацію. Це означає, що ваші бюджети можуть бути на місячному рівні, наприклад, бюджет на місяць або на продукт.
Але ваші продажі або таблиця фактів можуть бути на щоденному рівні.
Отже, є невідповідність деталізації.
Щоб провести аналіз або порівняння, вам потрібно знайти спосіб розподілити ваші бюджети між більш високою деталізацією.
Вища деталізація в цьому випадку – щодня.
Отже, вам потрібно знайти спосіб взяти місячні суми та розподілити їх на щоденні суми.
Ознайомлення з формулою бюджетного розподілу
Я називаю цеформулу, оскільки ви можете використовувати цю техніку з бюджетами будь-якої деталізації. Ви можете використовувати його для квартального або річного бюджету. Все, що вам потрібно, це зробити деякі невеликі налаштування, щоб це запрацювало.
Спочатку розглянемо кінцевий результат формули розподілу бюджету .
Я маю свою дату в таблиці, і я можу легко змінити її за допомогою розділювача.
Я також отримав своєсума та бюджетне призначення .
У цій візуалізації є посилання на таблицю:
Мої щоденні продажі змінюються. Але мої бюджети постійні, оскільки це щомісячні суми.
Однак ця діаграма краще відображає репрезентацію, оскільки вона показує місячну перспективу.
Графік показує продажі за місяць у порівнянні з місячним бюджетом.
Розуміння алгоритму розподілу
Тепер давайте подивимося на формулу.
Спочатку я хочу пояснити цю частину формули:
Щоб це зрозуміти, наведу приклад. Припустимо, є місячна сума. Давайте помножимо цю суму на 1, поділену на 30, або на кількість днів у місяці. Це стає алгоритмом розподілу.
Формула: DayInContext , поділена на DaysInMonth, помножена на MonthlyBudgetAmounts . Це стає методологією, яка дасть вам місячний бюджетний розподіл на кожен день.
Отже, якби у вас були квартальні бюджети, це було б 1, поділене на кількість днів у кварталі , помножене на квартальний бюджет . Ось як розподілити квартальний бюджет на кожен день.
Це лише питання побудови та досягнення цієї точки у формулі.
Ви повинні почати з цієї частини формули на увазі. Потім вам потрібно розібратися, як отримати динамічний DayInContext , DaysInMonth і як розподілити MonthlyBudgetAmounts .
У формулі для розподілу бюджету я побудував все це в межах ЗМІННИХ, оскільки багато з цих окремих показників не потрібні.
Використовуйте, коли обчислення стосується лише одного конкретного показника.
Якщо тоді міру можна розгалужити, я б не рекомендував використовувати ЗМІННІ. Замість цього я б спочатку створив початковий показник, а потім розгалужив би кумулятивний підсумок або ковзне середнє.
Складові формули бюджетного розподілу
Отже, давайте тепер розглянемо кожну окрему частину формули розподілу бюджету.
Перш за все, це Дні в контексті .
Це спроба підрахувати, скільки дат у певному контексті.
Це досить легко, тому що є контекст оцінки для кожного окремого дня. Отже, якщо я піду (Дати) , це дасть мені один день для кожного окремого рядка.
Тепер перейдемо до Днів у місяці .
Це важливий формат, оскільки це динамічний спосіб визначення кількості днів у місяці.
Отже, я все ще використовую COUNTROWS( Dates ) , але я змінив контекстфункція. Я видаливфільтри з дат. Але потім я повертаю фільтри за допомогою Month & Year .
Це дає мені конкретний контекст місяця та року. Отже, для місяця травень він показує 31 день; для червня показує 30 днів.
Незалежно від того, який у вас місяць, він точно розподілить увесь місячний бюджет на цей місяць. Ви не отримаєте невідповідності, коли місяць має 30 днів, але тоді він ділиться на 31 день.
Отже, це дає вам змогу мати правильний і динамічний розподіл.
Використання TREATAS для віртуальних відносин
Наступне, що я хочу зробити, це обчислити загальний бюджет . Тепер давайте розглянемо цю частину формули:
Формула загального бюджету є aна основі віртуальних відносин, які я створив.
Ці віртуальні відносини створеніфункція.
У таблиці ви можете побачити ці більші суми.
Ці суми визначаються вибором у розділювачі назв продукту .
Я переглядаю лише вибрану групу продуктів. Це підрахунок загального бюджету в кожному з цих різних місяців.
Тепер давайте розглянемо формулу суми місячного бюджету TREATAS .
TREATAS дозволяє мені створити віртуальні стосунки.
Я хочу створити зв’язок віртуально, оскільки в таблиці Date є багато назв місяців.
І багато назв місяців у назві продукту.
Розміщення зв’язку «багато до багатьох» створює забагато проблем у ваших моделях.
Натомість я збираюся створити віртуальний зв’язок між таблицею «Дати» та таблицею «Бюджети продуктів» у своїй формулі.
Фізичний зв’язок між таблицею «Дати» та таблицею «Продажі» все ще працюватиме.
Але створення віртуального зв’язку дає змогу порівнювати інформацію між таблицею «Дати» та таблицею «Продажі» за датами.
Отже, тепер я маю місячні суми.
Приклад розподілу бюджету
Повернемося до формули розподілу бюджету.
Тепер у мене є все необхідне для роботи. Є дні в контексті та дні в місяці .
Отже, помноживши 1 на 30 на суму місячного бюджету, я отримаю свій щоденний асигнування 8778,13.
Перехід на інший місяць призведе до іншої суми щоденного асигнування.
Зміна гранулярності у формулі
Це остаточна формула розподілу бюджету, тому що, якщо у вас були квартальні бюджети, усе, що вам потрібно зробити, це подумати, як маніпулювати цією частиною формули для квартальних бюджетів.
Якщо у вас були річні бюджети, все, що вам потрібно зробити, це розподілити їх за роками. Це може бути 365 або 90 днів. Все залежить від параметра, який вам потрібно розподілити та порівняти з вашими щоденними результатами або результатами з вищою деталізацією.
Висновок
Ця формула остаточного розподілу бюджету дозволяє легко створювати бюджетні та фінансові звіти, навіть коли ви маєте справу з даними різної деталізації.
За допомогою лише кількох коригувань формули ви зможете легко змінити її відповідно до контексту, який ви хочете відобразити у своїх звітах.
Сподіваюся, ви багато чого дізналися з цього підручника.
Все найкраще,
***** Вивчаєте LuckyTemplates? *****
У цьому підручнику ви дізнаєтесь, як об’єднати функції разом за допомогою оператора каналу dplyr мовою програмування R.
RANKX від LuckyTemplates дозволяє повернути рейтинг певного числа в кожному рядку таблиці, який є частиною списку чисел.
Дізнайтеся, як розібрати файл PBIX, щоб витягти теми та зображення LuckyTemplates із фону та використовувати їх для створення звіту!
Шпаргалка формул Excel: Посібник середнього рівня
Календарна таблиця LuckyTemplates: що це таке та як ним користуватися
Дізнайтеся, як інсталювати мову програмування Python у LuckyTemplates і як використовувати її інструменти для написання кодів і відображення візуальних елементів.
Дізнайтеся, як обчислювати динамічну маржу прибутку за допомогою LuckyTemplates і як ви можете отримати більше інформації, глибше досліджуючи результати.
Дізнайтеся, як правильно сортувати поля зі стовпців розширеної таблиці дат. Це хороша стратегія для складних полів.
У цій статті я поясню, як знайти найпопулярніші продукти для регіону за допомогою обчислень DAX у LuckyTemplates, включаючи функції TOPN і CALCULATE.
Дізнайтеся, як використовувати вимірювання сміття для позначок низької потужності, які ви хочете ефективно включити у свою модель даних.