Пояснення контексту рядків у LuckyTemplates

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

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

Як підсумок, ми обговорили, що існує три типи контекстів: контекст оцінки , контекст фільтра та контекст рядка .

Будь-який обчислення DAX виконується в два етапи. Контекст оцінки завжди йде першим, а потім він розгалужується або на контекст фільтра, або на контекст рядка, залежно від того, яку функцію ви пишете.

Зміст

Розуміння контексту рядка

Контекст рядка — це ітерація.

Я збираюся показати вам пару прикладів, і, сподіваюся, це допоможе вам зрозуміти, що насправді робить контекст рядків у бек-енді.

Контекст рядка VS Контекст фільтра

У нашому прикладі формула обчислюється черезоскільки це просте агрегування. Він підсумовує весь стовпець «Кількість» після встановлення всіх початкових фільтрів.

Пояснення контексту рядків у LuckyTemplates

Початковий фільтр у таблиці «Продажі» — це продукт 1. Підсумовуючи кожну продану кількість, ми отримуємо 165.

Пояснення контексту рядків у LuckyTemplates

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

Пояснення контексту рядків у LuckyTemplates

Приклади ітераційних функцій включають SUMX ,, MANYX і COUNTX . У цьому випадку ми будемо використовувати SUMX .

Функція SUMX попросила мене додати таблицю, тому я збираюся додати таблицю Sales. А потім він запитав у мене вираз, тому я просто вставив у стовпець «Кількість».

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

Пояснення контексту рядків у LuckyTemplates

Тут ми отримуємо точно такі ж результати, тому що в кінцевому підсумку обчислення однакові. Просто розрахували по-іншому.

Пояснення контексту рядків у LuckyTemplates

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

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

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

У цьому випадку ми вказуємо таблицю Sales, а потім переглядаємо кожен рядок у стовпці Quantity.

Пояснення контексту рядків у LuckyTemplates

Під час початкової оцінки продукт 1 визначатиметься тим, що відфільтровано в стовпці Product ID. Потім він підраховує рядки під стовпцем «Кількість». Щоразу, коли він потрапляє на рядок, він входить і зберігає результат у пам’яті.

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

Пояснення контексту рядків у LuckyTemplates

Навіщо використовувати контекст рядка чи функцію ітерації?

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

Пояснення контексту рядків у LuckyTemplates

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

Пояснення контексту рядків у LuckyTemplates

Це тому, що для кожного рядка ми пишемо різну логіку. Після перегляду кожного окремого рядка в стовпці кількості ми множимо значення на два, а потім воно зберігається в пам’яті. Наприкінці цього ми робимо SUM .

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

Пояснення контексту рядків у LuckyTemplates

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

Ключові примітки щодо розуміння контекстів у LuckyTemplates

Щоб повторити всі ключові речі про контекст, пам’ятайте, що обчислення в DAX працює за допомогою двоетапного процесу. Першим кроком завжди є контекст оцінювання . Дуже важливо, який контекст оцінювання .

Коли ви зрозумієте, що таке контекст оцінювання для будь-якого окремого результату, DAX розгалужується двома різними шляхами. Він може обчислювати через контекст фільтра або через контекст рядка.

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

Коли ви станете трохи більш просунутими в DAX, ви зможете мати кілька контекстів в одній функції. Але перш ніж туди потрапити, вам справді потрібно зрозуміти, що таке контекст у його найпростішій формі.

Висновок

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

Ось кілька рекомендованих посилань, щоб дізнатися більше про застосування контексту рядків у LuckyTemplates:

Контекст оцінювання – (1.8) Посібник DAX для початківців

Контекст фільтра – (1.9) Посібник DAX для початківців

Насолоджуйтесь роботою над цим.


Що таке Power Query та мова M: детальний огляд

Що таке Power Query та мова M: детальний огляд

Цей підручник містить огляд редактора Power Query і мови M на робочому столі LuckyTemplates.

Створення звіту з розбивкою на сторінки: додавання текстів і зображень

Створення звіту з розбивкою на сторінки: додавання текстів і зображень

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

Функція автоматизації SharePoint | Вступ

Функція автоматизації SharePoint | Вступ

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

Вирішіть задачу аналізу даних за допомогою прискорювача LuckyTemplates

Вирішіть задачу аналізу даних за допомогою прискорювача LuckyTemplates

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

Підсумки в LuckyTemplates за допомогою DAX

Підсумки в LuckyTemplates за допомогою DAX

Дізнайтеся, як обчислювати поточні підсумки в LuckyTemplates за допомогою DAX. Поточні підсумки дозволяють вам не потрапити в окремий результат.

Змінні LuckyTemplates Dax постійні: що це означає?

Змінні LuckyTemplates Dax постійні: що це означає?

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

Діаграма нахилу LuckyTemplates: огляд

Діаграма нахилу LuckyTemplates: огляд

Дізнайтеся більше про настроюваний візуал під назвою LuckyTemplates Slope chart, який використовується для показу зростання/зменшення для одного чи кількох показників.

Колірні теми LuckyTemplates для однорідної візуалізації

Колірні теми LuckyTemplates для однорідної візуалізації

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

Обчислення середнього значення в LuckyTemplates: виділення результатів у будні чи вихідні за допомогою DAX

Обчислення середнього значення в LuckyTemplates: виділення результатів у будні чи вихідні за допомогою DAX

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

Шаблони LuckyTemplates | Стандартне оформлення робочого столу LuckyTemplates

Шаблони LuckyTemplates | Стандартне оформлення робочого столу LuckyTemplates

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