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

Щоразу, коли ви чули пояснення того, як використовувати змінні LuckyTemplates DAX, ви, можливо, чули фразу «змінні — це константи». Це здається простим, але в цих словах є чимала частка нюансів і складності. У цьому блозі я розповім вам, що означає ця фраза, і наслідки для того, як обчислюються ваші показники. Розуміння цих концепцій має важливе значення для того, щоб ваші заходи принесли бажані результати. Ви можете переглянути повне відео цього підручника внизу цього блогу.

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

Є дві частини змінної. Ось цеоголошення, де ви ініціалізуєте змінну; ви даєте йому назву, а потім значення. Інший — це оператор RETURN , який потім викликає принаймні одну зі змінних, які ви оголошуєте. Це не схоже на круглі дужки, де вам потрібно мати один оператор RETURN для кожної змінної, але вам потрібно мати принаймні один оператор RETURN, якщо ви оголосили будь-які змінні.

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

Зміст

Застосування змінних LuckyTemplates DAX до показників

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

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

Скажімо, ми хочемо отримати загальний обсяг продажів за 2020 рік. У цьому наборі даних у нас є продажі за 2019, 2000 та 2021 роки. Щоб отримати обсяг продажів за 2020 рік, ми маємо застосувати дуже просту умову фільтра, який. Отже, ми змінюємо контекст нашого фільтра. У нас є вимірювання загального обсягу продажів, і наш рік – 2020.

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

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

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

Тепер, якщо ми хочемо застосувати до цього змінні, ось дещо переглянута версія попереднього вимірювання, де я створив змінну під назвою TotSales і просто встановив її рівною нашому вимірюванню загальних продажів.

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

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

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

Оголошується змінна TotSales, яка отримує значення загального обсягу продажів. Скажімо, ми знаходимося в рядку Молдови, і ця змінна отримує значення 2,35 мільйона. Тепер пам’ятайте, що значення не може змінитися, доки не буде викликано оператор RETURN. Отже, коли ми переходимо до обчислення нашого показника в змінній RESULT , ми отримуємо TotSales, який є постійною величиною 2,35 мільйона.

А потім ми застосовуємо до нього наш контекст фільтра, Dates[Year] дорівнює 2020 , але це не має значення, оскільки ця константа не може змінитися. Отже, ми можемо сказати, що Dates[Year] дорівнює 2019, 2021 і так далі, це все одно буде ті самі 2,35 мільйона, тому що цей TotSales тепер зафіксовано як константа до RETURN .

А коли він повертається, ми переходимо до наступного рядка, і змінна вибирає значення Нідерландів (4,4 мільйона). Процес повторюється, фіксуючи це як константу до оператора RETURN. Ми отримуємо саме те, що ми маємо в вимірюванні загальних продажів, а не в вимірюванні, яке фільтрується до 2020 року.

Отже, ви можете подумати, що це насправді не дуже корисно. У цьому контексті це не так. Насправді це поширена помилка, коли люди спочатку починають використовувати змінні . Вони поміщають змінну в першу частину виразу оператора CALCULATE. Як правило, це не дасть результату, який вони шукають, оскільки він фіксує це як постійне значення.

Використання змінних LuckyTemplates DAX в ітераторах

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

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

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

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

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

Я хочу звернути увагу на вівторок, 15 жовтня, як на яскравий приклад. Бажаним результатом було подивитися на цю дату. У понеділок був День Колумба, тому це було свято, а наступні попередні дні були неділя та субота. Отже, датою, яку ми хотіли отримати, було 11 жовтня, це була п’ятниця.

Якщо ви подивитеся на стовпець Попередній день/Без вихідних/Без свят для цього, вівторок був 11-м. Те саме стосується понеділка, неділі та суботи. Ось що ми хочемо отримати в результаті.

Поруч із таблицею вище наведено показник, який ми використали для цього випадку. Ми оголосили змінну, яка була обраною датою ( VAR SelDate ), і це було простодати. Він вибере 15 жовтня в нашій змінній, а потім утримає це як константу до оператора RETURN.

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

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

У нас є вибрана дата, а потім ми фільтруємо все, що до неї. Ми беремо максимум цієї відфільтрованої таблиці. Отже, ми отримуємо максимум 15 числа, якщо вилучити всі інші умови, це п’ятницю 11 числа. Потім, якщо ми перейдемо до оператора RETURN, він почнеться заново з наступного дня, 16 числа. Він просто продовжує перебирати таблицю, доки не дійде до кінця даних.

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




Висновок

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

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

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

Leave a Comment

Змініть формати дати за допомогою редактора 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

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