Як використовувати функцію ітерації в LuckyTemplates

Цей підручник навчить вас різномуі як ефективно використовувати їх у своїх розрахунках.

Я часто обговорюю, що обчислювані стовпці не потрібні під час виконання деяких розрахунків. Це через ітератори.

Ітератори або функції ітерації можуть допомогти вам виконати обчислення без фізичного розміщення результатів у таблиці.

Ця техніка може допомогти вам заощадити пам’ять, необхідну для завантаження вашого. У наступних розділах я покажу вам, як оптимізувати ваші обчислення за допомогою ітераторів.

Зміст

Розрахунок загального обсягу продажів за допомогою функції ітератора

Щоб почати, створіть новий показник для загальних витрат . Переконайтеся, що вибрано групу заходів, у якій ви хочете розмістити цю нову міру.

Натисніть Shift і Enter , щоб перейти на рядок вниз, перш ніж розмістити першу функцію ітерації, якою є .

У панелі формул LuckyTemplates ви вже можете побачити, що саме потрібно розмістити після функції, як пропонує IntelliSense. Для SUMX вам потрібно додати таблицю після нього.

Формула SUMX запускатиме логіку в кожному окремому рядку даної таблиці. Ось чому ітератори асоціюються з контекстом рядка . У межах міри ітератори можуть перетворювати формулу в контекст рядка.

Вам потрібно буде посилатися на таблицю Sales після функції SUMX . Щоб обчислити загальні витрати, потрібно помножити кількість замовлення на загальну вартість одиниці .

Нам взагалі не потрібно посилатися на створений новий стовпець. Загальні витрати є показником, і я можу ввести його в свою таблицю, щоб оцінити наші загальні витрати.

Тепер перетягніть вимірювання всередину таблиці, щоб побачити результати. Переконайтеся, що ви вибрали початковий контекст із фільтра «Місто» .

Ми можемо змінити початковий контекст нашого обчислення, клацаючи різні регіони, які ми хочемо переглянути.

Загальні витрати працюють подібним чином з точки зору початкового контексту. Початковий контекст застосовується до таблиці «Продажі», але потім у кожному з цих окремих результатів ми обчислюємо кількість замовлення, помножену на загальну вартість одиниці.

За лаштунками нашої моделі даних ми ввімкнули наш фільтр, і ми маємо контекст, що надходить з нашої таблиці Regions, і інший контекст, що надходить з нашої таблиці Date. Вони стікають до нашої таблиці Sales, яка фільтрується ітераційною функцією SUMX.

Оскільки функція SUMX віртуально оцінює кожен окремий рядок таблиці Sales , немає потреби у фізичному стовпці для результатів.

Після початкового контексту SUMX отримує добуток кількості замовлення та загальної вартості одиниці для кожного окремого рядка. Нарешті, він оцінює всі обчислені результати з усіх рядків.

Якщо ви помітили, початковий стовпець «Вартості» було створено через обчислюваний стовпець. Як я вже сказав, це непотрібно, оскільки ітератори вже можуть виконувати свою роботу. Ви можете видалити його, оскільки він може зайняти непотрібну пам’ять у вашій моделі.

Ітераційні формули запускають оцінки в кожному окремому рядку, а агрегатні формули – ні.

Це простий приклад, але ви можете бути більш просунутими і писати оператори IF і SWITCH. Крім того, вам не потрібно створювати фізичну таблицю; замість цього можна використовувати віртуальний.

Значна частина цієї інформації детально описана в, але це лише для того, щоб показати вам початок ітераційних функцій і як почати їх використовувати, коли це доречно.

Якщо ви відчуваєте потребу створити обчислюваний стовпець у своїй таблиці фактів, я можу майже гарантувати, що функція ітерації зробить цю роботу за вас.

Використання інших функцій ітератора DAX

Тепер я покажу вам інший приклад того, як ітератори можуть творити чудеса з вашими обчисленнями. Цього разу давайте обчислимо середню вартість.

Просто скопіюйте формулу загальних витрат і вставте її в новий показник. Вам просто потрібно змінити назву на Середні витрати , а потім використовуватизамість SUMX .

Нова формула працює за подібною логікою, оскільки вона оцінює кожен окремий рядок таблиці Sales . Крім того, вам все одно потрібно отримати добуток кількості замовлення та загальної вартості одиниці . Єдина відмінність тут полягає в тому, що замість суми формула обчислює середнє значення.

Тепер, якщо ви перенесете показник «Середні витрати» в таблицю, ви зможете побачити його порівняння з показником «Загальні витрати» .

Дивно, як ви можете запустити подібну логіку, просто змінивши функцію ітерації.

Додаткові методи оптимізації даних 

Щоб оптимізувати свою таблицю, ви можете видалити зайву інформацію, наприклад стовпець «Загальний дохід» .

Оскільки ви можете легко отримати середні витрати, вам більше не знадобиться стовпець Загальний дохід у вашій таблиці. Поки у вас є стовпці « Ціна за одиницю» та « Загальна вартість за одиницю» , усе гаразд.

Тепер ви можете замість цього створити нову міру для Total Sales (Iteration) за допомогою функції SUMX . Вам просто потрібно вказати таблицю продажів , а потім отримати продукт кількості замовлення та ціни за одиницю .

Після цього ви можете порівняти результати в стовпцях Загальні продажі та Загальні продажі (ітерація) . Вони обидва мають однакові результати, чи не так?

З точки зору продуктивності, немає великої різниці між використанням обчислюваних стовпців та ітераторів. Але коли мова йде про модель даних, функція ітератора може позбутися цілого стовпця та заощадити сотні рядків даних.

Крім того, ви можете видалити зайві стовпці, оскільки ітератори можуть обчислювати необхідні результати віртуально. Ця практика зробить ваш стіл набагато тоншим, а вашу модель – набагато швидшою. Обов’язково застосовуйте цей метод оптимізації у своїх власних розрахунках.

Висновок

Підсумовуючи, ітераційна функція оцінює кожен окремий рядок, тоді як агрегатори цього не роблять.

Буква X у кінці функції полегшує ідентифікацію ітераторів. Приклади включають SUMX , AVERAGEX ,,функції та інше.

Використання ітераційних функцій не призведе до створення додаткових фізичних таблиць . Це може допомогти вам заощадити пам’ять у LuckyTemplates.

Приклади для SUMX і AVERAGEX , які я розглянув, є простими сценаріями. Пізніше ми перейдемо до більш просунутих, додавши оператори IF і оператори SWITCH .

Все найкраще!




*****







Поле пошуку PowerApps: як додати та налаштувати

Поле пошуку PowerApps: як додати та налаштувати

Дізнайтеся, як створити поле пошуку PowerApps з нуля та налаштувати його відповідно до загальної теми вашої програми.

Приклад SELECTEDVALUE DAX – вибір розділювача врожаю

Приклад SELECTEDVALUE DAX – вибір розділювача врожаю

Збирайте або фіксуйте значення в мірі для повторного використання в іншій мірі для динамічних обчислень за допомогою SELECTEDVALUE DAX у LuckyTemplates.

Історія версій у списках SharePoint

Історія версій у списках SharePoint

Дізнайтеся, як історія версій у SharePoint може допомогти вам побачити еволюцію певних даних і скільки змін вони зазнали.

Вибір шістнадцяткових кодів кольорів для звітів LuckyTemplates

Вибір шістнадцяткових кодів кольорів для звітів LuckyTemplates

Ось інструмент для створення звітів і візуальних матеріалів, засіб вибору шістнадцяткових кодів кольорів, за допомогою якого можна легко отримати кольори для звітів LuckyTemplates.

Динамічний роздільник дат у LuckyTemplates із використанням таблиці Менделєєва

Динамічний роздільник дат у LuckyTemplates із використанням таблиці Менделєєва

Ви можете легко відобразити діапазон дат як роздільник у своєму звіті за допомогою таблиці періодів. Використовуйте M-код, щоб створити динамічний роздільник дат у LuckyTemplates.

Таблиці пропорцій і частот в Excel

Таблиці пропорцій і частот в Excel

Збирався зануритися в частотні таблиці в Excel, а також у таблиці пропорцій. Добре подивіться, що це таке і коли їх використовувати.

Як інсталювати DAX Studio та табличний редактор у LuckyTemplates

Як інсталювати DAX Studio та табличний редактор у LuckyTemplates

Дізнайтеся, як завантажити та інсталювати DAX Studio та Tabular Editor 3 і як налаштувати їх для використання в LuckyTemplates і Excel.

Візуалізація карти форми LuckyTemplates для просторового аналізу

Візуалізація карти форми LuckyTemplates для просторового аналізу

Цей блог містить візуалізацію Shape Map для просторового аналізу в LuckyTemplates. Я покажу вам, як ви можете ефективно використовувати цю візуалізацію з її функціями та елементами.

Фінансова звітність LuckyTemplates: розподіл результатів за шаблонами в кожному окремому рядку

Фінансова звітність LuckyTemplates: розподіл результатів за шаблонами в кожному окремому рядку

У цьому підручнику я демонструю унікальну ідею щодо фінансової звітності, яка полягає в розподілі результатів для попереднього визначення шаблонів таблиць у LuckyTemplates.

Вимірювання DAX у LuckyTemplates за допомогою розгалуження вимірювання

Вимірювання DAX у LuckyTemplates за допомогою розгалуження вимірювання

Створіть показники DAX у LuckyTemplates, використовуючи наявні показники або формули. Це те, що я називаю технікою розгалуження міри.