How to create reports in PDMWorks Enterprise

abramov

Home \ Blog \ How to create reports in PDMWorks Enterprise


How to create reports in PDMWorks Enterprise

In this lesson examines questions of creating queries and reporting in SolidWorks Enterprise PDM. You can also download samples of useful queries.

В PDMWorks Enterprise можно создать, сохранить и распечатать отчеты о различных данных файлов, находящихся в хранилище, используя т.н. Генератора отчетов. Такие отчеты строятся с помощью запросов, определенных в файлах с расширением crp. По сути это простой текстовый файл, который может быть создан и отредактирован в любом текстовом редакторе.

Большинство стандартных запросов в PDMWorks Enterprise создаются на T-SQL (Transact-SQL - процедурное расширение языка структурированных запросов SQL, применяемого в СУБД SQL Server). Однако его можно использовать с некоторыми ограничениями так, например Генератор отчетов не позволяет обновлять или удаление значений в базе данных, т.е. он используется только для получения информации.

Генератор отчета содержит три панели: Запросы, Выбранные файлы и Результаты. Можно воспользоваться меню Вид для переключения между ними.

Design_study

Панель Запросы отображает все существующие запросы. Всплывающие подсказки дают информацию о запросах. Нажав правой кнопкой мыши на запрос, можно задать права пользователя на его запуск и просмотреть из свойств, которые содержатся в файле .crp.

На панели Выбранные файлы отображаются файлы, которые должны использоваться в запросе. Ими можно управлять также как и в Проводнике. Например, можно сортировать файлы путем выбора заголовков столбцов и получать доступ к основным командам путем нажатия на файл правой кнопкой мыши.

На вкладке Результаты отображаются результаты запроса в виде таблиц. Заголовки отчета указываются в файле запроса.

Самый простой способ добавления запроса из файла .crp в Генератор отчетов – это двойной щелчок мыши по нему. Также можно перетащить файл на панель Запросы или выбрать в меню Файл команду Импорт запроса.

Синтаксис запросов в PDMWorks Enterprise.

@[Идентификатор запроса] //Уникальный идентификатор запроса
§Name [Название запроса] //Название запроса, которое отображается на панель Запросы в Генераторе отчетов
§Company [Разработчик] //Имя пользователя или название компании, в которой был создан запрос
§Description[Описание запроса] //Описание запроса, которое приводится на вкладке Результаты выше таблицы с выведенными данными
§Version [1.1] //Номер версии запроса
§Arguments //Раздел объявления переменных (см. ниже)

[

GroupIDTheGroupID[N] [Выберите группу пользователей]

]
//Пример задания переменной Группы пользователей
§Sql //Раздел, где непосредственно задается запрос T-SQL

[SELECT U.Username, G.Groupname, G.Description

FROM Users U, Groups G, GroupMembers M

WHERE {G.GroupID, TheGroupID, =, OR} AND

G.GroupID = M.GroupID AND  

U.UserID = M.UserID]                                                                                                            
//Пример T-SQL запроса

Таким образом, каждый запрос в .crp файле начинается со знака @ и определяется с помощью уникального имени в квадратных скобках. Каждый запрос содержит ряд разделов, отделяющихся символом § и содержащих информацию в квадратных скобках (порядок разделов внутри запроса может отличаться). Названия разделов нечувствительны к регистру.

Основные типы аргументов.

  • FileID – идентификатор документа выбранного файла;
  • UserID – идентификатор выбранного пользователя;
  • ProjectID – идентификатор проекта для выбранной папки;
  • String – строка;
  • GroupID – идентификатор выбранной группы;
  • StatusID – идентификатор статуса в потоке работ.

Основные правила для задания аргументов.

  • Имя не должно содержать пробелы;
  • Каждый аргумент имеет следующие компоненты: <тип> <имя> <счётчик> <пояснение к аргументу>;
  • Счетчик может быть жестко задан либо количество или символами N, S или M:
    • N - означает, что у нас есть переменная счетчик и пользователю будет предложено ввести значения или выбрать из списка;
    • S для FileID означает, что аргумент будет выбран из списка на панели Выбранные файлы и для каждого файла будет выведена своя таблица с результатами;
    • S для UserID извлекает идентификатор текущего пользователя;
    • M для FileID аналогичен, как и для S, за исключением того, что все файлы будут размещаться в массиве, а результат будет отображаться в одной таблице вместо нескольких, как и в случае с S.

Правила для подстановки переменных .

Переменные в запросе T-SQL могут ссылаться двумя различными способами, либо с помощью простой замены или расширенной замены (т.е. при запуске запроса, переменная {XXX} будет заменена соответствующим ID или строкой).

  • Пример простой замены

D.Filename LIKE {FileName} будет читаться как D.Filename LIKE 'Сборка.sldasm', где 'Сборка.sldasm' – имя и расширения файла или X.DocumentID = {TheFileID} читаться как X.DocumentID = 48, где 48 - идентификатор файла, полученный с помощью аргумента FileID

  • Пример расширенной замены

{D.DocumentID, TheFileID, =, OR} будет читаться как (D.DocumentID = 48) OR (D.DocumentID = 96) OR … (D.DocumentID = 345) (и так далее).

Результаты запросов .

Результаты запросов отображаются на вкладке Результаты в виде таблицы. Используя правую кнопку мыши можно скрывать и отображать столбцы таблицы с результатами. Результаты могут быть экспортированы в.csv файл, который можно открыть в Excel. Можно также скопировать значения результатов непосредственно из ячеек и вставить их в другие программы (Блокнот, Microsoft Word или Excel).

Пример построения спецификации для сборки используя запросы PDMWorks Enterprise:

Design_study

Design_study

Примеры моих запросов, Вы можете скачать по ссылке. Большинство из них были созданы на базе стандартных запросов PDMWorks Enterprise. При необходимости Вы можете отредактировать их, к примеру задав переменные (метаданные или свойства файлов), которые используются в Вашей PDM.

Read 1673 times Last modified on Friday, 06 March 2015 06:47
Rate this item
(0 votes)

Leave a comment

Make sure you enter the (*) required information where indicated. HTML code is not allowed.

About Me

Hi, I'm Andrew and I'm engineer with a big experience in CAD/CAE and programming. On this website I would like to share some of my works in the field of 3D design, FEA and software development. I hope to find interesting projects and perspective contacts. More info about me you can find here.

Sign Up to My Newsletter

Newsletters by e-mail

Or get connected with me