Пользовательские SQL Отчёты
|
Пользовательские SQL отчёты
позволяют создавать уникальные отчёты под нужды пользователя. Это
достигается с помощью менеджера SQL запросов, который может обращаться
непосредственно к базе данных. Все пользовательские отчёты отображаются
в дереве навигации MMEX.
Менеджер пользовательских отчётов SQL имеет следующие опции:
Заголовок отчёта Текстовое поле |
Используется чтобы дать отчёту заголовок. По заголовку в панели навигации вы можете выбирать пользовательские отчёты. |
Раздел Галочка |
Заголовок может быть не связан с запросом. A Menu item has an associated script. When Checked: Allows a title to be used as a Heading in the navigation tree. |
Подменю Галочка |
Если отмечено: Отчёт будет располагаться под одним из заголовков верхнего уровня. |
SQL скрипт |
Место куда вписываем SQL запрос. |
Загрузить Кнопка |
Загрузить запрос из файла. |
Сохранить Кнопка |
Сохранить запрос. |
Выполнить Кнопка |
Позволяет запустить запорос без закрытия диалога. |
Очистить Кнопка |
Очистка поля для запросов. |
Закрыть Кнопка |
Закрыть диалог без сохранения. |
После того, как запрос SQL создан и записан, он может быть выполнен из дерева навигации.
Создать новый отчёт SQL можно через:
Меню: Инструменты –> SQL Отчёты -> Новый
Иконка в панели интсрументов.
Это действие откроет диалог менеджера отчетов SQL, а также позволяет пользователю напрямую написать сценарий и сохранить его в виде файла.
Полезные запросы можно найти на форуме MMEX в интернете. Найти соответсвующую страницу можно через меню:
Помощь
–> Сообщить об ошибке или обратная связь
Раздел на форуме: Custom SQL Report Scripts
Рекомендации:
Для новых запросов используйте информативное название в заголовке.
Сохраняйте запрос перед запуском.
Заметка: Ошибка в запросе может привести к закрытию окна редактора, и, как следствие, потерю самого запроса.
Пользуйтесь выпадающим меню по правой кнопке мыши в панели навигации для редактирования имеющихся отчётов.
Заметки:
Все заголовки запросов сохнаняются в файле: CustomSQLReportIndex.txt
Все пользовательские отчёты будут удалены из дерева навигации, в случае удаления этого файла.
При непосредственном редактировании этого файла можно реорганизовать отчёты.
Отчеты, созданные в менеджере SQL отчетов, будут отображены в дереве навигации. Каждому отчёту присваивается имя при сохранении. Через название отчёта в дереве навигации можно:
Запустить отчёт
Отредактировать отчёт
Удалить отчёт
Заголовок раздела можно сохранить без SQL запроса. Заголовок удобен для группировки отчётов. The navigation tree then behaves similar to the standard reports. Reports can only be nested one level deep.
При создании SQL запросов, необходимо понимать структуру данных. В графическом представлении она выглядит следующим образом:
Basic Structure of MMEX |
|
Информация по таблицам
Далее в табличном виде представлена информация по основным таблицам с описанием.
Название таблицы |
Описание |
InfoTable_V1 |
This contains settings specific to the database. |
CurrencyFormats_V1 |
Contains the Currency values for the database |
AccountList_V1 |
Contains all the account names, and data specific to an account. |
Payee_V1 |
Contains all payees, and the last category this payee used. |
Category_V1 |
This is a list of all the categories in the system |
SubCategory_V1 |
This is a list of all the sub-categories in the system |
CheckingAccount_V1 |
This is the main table where all the transactions are maintained. |
SplitTransactions_V1 |
Contains the data associated with Split Transactions |
Таблицы не отображённые на диаграмме |
|
Stock_V1 |
Used for Stocks, and is linked to table: AccountList_V1 using the HeldAt field |
Assets_V1 |
Contains all asset details |
BudgetYear_V1 |
The specific year for a budget |
BudgetTable_V1 |
Budget details |
BudgetSplitTransactions_V1 |
Split Transactions for budgets |
BillDeposit_V1 |
This contains all the details for Repeating Transactions. Similar to table: CheckingAccountV1 |
Задача научить SQL программированию выходит за рамки этой документации, но следующее краткое руководство поможет понять скрипты, и, возможно, создавать свои собственные сценарии, если требуется.
При создании скриптов, главной командой, как правило, будет SELECT.
Основной формат:
SELECT <name> |
<name> represents the field names of the table, or * for all names. |
FROM <table> |
<table> represents the table or tables the command is aimed at. |
WHERE <condition is met> |
[optional] here we test for some condition. |
ORDER BY <parameter> |
[optional] sorts the output by this parameter |
Примеры:
SELECT * FROM
AccountList_V1;
* Этот запрос вернёт все поля из таблицы:
AccountList_V1
SELECT AccountName, Status
FROM AccountList_V1 where AccountType = “Term”;
* Этот запрос вернёт названия всех сберегательных счетов и их статус. Данные берутся из таблицы: AccountList_V1
Ниже пример более сложного запроса:
Хотя этот сценарий не имеет смысла, он демонстрирует некоторые основные принципы. |
select
pT.PayeeName payee, |
В этом примере извлекаются
данный из таблиц payee_v1 pT, category_v1 cT, subcategory_v1 scT.
Каждой таблице добавлен краткий псевдоним для удобства. После слова select через запятую перечислены поля, данные по которым должны быть представлены в отчёте. После слова where перечислены необходимые условия, в данном случае заданы связи между таблицами.