Труба в R: підключення функцій за допомогою Dplyr
У цьому підручнику ви дізнаєтесь, як об’єднати функції разом за допомогою оператора каналу dplyr мовою програмування R.
Час від часу нам знадобиться наявність користувацьких візуалів гістограми або лінійної діаграми, які дають можливість побудувати діаграму щотижня, щомісяця, щокварталу чи щороку. У цьому підручнику я збираюся продемонструвати, як ви можете створити динамічну часову шкалу, використовуючи обчислювані стовпці, які дозволять вам змінювати рівень деталізації залежно від вашої дати чи часу. Ви можете переглянути повне відео цього підручника внизу цього блогу.
Тимчасова шкала дозволяє показати детальний рівень деталізації найважливішої поточної інформації. Він показує меншу деталізацію для попередніх дат.
Це корисно в багатьох випадках. Я бачив це на виробництві, наприклад, вони хочуть отримати довгу історію інформації. Це дозволяє їм відображати набагато більше інформації на екрані та отримувати всю історію того, що відбувається. Але для поточного кварталу це дозволяє їм точно бачити, що відбувається на рівні деталізації по тижнях.
Зміст
Як створити динамічну часову шкалу
Як ви бачите тут, у мене є таблиця дат R10, де я просто використовую функцію календаря з 2016 року по сьогодні. А потім я випадковим чином генерую деякі рівні запасів.
Першим кроком є створення IsCurrentQuarter . Є різні способи зробити це. У цьому показнику я вказую сьогоднішню дату, мій поточний рік і поточний квартал. А потім я хапаю рік поточного рядка, в якому я перебуваю, і віддаю чверть поточного рядка, в якому я перебуваю.
Якщо рік збігається з поточним роком, а квартал збігається з поточним кварталом, поверніть true. В іншому випадку поверніть false. Це все, що це робить. Для будь-якої дати в поточному кварталі він поверне значення true. Коли ми закінчимо поточний квартал, ми почнемо повертати false.
Наступним кроком є створення того, що я називаю DTS Column , що є досить простим. Все, що ми робимо, це кажемо, що якщо це поточний квартал, то ми повертаємо значення, яке починається з літери W для тижня. Ми беремо номер тижня дати поточного рядка, ми беремо рік, а потім поміщаємо його в такому форматі, наприклад, W16-2022.
А потім, коли ми починаємо повертатися за поточний квартал, якщо він не в поточному кварталі, тоді ми повертаємо лише Q для кварталу, потім квартал і рік. Отже, ми матимемо Q1-2022, Q2-2022 тощо.
Останній крок полягає в тому, що нам потрібно правильно відсортувати це. Ми збираємося зробити щось подібне, і ми збираємося створити цей стовпець DTS Sort By . І знову ми просто перевіряємо, чи це поточний рік. Якщо так, ми повертаємо значення лише року, кварталу, а потім номера тижня. Якщо це не в поточному кварталі, ми повертаємо лише рік і квартал.
Потім ми встановили б цей стовпець сортування за стовпцем DTS Sort By.
Як тільки ми це зробимо, ми зможемо використовувати стовпець DTS на нашій осі X. Отже, тут наша вісь Х - DTS . Наша вісь Y – це. Ще одна приємна річ у наявності обчислюваного стовпця полягає в тому, що ми можемо використовувати його, щоб, наприклад, розрізняти кольори на цій стовпчастій діаграмі. Отже, я можу використовувати IsCurrentQuarter як свою легенду.
Висновок
Ви можете розширити цю техніку динамічного часового масштабу за допомогою кількох додаткових стовпців. Скажімо, якщо це поточний тиждень, ви хочете показати його по днях. Якщо це поточний місяць, покажіть його за тижнями. Якщо це поточний квартал, покажіть його за місяцями, а якщо це поточний рік, покажіть його за кварталами. А потім, якщо минули роки, просто з’являйтеся до року, наприклад. Отже, у вас може бути багато різних варіантів того, як ви можете це зробити.
Якщо ви додали додаткові стовпці, вам знадобиться кілька додаткових стовпців, щоб отримати різні рівні деталізації, наприклад день, місяць, тиждень і рік. Але все це можливо, використовуючи ту саму техніку, вам просто потрібно трохи більшекод.
Ймовірно, ми б замінили цей IF оператором SWITCH , тому що інакше ми потрапимо у вкладені IF, а вони нікому не подобаються.
Недоліком реалізації цього як чвертей є те, що ви додаєте дані у свою модель даних і всі недоліки, про які люди стверджують, що стосуються обчислюваних стовпців (з чим я згоден, а з деякими – ні).
Але це не так вже й погано. З цими додатковими стовпцями, які тут є, немає високого рівня кардинальності. Це лише одне або два значення. Це не те, що ми додаємо тисячі унікальних елементів за допомогою цих різних стовпців, які у нас є.
Це, мабуть, найпростіший спосіб реалізації цього динамічного часового масштабу. Я сподіваюся, що це було цінним. Перегляньте посилання нижче, щоб отримати більше відповідного вмісту.
Все найкраще!
Грег
**** * Пов’язані повідомлення на форумі підтримки *****
У цьому підручнику ви дізнаєтесь, як об’єднати функції разом за допомогою оператора каналу dplyr мовою програмування R.
RANKX від LuckyTemplates дозволяє повернути рейтинг певного числа в кожному рядку таблиці, який є частиною списку чисел.
Дізнайтеся, як розібрати файл PBIX, щоб витягти теми та зображення LuckyTemplates із фону та використовувати їх для створення звіту!
Шпаргалка формул Excel: Посібник середнього рівня
Календарна таблиця LuckyTemplates: що це таке та як ним користуватися
Дізнайтеся, як інсталювати мову програмування Python у LuckyTemplates і як використовувати її інструменти для написання кодів і відображення візуальних елементів.
Дізнайтеся, як обчислювати динамічну маржу прибутку за допомогою LuckyTemplates і як ви можете отримати більше інформації, глибше досліджуючи результати.
Дізнайтеся, як правильно сортувати поля зі стовпців розширеної таблиці дат. Це хороша стратегія для складних полів.
У цій статті я поясню, як знайти найпопулярніші продукти для регіону за допомогою обчислень DAX у LuckyTemplates, включаючи функції TOPN і CALCULATE.
Дізнайтеся, як використовувати вимірювання сміття для позначок низької потужності, які ви хочете ефективно включити у свою модель даних.