Вирішіть задачу аналізу даних за допомогою прискорювача LuckyTemplates
Відточіть свої навички розробки звітів, приєднавшись до змагання з аналізу даних. Прискорювач може допомогти вам стати суперкористувачем LuckyTemplates!
У цьому посібнику ви дізнаєтеся, якфункція працює в DAX за допомогою панелі «Таймінг сервера» та її плану запитів.
Функцію CROSSJOIN можна використовувати для створення декартового добутку двох таблиць. Декартовий добуток - це набір усіх можливих комбінацій рядків з двох або більше таблиць.
Нижче буде використано в цьому підручнику.
Ви бачите, що функція CROSSJOIN призводить до поєднання бренду продукту та кольору, навіть якщо деякі з цих комбінацій не існують у . У результаті виходить таблиця із 176 рядками.
На вкладці «Час сервера» перший запит отримує бренд із таблиці «Продукція», тоді як другий запит отримує колір.
Перший рядок повертає результат у вигляді таблиці. Другий і третій рядки в таблиці продуктів сканують колір і бренд відповідно.
Після отримання даних Formula Engine виконує ітерацію по таблиці та створює комбінацію обох стовпців. CrossApply у рядку 2 відповідає функції CROSSJOIN.
Зміст
Фільтрувати результати CROSSJOIN у DAX
Ви можете використовуватифункція для фільтрації результатів CROSSJOIN. Наприклад, ви можете використовувати його, щоб показувати лише продукти червоного кольору.
Однак пам’ятайте, що ви не можете розмістити функцію CROSSJOIN в аргументі FILTER .
Тепер, якщо ви запустите цей код і перевірите вкладку Server Timings, ви побачите, що контекст фільтра не відображається як речення WHERE у запиті.
Функцію CROSSJOIN можна вирішити лише за допомогою . Код не працює, оскільки він міститься між FILTER і функціями, які можна вирішити лише за допомогою . Таким чином, CROSSJOIN призвело до розриву циклу між цими двома функціями.
Тому вам потрібно розмістити функцію FILTER в аргументі CROSSJOIN, щоб фільтр працював.
Тепер, якщо ви запустите цей код і перевірите вкладку Server Timings, ви побачите, що функція FILTER тепер представлена пропозицією WHERE.
У плані логічного запиту можна побачити, що замість оператора фільтра використовується фільтр VertiPaq .
Це пояснюється тим, що нову умову фільтра в коді можна передати в Storage Engine. Після повернення результату в механізмі формул виконується аргумент CROSSJOIN.
Оператор IN
Ви також можете використовуватизамість знака рівності в аргументі FILTER.
Оператор IN можна використовувати в аргументі виразу функції FILTER, щоб фільтрувати таблицю на основі того, чи міститься значення в списку значень чи всередині таблиці.
Коли ви використовуєте комбінацію FILTER – IN , механізм DAX має виконати фільтр IsEmpty , який підтверджує, чи є колір продукту червоним чи чорним.
Додайте стовпець «Загальні продажі» в результат CROSSJOIN DAX
Інші функції також можна використовувати разом із CROSSJOIN.
Ви можете використовувати цю функцію, щоб додати ще один стовпець у свою таблицю, а потім написати аргумент інформації, яку ви хочете показати.
У цьому прикладі давайте додамо стовпець «Загальні продажі».
Коли ви запускаєте код, результати все одно повертатимуть 176 рядків. Однак деякі комбінації матимуть порожні значення в стовпці «Загальні продажі». Це тому, що ці комбінації не мають відповідного рядка в таблиці «Продажі».
На вкладці «Час сервера» код спочатку вибирає бренд і колір. Потім підсумовується добуток кількості та чистої ціни продажу.
У цьому випадку механізм DAX спочатку отримує всі комбінації бренду та кольору, які існують у таблиці Products, а також ті, що мають відповідний рядок у таблиці Sales. Потім окремо отримує стовпці бренду та кольору.
У плані фізичного запиту ви можете побачити два кеші даних; один для марки, а інший для кольору. Коли ви помножите їхні загальні записи, ви отримаєте 176 рядків.
Потім у цих 176 рядках виконується пошук, щоб побачити, чи мають вони відповідне значення в таблиці Sales. Ви бачите, що лише 111 рядків мають значення. Інші 65 рядків повертатимуть порожні значення.
Крім того, якщо ви додасте більше стовпців в аргумент CROSSJOIN, результат також поверне більше рядків.
Висновок
Функція DAX CROSSJOIN створює нову таблицю, поєднуючи рядки з однієї таблиці з рядками з іншої. Ця функція подібна до пропозиції CROSS JOIN у SQL і може використовуватися для створення складніших запитів у вашій моделі даних.
Він може створити список усіх можливих комбінацій значень з двох або більше таблиць. Його також можна використовувати для швидкого створення нової таблиці з великою кількістю рядків, що може бути корисним для аналізу даних, тестування або порівняльного аналізу продуктивності.
Загалом функція CROSSJOIN є зручним інструментом у сценаріях, коли потрібно об’єднати дані з кількох таблиць або створити список усіх можливих комбінацій.
Все найкраще,
Відточіть свої навички розробки звітів, приєднавшись до змагання з аналізу даних. Прискорювач може допомогти вам стати суперкористувачем LuckyTemplates!
Дізнайтеся, як обчислювати поточні підсумки в LuckyTemplates за допомогою DAX. Поточні підсумки дозволяють вам не потрапити в окремий результат.
Зрозумійте концепцію змінних у DAX у LuckyTemplates і значення змінних для обчислення показників.
Дізнайтеся більше про настроюваний візуал під назвою LuckyTemplates Slope chart, який використовується для показу зростання/зменшення для одного чи кількох показників.
Відкрийте для себе кольорові теми в LuckyTemplates. Це необхідно для того, щоб ваші звіти та візуалізації виглядали та працювали без проблем.
Розрахувати середнє значення в LuckyTemplates можна кількома способами, щоб отримати точну інформацію для ваших бізнес-звітів.
Давайте заглибимося в стандартну тематику LuckyTemplates і розглянемо деякі функції, вбудовані в саму програму LuckyTemplates Desktop.
У цьому підручнику ви дізнаєтесь, як створити спеціальну легенду у візуальній карті LuckyTemplates для відображення бажаних кольорів і сегментації.
Дізнайтеся, як налаштувати фонове зображення LuckyTemplates за допомогою PowerPoint. Це одна з моїх технік створення звітів LuckyTemplates.
У цьому підручнику ми збираємося зануритися в аналіз закупівель в організації, використовуючи функцію взаємодії та потужність моделі даних.