Что такое self в Python: примеры из реального мира
Что такое self в Python: примеры из реального мира
В этом руководстве вы изучите метод оптимизации DAX с использованием функции UNION. В этом руководстве мы сравним производительность функции UNION с Power Query и другими методами объединения таблиц.
Функция объединяет две таблицы в одну, объединяя их строки и удаляя повторяющиеся строки.
Примером в этом руководстве является таблица Sales, разделенная на три таблицы для каждого года (2007, 2008, 2009).
Оглавление
Функция UNION в DAX
Откройте DAX Studio и запустите Server Timings и Query Plan.
Код DAX ниже используется в качестве примера:
После запуска кода перейдите на вкладку Server Timings . Вы можете видеть, что выполнение кода занимает в общей сложности 5,4 секунды. Большая часть времени выполнения была проведена в Storage Engine . Каждый из этих трех запросов содержит одну и ту же операцию, но разные годы.
После того как эти три запроса возвращены механизмом хранения, механизм формул выполняет операцию UNION, которую можно увидеть в плане логического запроса. План запроса также выполняет для вычисления общего объема продаж.
В плане физических запросов вы можете увидеть три кэша данных, содержащих операции, выполняемые за каждый год в таблице «Продажи».
Сравнение производительности DAX
Чтобы построить сравнение, давайте создадим меру Total Sales, используя исходную таблицу Sales.
Если вы запустите этот код и перейдете на вкладку Server Timings , вы увидите, что это значительно эффективнее, чем функция UNION.
Функция UNION занимает 97,9 КБ, тогда как новая мера занимает всего 1 КБ.
Когда вы используете UNION, DAX Engine возвращает огромный объем кэша данных обратно в Formula Engine. Это сильно нагружает оперативную память.
Поэтому, если вы имеете дело с моделью данных, содержащей более миллиона строк, не рекомендуется использовать функцию UNION.
Альтернативы функции UNION DAX
Вместо использования UNION в этом примере можно использовать три функции SUMX . То есть одна функция SUMX для каждого года.
Когда вы запустите этот код и перейдете на вкладку Server Timings, вы увидите, что время выполнения значительно ниже. Время увеличилось с 5400 мс до 33 мс при выполнении трех разных запросов.
Другой способ — добавить таблицу модели данных в Power Query или в сам источник данных.
Но лучший вариант — создать вычисляемую таблицу , которая будет выполнять объединение этих трех таблиц. Но у этого варианта есть свои плюсы и минусы.
Использование вычисляемой таблицы позволяет сократить общее время обработки по сравнению с выполнением добавления в Power Query. Однако это приведет к увеличению размера базы данных в VertiPaq.
Когда вы используете вычисляемую таблицу, вы создаете новую таблицу, которая объединяет три таблицы. Но эти три разделенные таблицы продолжат оставаться в базе данных.
В этом примере три таблицы потребляют в общей сложности 25 МБ. Если вы создадите вычисляемую таблицу, она займет еще 25 МБ в вашей оперативной памяти.
В таких деликатных случаях вам необходимо принять взвешенное решение о том, как лучше поступить.
Заключение
Функция UNION в DAX объединяет две таблицы в одну, что упрощает анализ данных. Он работает, беря две таблицы в качестве входных данных и возвращая новую таблицу, содержащую все строки из обеих входных таблиц. Однако эта функция имеет свои ограничения.
Функция UNION может работать медленнее, чем другие методы объединения данных, особенно если входные таблицы большие. Он также может занимать больше места в хранилище по сравнению с другими альтернативами.
Всякий раз, когда ситуация требует объединения таблиц, важно сначала взвесить все за и против, прежде чем принимать решение об использовании функции UNION. Ваши альтернативы включают функцию SUMX, таблицу модели данных или вычисляемую таблицу.
Всего наилучшего,
Что такое self в Python: примеры из реального мира
Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.
В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.
В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.
В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.
Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.
Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.
В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.
Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.
Что такое шлюз LuckyTemplates? Все, что тебе нужно знать