Це обговорення базується на запитанні на форумі підтримки LuckyTemplates.
Користувач LuckyTemplates хотів підрахувати кількість співробітників, які були найняті протягом певних періодів часу.
Для цієї проблеми важливо зрозуміти, як налаштовані дані. Ви повинні мати імена співробітників і дати, коли вони почали і залишили, серед інших деталей. Це загальні дані, пов’язані з персоналом.
Щоб ця техніка працювала, ви повинні використовувати неактивні зв’язки та тип формули, яка дає змогу підраховувати числа між датами в одному рядку.
Ви бачите, що в таблиці використовуються номери співробітників. Вони корисні, оскільки бази даних кадрів зазвичай містять багато інформації.
Є також дата початку та дата завершення. Дата завершення повертається порожньою, якщо особа все ще є співробітником компанії.
Тепер, щоб дізнатися кількість співробітників за певний період часу, вам спочатку потрібно налаштувати неактивні відносини у вашій моделі.
Якщо у вашій таблиці фактів є кілька дат, вам потрібно мати неактивні зв’язки, щоб ви могли опрацьовувати інформацію чи логіку між указаними датами.
Наприклад, якщо ви хочете обчислити кількість співробітників, які почали працювати протягом певного місяця, вам знадобиться активний зв’язок між таблицею «Дата» та таблицею «Чисельність персоналу».
Використання неактивних зв’язків дозволяє вибрати, які елементи у ваших фактах і таблиці пошуку ввімкнути, щоб обчислення працювали.
Вибір контексту
У цьому прикладі дати мають контекст місяця та року.
Ви можете змусити таблицю відображати контекст дня, просто змінивши значення під панеллю візуалізацій.
Цю таблицю також можна перетворити на візуалізацію:
Діаграма з контекстом дня має більш детальний рівень деталізації порівняно з діаграмою з контекстом місяця та року.
Формула поточного персоналу
Кожен результат для рядка Поточний персонал слід розраховувати окремо.
Вам потрібно виокремити кожне значення та пропрацювати логіку, що стоїть за ним.
Щоб краще зрозуміти цю концепцію, як приклад буде використано рядок із травнем 2018 року:
Тепер, щоб обчислити кількість поточного персоналу, вам потрібно використовувати події у шаблоні формули прогресу:
Функція COUNTROWS
Ця функція підраховує кількість співробітників у кожному рядку в таблиці Staff Population.
Функція VALUES і оператор FILTER
Давайте тепер зосередимося на функціях і операторах у формулі.
Для першої логіки VALUES у функції FILTER повторюють кожну окрему дату початку в таблиці Staff Population:
Якщо дата початку менша або дорівнює даті, вона буде оцінена як TRUE.
Для рядка травня 2018 року максимальна дата – 31 травня. Перша логіка дає вам список усіх співробітників, у яких дата початку роботи менша за останній день травня 2018 року.
Давайте тепер розглянемо другу логіку у формулі:
Він повторює кінцеві дати кожного рядка в таблиці Staff Population, що містить дати початку, які були збережені після запуску першої логіки.
Якщо кінцева дата більша або дорівнює даті, вона буде оцінена як TRUE.
У цьому прикладі, якщо кінцева дата перевищує перше число травня, персонал або працівник все ще існує протягом зазначеного періоду часу.
Функція ISBLANK
Функція оцінює, чи дата завершення пуста.
Якщо кінцева дата повертається порожньою, це означає, що співробітники все ще працюють.
Таким чином, для другої логіки у формулі є дві умови. По-перше, потрібно оцінити, чи кінцева дата перевищує або дорівнює першому дню місяця; і по-друге, якщо він ПУСТИЙ.
Після того, як формула повторює ці дві логіки, вона підраховує решту даних у таблиці штату.
FILTER у функції змінює контекст обчислення.
Висновок
У цьому підручнику описано, як можна підрахувати кількість поточного персоналу за кілька дат за допомогою функцій COUNTROWS і FILTER у LuckyTemplates.
Підводячи підсумок, оператори FILTER створюють віртуальну таблицю, що містить дані, які відповідають критеріям, що оцінюються. Потім функція COUNTROWS підраховує решту даних, що дає кількість поточних працівників за певні періоди часу.
Щоб ця техніка працювала, потрібні неактивні стосунки. Вони переконаються, що ви спочатку переглядаєте кожного співробітника, а потім працюєте з відфільтрованими даними. Цей метод гарантує правильну кількість персоналу на дату. Активні відносини дали б неправильний розрахунок.
Сценарії з кількома датами можуть бути дуже заплутаними, коли ви дивитеся в LuckyTemplates. Завдяки цьому посібнику ви краще зрозумієте, як використовувати цю техніку у своїх власних моделях.