tabular editor что это
Стоит ли использовать табличную модель SSAS?
Нельзя просто так взять и ответить на этот вопрос, не приняв во внимание целый ряд факторов.
Многие думают, что необходимо переходить на табличную модель, ибо она новее и лучше. Но часто это нецелесообразно или даже невозможно в принципе. Однако поговорим об этом чуть позже.
Многомерная модель
Многомерная база данных имеет определенную структуру и позволяет нам генерировать отчеты очень быстро. Когда-то, для создания многомерных баз данных, многомерная модель была единственным решением. Эта модель не менялась со времен SQL Server 2005. Если посмотреть что нового в каждом выпуске Analysis Services, то станет ясно, что большинство новшеств связано именно с табличной моделью.
Табличная модель
Табличная модель появилась в SQL Server 2012 и активно развивается, а каждая последующая версия включают новые возможности.
Табличная модель работает на другом движке (xVelocity) и она разработана для быстрого выполнения колоночных запросов, потому что использует колоночное хранение (многомерные модели используют строковое хранение), в дополнение к хорошему сжатию данных. Данные хранятся в оперативной памяти (режим in-memory), поэтому очень важно, чтобы на сервере было много памяти и очень быстрый процессор. Диски для табличной модели не так важны. Одним из основных преимуществ табличной модели является то, что некоторые запросы в ней работают быстрее (например, очень быстро работают с измерениями на основе distinct count) и она имеет высокую степень сжатия — 1/10 (ниже приведена ссылка с описанием принципа сжатия), в то время как в многомерной модели лишь 1/3. Степень сжатия указана примерная, разумеется, она может колебаться, в зависимости от данных.
Аппаратная часть
Следует отметить, что аппаратная часть, используемая для многомерных баз данных, в большинстве случаев не может использоваться для табличной модели. Табличная модель напрямую зависит от объема оперативной памяти. Чем больше памяти, тем выше производительность. Если памяти будет недостаточно, табличная модель просто перестанет работать, без всяких предупреждений.
Частота процессора также очень важна для табличной модели.
Еще раз: для табличной модели диски имеют второстепенное значение, однако очень важен объем ОЗУ и скорость ЦП.
Так сколько же нужно памяти? Есть такое выражение — чем больше, тем лучше! Но оно очень абстрактное и невозможно для понимания, хотелось бы чего-то более осязаемого, правда? С одной стороны есть простая формула /10*2, но не нужно забывать, что есть пользователи, которые будут подключаться к табличной БД, а значит, SSAS нужна еще память — для кэширования запросов, так же нужна память для ОС и кэша ядра SQL Server (если SSAS и реляционная БД находятся на одной машине). В табличной модели есть возможность создавать вычисляемые таблицы и колонки, следовательно, они будут увеличивать размер табличной БД, не смотря на то, что реляционная БД осталась в прежних размерах.
Почему в формуле результат деления размера БД умножается на два? Потому что по умолчанию процессинг выполняется в буфере (по сути, рядом с основной моделью создается временная копия табличной БД), в то время, как основная модель продолжает существовать и работать в неизменном виде (до удачного завершения процессинга, после которого данные основной модели заменяются на данные из буфера, а в случае ошибки все остается без изменений). Поэтому будьте внимательны, при выборе редакции SQL Server. Если размер табличной БД получается больше 5 ГБ, то редакция Standard (с ограничением в 16 ГБ для SSAS, в которые входит и кэш), скорее всего, не подойдет! При недостатке кэша будут жуткие тормоза.
Более подробные статьи об объеме необходимой памяти можно посмотреть здесь и здесь
Статистика по использованию табличных и многомерных моделей
48%), на тему «Какую модель вы используете — табличную или многомерную?»:
Переход
Если вы уже используете многомерную модель и она устраивает, то лучше на ней и остаться. Если есть основания полагать, что табличная модель может решить ваши потребности, то есть смысл задуматься о переходе. Но переход от многомерной к табличной модели — непростая задача. В основном все придется делать вручную и легкого способа перехода с помощью волшебного конвертера не существует. Можно создать специализированные средства для перехода, используя такие инструменты как SSIS, PowerShell или другие.
Так же следует понимать, что в многомерных моделях есть функционал, который не поддерживается в табличных моделях, например — Обратная запись.
Полный список неподдерживаемого в табличных моделях функционала, в сравнении с многомерной моделью, можно посмотреть в официальной документации. В этой статье рассказывается о некоторых способах эмуляции функционала.
Обратите на это внимание, прежде чем начинать переход.
Новый проект
Для новых проектов обычно рекомендуют использовать табличную модель, если, конечно, не требуется функционал, который поддерживается только в многомерной модели. Для тех, кто раньше не сталкивался с аналитикой, табличная модель будет более понятна, потому что похожа на обычную реляционную БД. К тому же, тех функций, что она поддерживает, в большинстве случаев достаточно для полноценной работы.
Рекомендации
Если Вы все же решитесь использовать табличную модель, то позвольте дать совет как не наступить на грабли.
В табличной модели есть вычисляемые столбцы. С их помощью в любое из измерений можно добавить поле, которое отсутствует в реляционной БД, и прописать формулу расчета. Например, добавить в таблицу Клиенты поля с названиями страны и области, которые хранится в соседней таблице. Вычисляемы столбцы хранятся в табличной БД и заполняются в момент процессинга.
Казалось бы — красота, логика хранится в метаданных модели, не нужно исправлять представления для добавления поля, но есть нюанс. Чтобы его понять, давайте посмотрим на на этапы процессинга:
В этой статье на пальцах рассказывается за счет чего происходит сжатие данных.
Announcing public preview of external tools in Power BI Desktop
Organizations embracing a data culture create semantic models to serve as the single source of truth for the enterprise. With the sophisticated data modeling capabilities in Power BI, customers build enterprise-grade semantic models directly into Power BI datasets, which are then visualized on Power BI reports and dashboards.
With the announcement of read/write XMLA endpoints in Power BI Premium, Analysis Services tools and processes now work with datasets in the Power BI service. Power BI has inherited a large ecosystem of developers, partners, BI tools, and solutions built up over many decades. Today, we are further enabling external tools to work with Power BI datasets, this time from within the Power BI Desktop authoring experience.
We are excited to announce the public preview of external tool support in Power BI Desktop providing the following benefits.
The External Tools ribbon contains buttons for external tools installed on the machine and registered with Power BI Desktop.
Please see this document for details on how set up external tools on your environment, supported write operations, and even how to register your own tools!
The following open-source, community tools work as external tools with Power BI Desktop. Each tool’s respective installer registers it with Power BI Desktop.
Tabular Editor
Visit the Tabular Editor website to download the installer.
Tabular Editor enables BI professionals to easily build, maintain and manage tabular models using an intuitive, lightweight editor. A hierarchical view shows all objects in your tabular model. They are organized by display folders, with support for multi-select property editing and DAX syntax highlighting.
Primary tool author: Daniel Otykier
DAX Studio
Visit the DAX Studio website to download the installer.
DAX Studio is widely respected as the most complete tool for DAX authoring, diagnosis, performance tuning and analysis. Features include object browsing, integrated tracing, query execution breakdowns with detailed statistics, DAX syntax highlighting and formatting.
Primary tool author: Darren Gosbell
ALM Toolkit
Visit the ALM Toolkit website to download the installer.
ALM Toolkit is a schema compare tool for Power BI datasets used for application lifecycle management (ALM) scenarios. Perform easy deployment across environments and retain incremental refresh historical data. Diff and merge metadata files, branches and repos. Reuse common definitions between datasets.
Primary tool author: Christian Wade
In addition, Power BI Report Builder is also planned to soon make an appearance on the External Tools ribbon, so pixel perfect paginated reports can be authored without having to deploy datasets to the Power BI service.
The Power BI group is grateful to Daniel Otykier who created the external tools ribbon as part of the Power BI Contributor Program. We are amazed at the quality of Daniel’s work and his unwavering determination to empower the Power BI community to achieve more. If you see Daniel, please thank him yourself!
Lastly, this recording of the Microsoft Business Applications Summit 2020 Power BI keynote on Modern Enterprise BI discusses the benefits external tools in Power BI Desktop and includes a demonstration of Tabular Editor and ALM Toolkit starting at 5 minutes, 40 seconds. Enjoy!
Начинаем изучать моделирование с табличных моделей служб аналитики, часть 1
Работа с SSAS Tabular
Когда в 2010 году специалисты Microsoft реализовали механизм выполнения в памяти аналитики xVelocity, это событие стало значительной вехой, определившей путь дальнейшего развития бизнес-аналитики и управления данными. С появлением этой технологии изменяются сами методы хранения и использования данных, и именно в xVelocity заложены основы продукта SASS Tabular. В данной статье, открывающей серию, посвященную конструированию и использованию табличных моделей, я покажу, как создается модель и как анализируются данные. В последующих статьях мы рассмотрим более мощные средства, обеспечивающие решение указанных проблем в промышленных масштабах:
Часть 2 – «Easy DAX — осваиваем выражения анализа данных»;
Часть 3 – «Управление табличной моделью»;
Часть 4 – «Deep Dive DAX — решение сложных задач бизнеса с помощью выражений анализа данных».
Почему мы выбираем табличный формат?
На сервере, располагающем достаточным объемом памяти и оснащенном мощным процессором, Tabular SASS может функционировать с весьма высокой скоростью. Технология xVelocity, известная также как VertiPaq, представляет собой «движок», приводящий в действие как Tabular, так и Power Pivot. Не вдаваясь в технические тонкости, можно сказать, что она легко оперирует рядом фундаментальных принципов, касающихся работы с данными, обеспечивая тем самым высокую производительность. Тем, кто работает с базами данных SQL Server, известно, что просмотр таблиц происходит гораздо быстрее, если столбцы, используемые в запросе, индексируются. Tabular переводит этот принцип на следующий уровень.
Хранилище столбцов xVelocity в сущности создает особый индекс для каждого столбца и затем сжимает данные, отбрасывая избыточные и разреженные значения. В отличие от других методов сжатия, метод хранения для каждого столбца обеспечивает независимость данных от содержимого смежных столбцов. Применение данного подхода при обработке цифровых, обозначающих даты, а также коротких текстовых значений позволяет резко сократить объем хранимых данных. Все сжатые данные загружаются в память, так что запросы не отражаются на числе операций обмена с диском, и результаты возвращаются оперативно.
На протяжении шестнадцатилетней истории многомерных служб Analysis Services платформа обогатилась большим числом функций и возможностей, призванных обеспечить удовлетворение ряда специфических потребностей бизнеса. Но ведь «более современный» не всегда означает «совершенный». Компонент SASS Tabular не был задуман как полноценная замена многомерных аналитических служб. Он представляет собой модернизированную платформу для подготовки аналитических отчетов и исследования данных. Tabular — это в корне переработанная платформа, которая играет важную роль в современном бизнесе и имеет большой задел на будущее. Она подобна болиду гонки «Формула 1» без держателей для чашек и подогрева сидений — это просто машина для очень быстрой езды. В вашем распоряжении имеется целый ряд публикаций и ресурсов, которые помогут сопоставить оба варианта и определить, какой из них наилучшим образом соответствует вашим потребностям. Думаю, неплохо было бы провести тест-драйв для табличного формата.
Создайте табличный проект
Возможность работать с табличными проектами предоставляют такие редакции версий SQL Server 2012 и 2014, как Developer, Business Intelligence и Enterprise. Компонент SQL Server Data Tools for BI устанавливается при загрузке SQL Server 2012. Если вы используете SQL Server 2014, установите любую версию пакета Visual Studio 2012 или 2013, а затем надстройку SSDT-BI. Кроме того, на вашей системе должны быть установлены электронные таблицы Excel 2010 или 2013. Для дальнейшей работы вам потребуется демонстрационная база данных AdventureWorksDW2012 или AdventureWorksDW2014. Откройте окно набора инструментов SSDT и создайте новый табличный проект аналитических служб (см. экран 1).
Экран 1. Новый табличный проект аналитических служб в?Visual Studio 2013 |
Уникальная особенность взаимодействия с конструктором Tabular состоит в том, что вы постоянно подключены к действующей табличной модели. Эта ситуация отличается от работы в условиях неподключения при взаимодействии с проектами на базе многомерных кубов, поскольку в первом случае вы работаете с данными и немедленно видите результаты внесенных в проект изменений. При развертывании в рабочих сетях вы можете управлять небольшим подмножеством производственных данных, пропустив содержимое крупных таблиц через соответствующие фильтры и в дальнейшем формируя разделы. Я расскажу о выделении разделов в одной из следующих статей серии.
Когда вы будете создавать свой проект, система предложит вам табличный экземпляр Analysis Services для хранения базы данных рабочей области. В идеале речь должна идти о локальном экземпляре или о сервере, не вовлеченном в процесс производства, где вы будете обладать исключительным правом на управление вашей базой данных рабочей области. В качестве вариантов при выборе по уровню совместимости на сегодня предлагаются SQL Server 2012 (1100) и SQL Server 2012 SP1 (1103). Выбирайте второй вариант, если ваш сервер SSAS поддерживает его (см. экран 2).
Экран 2. Сервер рабочей области |
Все объекты модели — таблицы, меры, отношения, ключевые показатели производительности — хранятся в одном файле определений с именем Model.BIM. Дважды щелкните на этом файле в окне обозревателя решений Solution Explorer. На экране появится окно конструктора моделей.
Схемы источников данных и источники табличных данных
Пакет Tabular обеспечивает проектировщику модели большую свободу действий, и это палка о двух концах. Поскольку конструктор таблиц не требует обязательного разграничения между фактами и измерениями, каждый объект называется просто таблицей. Вы можете проектировать свою модель по традиционной схеме звезды или снежинки с четким разделением фактов и измерений, а можете создавать гибридные модели, в которых меры перемежаются с определениями атрибутов.
Если вы подойдете к планированию с должным прилежанием, последний вариант покажется простым и эффективным, но если составленные вами планы оставляют желать лучшего, этот метод не даст результатов, на которые вы рассчитываете. Если вы испытываете сомнения, предлагаю вам следовать правилам проектирования по размерностям, рекомендуемым специалистами Kimball Group в книге The Data Warehouse Toolkit: организуйте данные в реляционное хранилище данных или в киоск данных с поддержкой модели. Некоторые из незыблемых правил, навязанных традиционными службами аналитики SQL Server, уже не ограничивают определенные варианты проектирования, однако ключевые правила поведения реляционных моделей по-прежнему применимы. Суть в том, что необходимости в использовании реляционных киосков данных нет, и данные для каждой таблицы могут поступать из отдельного источника данных. Таблицы не обязательно должны быть связаны в исходной базе данных, но для того чтобы сформировать связи внутри модели, они должны иметь соответствующие ключевые значения. Такую свободу можно уподобить набору мощных инструментов в руках умелого мастера, имеющего достаточный опыт.
Импортируем данные из табличной модели
Чтобы создавать таблицы для модели, выберите пункт Import From Data Source. в меню MODEL. Откроется окно мастера Table Import Wizard. Вы увидите, что можете импортировать данные практически из любого стандартного источника данных. Выберите Microsoft SQL Server, затем экземпляр сервера и установите соединение с базой данных AdventureWorksDW2014. Вы можете подключиться к источнику данных с использованием ваших собственных учетных данных или с помощью удостоверения учетной записи службы, запускающей экземпляр Tabular службы Analysis Service. Это вполне традиционное требование. Если у вас возникнут какие-либо сомнения, подключитесь к своему локальному экземпляру в качестве локального администратора с использованием своего имени пользователя Windows, а также пароля. В производственных сетях обычно осуществляется настройка учетной записи службы SSAS или участника службы с правом чтения записей базы данных. Перед тем как перейти к импортированию всех таблиц, что сопряжено с большими затратами времени, выполните следующие действия, проверяя соединение только с одной таблицей. Вы всегда можете удалить таблицу и вновь импортировать ее. Перед тем как продолжить, советую ознакомиться со следующей статьей: sqlserverbiblog.wordpress.com/2015/01/08/how-to-resolve-connection-errors-when-loading-data-in-ssas-tabular-project.
Для подробного описания ряда последующих шагов может потребоваться несколько страниц, но на практике все очень просто. Будьте внимательны, когда выделяете и переименовываете таблицы, а также столбцы. Этот процесс часто выполняют в виде итерации. Вы можете проверить результаты своей работы, сопоставив их с примерным проектом, который я подготовлю для загрузки (см. экран 3).
Экран 3. Table Import Wizard |
Выделите и проверьте каждую таблицу, показанную на данном экране. Используйте столбец Friendly Name («Удобное имя») для переименования таблицы, после чего нажмите кнопку Preview & Filter и снимите выделение с таблиц, которые не включены в список, приведенный в таблице 1.
Применяем к столбцам удобные имена
Теперь выделите каждую таблицу модели, переименуйте столбцы в соответствии со следующими рекомендациями и скройте эти столбцы, следуя инструкциям. Чтобы выделить таблицу, используйте вкладки в нижней части конструктора. Правой кнопкой мыши щелкните на заголовке столбца. Затем в открывшемся меню выберите пункт Rename Column и, внеся необходимые изменения, нажмите клавишу ввода. В большинстве случаев вам нужно будет просто добавить пробелы или упростить имя так, чтобы имя столбца стало удобочитаемым. Чтобы скрыть столбец, щелкните на нем правой кнопкой мыши и выберите в меню пункт Hide from Client Tools. Не изменяйте имена столбцов и не вносите изменений в таблицы, не входящие в списки (см. таблицы со 2-й по 9-ю).
Переключение с представления модели на представление схемы осуществляется с помощью меню MODEL. Переключать представления можно еще с помощью двух небольших значков, расположенных в нижней правой части конструктора моделей.
Создавайте связи
Некоторые связи создаются автоматически (в зависимости от того, каким образом вы импортировали таблицы). В представлении схемы, показанном на экране 4, для создания связей перетаскивайте столбцы из исходной таблицы в целевую (см. таблицу 10). Сверьтесь с экраном 4, дабы удостовериться, что все сформированные связи присутствуют в вашей модели.
Экран 4. Схема модели |
Добавьте вычисляемые столбцы
В таблице Product вы добавите столбцы Category и Subcategory, используя для этого простые выражения DAX. Крайний справа столбец сетки называется Add Column. Щелкните на столбце Category правой кнопкой мыши и переименуйте его. Нажмите клавишу ввода, а затем введите следующий текст в строку формул, расположенную над сеткой (поле справа от ярлыка fx).
Вам поможет конструктор выражений DAX. Попрактиковавшись немного, вы научить взаимодействовать с ним, но имейте в виду, что функция автозавершения не всегда работает безупречно. Прежде чем сохранить столбец нажатием клавиши ввода, перепроверьте выражение. В ячейках этого столбца должны содержаться значения для категории новых продуктов.
Повторите предыдущий шаг для добавления еще одного столбца с именем Subcategory. В строку формул введите следующий текст и нажмите клавишу ввода:
Создайте иерархические структуры
Иерархические структуры намечают путь для подготовки отчетов методом углубленной детализации и помогают пользователям перемещаться по модели. В конструкторе моделей такие структуры создаются без проблем. Дважды щелкните на столбце Calendar Year таблицы Order Date и выберите пункт Create Hierarchy. Присвоенное новой иерархии имя Hierarchy1 замените на Calendar и нажмите клавишу ввода. Правой кнопкой мыши щелкните на столбце Month Name и в открывшемся меню выберите пункт Add to Hierarchy. Затем выделите иерархию Calendar. Повторите эти действия, чтобы добавить столбец Date в иерархию Calendar. Обратите внимание: вы также можете перетаскивать столбцы в ту или иную иерархию, но перед тем как отпускать кнопку мыши, удостоверьтесь, что выполнен отступ. В таблице Product правой кнопкой мыши щелкните на столбце Category и добавьте новое имя иерархии Product Hierarchy. Под столбцом Category добавьте столбцы Subcategory и Product Name. Окончательный результат представлен на экране 4.
Добавьте величины
Вы можете перейти в представление сетки, щелкнув на таблице правой кнопкой мыши в представлении схемы, и выбрать в меню пункт Go To. С помощью этого метода перейдите в таблицу Internet Sales в представлении сетки. Следующие операции можно выполнить на каждом столбце по отдельности или на группе столбцов, выбрав столбцы в интересующем вас диапазоне (используйте клавишу Shift или «протаскивайте» курсор через заголовки столбцов). Выделите эти столбцы и нажмите кнопку «Сумма» на панели инструментов. Для каждого столбца в области сетки Calculation будет создана новая величина, а к имени столбца будет добавлен префикс Sum of. Проделайте описанные операции для следующих столбцов таблицы Internet Sales, а затем повторите этот шаг для аналогичных столбцов таблицы Reseller Sales: Order Quantity, Unit Price, Extended Amount, Total Product Cost, Sales Amount, Tax Amount, Freight.
Просмотр модели
Для создания запросов и исследования модели используется пакет Excel, который является интегрированным обозревателем данных. На панели инструментов щелкните на зеленом значке Excel. В окне Analyze in Excel нажмите кнопку OK. Откроется окно Excel, будет установлено соединение с моделью рабочего пространства и создана пустая сводная таблица PivotTable. Из списка полей сводной таблицы выставьте флажок для выделения меры Sum of Sales Amount в таблице Internet Sales. Из таблицы Geography отбуксируйте поле Country Region в расположенный ниже список ROWS. Из таблицы Product отбуксируйте Product Hierarchy в расположенный ниже список COLUMNS. В таблице Order Date раскройте иерархию Calendar, правой кнопкой мыши щелкните на поле Calendar Year и выберите пункт Add as Slicer (см. экран 5).
Экран 5. Просмотр модели рабочего пространства в Excel |
Обратите внимание на то, как быстро осуществляется перемещение по этим данным. Чтобы исследовать продажи по иерархии Product, воспользуйтесь кнопками углубленной детализации, а для анализа продаж в сводной таблице за определенный год используйте кнопки среза.
В первой статье серии мы всего лишь «прошлись по верхам». Описанная модель представляет собой основу для дальнейшего усовершенствования. Так что сохраните свой проект и будьте готовы к изучению материала следующей статьи.
Поделитесь материалом с коллегами и друзьями