Пояснення контексту рядків у 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

Змініть формати дати за допомогою редактора Power Query

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

Power Query: об’єднайте файли з кількох папок

Power Query: об’єднайте файли з кількох папок

Дізнайтеся, як об’єднати файли з кількох папок у мережі, робочому столі, OneDrive або SharePoint за допомогою Power Query.

Обчисліть місячне ковзне середнє з початку року (з початку року) у LuckyTemplates

Обчисліть місячне ковзне середнє з початку року (з початку року) у LuckyTemplates

Цей підручник пояснює, як обчислити місячне ковзне середнє на базі даних з початку року за допомогою функцій AVERAGEX, TOTALYTD та FILTER у LuckyTemplates.

Створення таблиці дат у LuckyTemplates

Створення таблиці дат у LuckyTemplates

Дізнайтеся, чому важлива спеціальна таблиця дат у LuckyTemplates, і вивчіть найшвидший і найефективніший спосіб це зробити.

Мобільні звіти LuckyTemplates. Поради та методи

Мобільні звіти LuckyTemplates. Поради та методи

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

Звіти про професійну аналітику послуг у LuckyTemplates

Звіти про професійну аналітику послуг у LuckyTemplates

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

Оновлення Microsoft Power Platform | Microsoft Ignite 2021

Оновлення Microsoft Power Platform | Microsoft Ignite 2021

Ознайомтеся з основними оновленнями для Power Apps і Power Automate, а також їх перевагами та наслідками для Microsoft Power Platform.

Загальні функції SQL: огляд

Загальні функції SQL: огляд

Відкрийте для себе деякі поширені функції SQL, які ми можемо використовувати, наприклад String, Date і деякі розширені функції для обробки та маніпулювання даними.

Створення шаблону LuckyTemplates: керівництво та поради

Створення шаблону LuckyTemplates: керівництво та поради

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

Параметри полів і малі кратні в LuckyTemplates

Параметри полів і малі кратні в LuckyTemplates

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