Конструктор отчетов

Skip to end of metadata
Go to start of metadata
Вы просматриваете старую версию данной страницы. Смотрите текущую версию. Сравнить с текущим  |   просмотр истории страницы

Для создания отчета через конструктор отчетов необходимо:

1. Зайти в АСР менеджере "Отчеты -> Конструктор отчетов"

2. Добавить новый отчет кнопкой "+" справа ("-" удаляет выбранный отчет)
3. Задать название отчета и текст запроса, который вы можете уточнить у тех.поддержки (должен начинаться со слова "select").

4. Также есть возможность настроить привилегии доступа для разных типов администраторов.

 Для вывода отчета достаточно выбрать нужный и нажать кнопку "Запросить".  

5. Начиная с версии 3.9.6 484 есть возможность выгрузить полученный отчет в Excel. Работает только под системой Windows!
 

Важно: Если у вас не выводится отчет при нажатии на кнопку запросить(и она впадает при наведении курсора) вероятнее всего у вас стоит неверный пароль для пользователя SYSDBA. Паролем для пользователя SYSDBA являются первые 8 символов от пароля локальной консоли (или меньше, если пароль меньше восьми символов)

Также запросы можно выполнять из командной строки.

Выполнение запросов из командной строки

Из командной сторки запросы выполняются при помощи утилиты sqlexec таким образомsqlexec "текст запроса"

Дополнительные моменты

Вывод на экран в виде спискаsqlexec "set list on ; текст запроса"

Вывод на экран русских символов - добавьте в конец строки.| iconv -f cp1251

Запись в файл, для того чтобы забрать его по WinSCP / SCP позже:> /tmp/file

Примеры:

Пример 1.    Список всех доступных телефонов абонентов в формате (порядковый номер, логин абонента, номер телефона)

select id, login, SMS from users where DELETED=0 and sms is not null

Пример 2.    Список ФИО абонентов и их баланс на текущий момент

select  identify as "FIO", (DEBIT + OSTATOK - CREDIT)/10000000000.00 as "BALANCE" from users where id<100000 and deleted=0 and end_user=1'

Пример 3.    Список всех доступных телефонов абонентов, у которых баланс меньше либо равен нулю.

select SMS from users where (DEBIT + OSTATOK - CREDIT)<=0 and DELETED=0 and SMS is not null

Пример 4.    Список всех доступных МАС-адресов абонентов, использующих услугу IPTV с известным id.

 select mac from users join users_usluga on users_usluga.user_id = users.id where users_usluga.usluga_id = <id услуги> and users.mac is not null and users.mac != ''

Пример отчетов по VOIP.

Журнал определенных звонков за текущий месяц
select SRC as "Номер абонента",
       DST as "Направление звонка",
       S_TIME as "Начало звонка",
       E_TIME as "Окончание звонка",
       DURATION as "Общая длительность",
       BILL_SEC as "Платное время",
       CHAN,
       BILLED as "Обработан",
       USER_ID as "Ид пользователя"
from VOIP_LOG
where USER_ID is not null and extract(month from E_TIME) = extract(month from current_timestamp) and extract(year from E_TIME) = extract(year from current_timestamp)
order by E_TIME desc
Журнал неопределенных звонков за текущий месяц
select SRC as "Номер абонента",
       DST as "Направление звонка",
       S_TIME as "Начало звонка",
       E_TIME as "Окончание звонка",
       DURATION as "Общая длительность",
       BILL_SEC as "Платное время",
       CHAN,
       BILLED as "Обработан",
       USER_ID as "Ид пользователя"
from VOIP_LOG
where USER_ID is null and extract(month from E_TIME) = extract(month from current_timestamp) and extract(year from E_TIME) = extract(year from current_timestamp)
order by E_TIME desc
VOIP Абоненты со статусом
select U.IDENTIFY as "Наименование",
       UU.SIP_ID as "Номер",
       U.ENABLED as "1-Включен/0-Выключен"
from USERS_USLUGA UU
left join USERS U on UU.USER_ID = U.ID
where UU.SYSTEM_TYPE = 5
order by U.ID  

Пример 5.

Задача: Выгрузить ФИО и Адрес всех абонентов. у которых в качестве nas_ip указан адрес 172.16.1.177 (поле "Адрес" должно быть задано, иначе в выборку абонент не попадет):

Запрос: select u.identify as "FIO", av.ATTRIBUTE_VALUE as "Address" from users u left outer join attribute_values av on av.user_id=u.id left outer join users_radiusauth ur on ur.user_id=u.id where av.attribute_id=3 and  uf_ip2string(ur.nas_ip_address)='172.16.1.177'" 

Пример 6.

Задача: Выгрузить id, должность, тариф, ФИО, дата внесения.

Запрос: select u.id,av.attribute_value, u.tariff_id_cache, u.identify, u.create_date from users u left join attribute_values av on av.user_id=u.id where (av.attribute_id=19 or av.attribute_id is NULL) order by u.create_date,u.tariff_id_cache

Пример 7.

Задача: Выгрузить id, должность, тариф, ФИО, дата внесения за заданный период с 21.12.2012 по 25.12.2012 (поле "Должность" должно быть задано, иначе в выборку абонент не попадет):

Запрос: select u.id, av.attribute_value, u.tariff_id_cache, u.identify, u.create_date from users u left join attribute_values av on av.user_id=u.id where av.attribute_id=19 and (u.create_date between '2012-12-21' and '2012-12-25') order by u.create_date,u.tariff_id_cache

Пример 8.

Задача: Получить, соответствующие пользователям, коды 1С из биллинга.

1С коды
select U.ID as "Номер",
       U.IDENTIFY as "Наименование",
       U.CODE1C "Код синхронизации",
       U.SYNC1C as "1-синхронизирован/0-несинхронизирован"
from USERS U
where U.END_USER = 1

Пример 9.

Задача: Выгрузить id, финансовый договор, ФИО, расход в заданный период с 01.11.2012 по 25.11.2012 (Для закрытого периода)

Запрос: select U.ID,U.CONTRACT_NUMBER,U.IDENTIFY,sum(FO.OP_SUMMA)/10000000000.00 from USERS U left join FINANCE_OPERATIONS FO on U.ID = FO.USER_ID where (FO.OP_TYPE <>2 and FO.OP_TYPE <>3) and (FO.OP_DATE between '2012-11-01' and '2012-11-30') group by U.ID, U.CONTRACT_NUMBER, U.IDENTIFY

Пример 10.

Задача: Выгрузить id, финансовый договор, ФИО, расход за текущий период

Запрос: select id, contract_number, identify, credit/10000000000.00 from users where end_user=1 and id<100000

Получение списка пользователей подключенных за последний месяц

(первая строка) ( период с 2011-11-20 до 2011-12-20 ) и их количества (вторая).:SELECT id, identify, login, create_date FROM users WHERE create_date>'2011-11-20' AND end_user=1 AND create_date<'2011-12-20'
SELECT COUNT(id) AS usercount FROM users WHERE create_date>'2011-11-20' AND end_user=1 AND create_date<'2011-12-20'

Перевод пользователей из подсетей 10.20.0.0/16...10.25.0.0/16 на Ideco AS с адресом 172.16.1.15update users set nas_ip_lock=1, nas_ip=uf_string2ip('172.16.1.5') where uf_ip2string(ip) like '10.20.%' or uf_ip2string(host_ip) like '10.20.%'

update users set nas_ip_lock=1, nas_ip=uf_string2ip('172.16.1.5') where uf_ip2string(ip) like '10.21.%' or uf_ip2string(host_ip) like '10.21.%'
update users set nas_ip_lock=1, nas_ip=uf_string2ip('172.16.1.5') where uf_ip2string(ip) like '10.22.%' or uf_ip2string(host_ip) like '10.22.%'
update users set nas_ip_lock=1, nas_ip=uf_string2ip('172.16.1.5') where uf_ip2string(ip) like '10.23.%' or uf_ip2string(host_ip) like '10.23.%'
update users set nas_ip_lock=1, nas_ip=uf_string2ip('172.16.1.5') where uf_ip2string(ip) like '10.24.%' or uf_ip2string(host_ip) like '10.24.%'
update users set nas_ip_lock=1, nas_ip=uf_string2ip('172.16.1.5') where uf_ip2string(ip) like '10.25.%' or uf_ip2string(host_ip) like '10.25.%'

Получение рекомендуемой суммы к оплатеselect user_id, sum(OP_SUMMA/10000000000) from finaions where op_date>(current_timestamp-120) and op_type=2 group by user_id

Получение списка абонентов из заданной подсетиselect id, login from users where uf_ip2string(ip) like '192.168.%'

Поиск одинаковых ИННselect count(attribute_value), attribute_value from attribute_values where attribute_id=4 group by attribute_value having count(attribute_value)>1

Поиск должников (Вывод: Тариф, ФИО, Телефон, Адрес, Баланс)Select (SELECT TARIF_NAME FROM GLN_USR_TARIF(USERS.id)) as "TARIF", USErS.identify as "FIO", (SELECT attribute_values.attribute_value FROM attrib \

WHERE attribute_values.USER_ID = USErS.id AND attribute_values.attribute_id =1 ) as "ADRES", (SELECT attribute_values.attribute_value FROM attribute_values \
WHERE attribute_values.USER_ID = USErS.id AND attribute_values.attribute_id =3 ) as "TELEFON", cast((DEBIT + OSTATOK - CREDIT) as double precision) / (SELECT \
const_value FROM vpn_const Where CONST_ID=1) AS "BALANS" FROM USErS /WHERE Blns <= 0/ where cast((DEBIT + OSTATOK - CREDIT) as double precision) / (SELECT \
const_value FROM vpn_const Where CONST_ID=1) <0'

Всех пользователям подсети 10.1.0.0/16 перевести на NAS 172.0.1.1, прикрепить к нему, установить авторизацию по радиус и поменять SNAT адрес на 192.168.5.0.sqlexec "UPDATE users
set 
snatip=uf_string2ip('192.168.5.0'),
server=0,
auth_type_cache=6,
auth_type=6,
nas_ip=uf_string2ip('172.0.1.1'),
nas_ip_lock=1
WHERE
uf_ip2string(ip) like '10.1.%'"

Вывод номинала всех активированных карт за выбранный периодselect
(card_series.card_value/10000000000) as NOMINAL ,
cards.*
FROM CARDS
LEFT JOIN CARD_SERIES ON CARDS.SERIES_NO = card_series.SERIES_NO
WHERE
cards.date_used > '2012-12-01 00:00:00'
and cards.date_used < '2013-01-01 00:00:00'
and cards.date_used is not null

Вывод итоговой суммы всех активированных карт за выбранный периодselect
SUM(card_series.card_value)/10000000000 as ALL_PERIOD_SUM
FROM CARDS
LEFT JOIN CARD_SERIES ON CARDS.SERIES_NO = card_series.SERIES_NO
WHERE
cards.date_used > '2012-12-01 00:00:00'
and cards.date_used < '2013-01-01 00:00:00'
and cards.date_used is not null

=====
Отчет
Отчеты

Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.