Relatórios

O Positivo Network Manager oferece recursos para executar relatórios dos dados armazenados, sejam eles coletados automaticamente ou inseridos manualmente.

É possível criar, armazenar, editar e apagar relatórios. Os relatórios armazenados podem ser configurados para serem enviados por e-mail de acordo com uma periodicidade.

 

Conhecendo o Container de Relatórios

Toda a ferramenta de relatórios pode ser acessada clicando com o botão direito do mouse sobre o item Relatórios na árvore de ativos do Positivo Network Manager. 

Menu de contexto de Relatórios 

Nesse menu encontramos:

Criando Relatórios

É possível criar relatórios de duas formas no Positivo Network Manager. Esses dois modos são exibidos ao clicar com o botão direito do mouse sobre o item Relatórios.

Criando Relatórios 

  1. Criar Relatório: relatórios são criados e armazenados através de um assistente de relatório;
  2. Criar SQL: relatórios são criados e armazenados na forma de sentenças SQL.

Criando relatórios utilizando a opção Criar Relatório

Quando a opção Criar Relatório é escolhida, um diálogo semelhante à figura a seguir é apresentado.

Criando Relatórios com Assistente

Para criar um relatório usando o assistente preencha os campos:

Após configurar todas as opções, clique no botão Ok para salvar o relatório, ou no botão Cancelar para finalizar o editor de pesquisa sem aplicar as alterações. Clicar no botão X no alto do diálogo de pesquisa tem o mesmo efeito de clicar no botão Cancelar.

Exemplo

Criar um relatório que retorne o nome do computador, o nome do processador, a quantidade de memória instalada e a quantidade de memória instalável dos computadores cujo nome do processador contenha a palavra "Pentium" e a quantidade de memória instalada seja superior a 256MB:

Criando pesquisa com Assistente

Resultado de uma pesquisa 

Nessa tela aparecem a lista de ativos (na horizontal) que obedecem aos critérios escolhidos e as propriedades selecionadas para visualização (na vertical).

Ordernar por propriedade 

Clicando sobre as colunas (que terão o nome das propriedades escolhidas) é possível ordenar os resultados.

Caso ao relatório não atenda as suas necessidades e deva ser refeito, basta clicar com o direito sobre ao relatório na árvore e escolher a opção Editar Relatório.

Criando relatórios utilizando a opção Criar SQL

Usuários avançados podem criar relatórios utilizando comandos SQL que atuem diretamente na base de dados do Positivo Network Manager.

Quando a opção Criar SQL é escolhida uma página como a seguir é apresentada.

Criar SQL 

Essa página contém os campos:

IMPORTANTE: Para filtrar os ativos que o usuário do Positivo Network Manager não tem acesso (configuração de permissões de sites), adicione a máscara %%USER_RIGHTS%% como um dos critérios da cláusula WHERE e assegure que a pesquisa retorne sempre as colunas ID e Name da tabela Tree_SERVER. Exemplo:
... WHERE (Name='Teste' OR Name='Eval') AND %%USER_RIGHTS%%

Ao preencher os campos, deve-se clicar no botão OK. O relatório será armazenado na base de dados do Positivo Network Manager e estará disponível para execução na página de relatórios armazenados (apresentada no tópico Mostrar Relatórios). 

Diagrama Entidade-Relacionamento da Base de Dados

Para auxiliar a construção das pesquisas usando SQL, o diagrama entidade-relacionamento da base de dados do Positivo Network Manager é apresentado na figura a seguir. Vale lembrar que os nomes de todas as tabelas são sufixados com _SERVER.

Diagrama Entidade-Relacionamento da Base de Dados do Positivo Network Manager

Os campos pLeft e pRight são usados para manter a posição dos ativos na árvore, garantindo o correto aninhamento de todos os ativos.

IMPORTANTE: Todas os relatórios que retornam ativos tipo Computador devem retornar os campos CategoryID,ID,GUIDHW,Name e Path nesta ordem para poderem ser utilizadas nas ferramentas e também para filtrar os ativos que estão em sites que o usuário não tem acesso. Exemplo:
SELECT CategoryID, ID, GUIDHW,Name, Path, FROM Tree_SERVER WHERE Name LIKE '%ABC%'

Exemplo de Relatórios

Exemplo 1: Pesquisa para mostrar todas as categorias e seus respectivos identificadores

SELECT Name,ID
FROM Tree_Categories_SERVER
ORDER BY ID

Exemplo 2: Pesquisa para mostrar todos os computadores existentes na árvore, ordenando pela posição da árvore. Pelo exemplo 2 é possível notar que o identificador da categoria Computador é 3.

SELECT ID, GUIDHW, Name, Path
FROM Tree_SERVER
WHERE CategoryID=3
ORDER BY pLeft

Exemplo 3: Pesquisa para mostrar todos os ativos da árvore e suas respectivas categorias.

SELECT Tree_SERVER.ID, Tree_SERVER.GUIDHW, Tree_SERVER.Name, Tree_SERVER.Path, Tree_Categories_SERVER.Name
FROM Tree_SERVER INNER JOIN Tree_Categories_SERVER ON Tree.CategoryID=Tree_Categories.ID
ORDER BY Tree.pLeft

Exemplo 4: Pesquisa todas as propriedades da categoria Computador

SELECT ID, Name
FROM Tree_DataStruct_SERVER
WHERE CategoryID=3

Exemplo 5: Pesquisa para mostrar todos os nomes dos processadores de todos os computadores da árvore. Pelo exemplo 4 é possível notar que o identificador para nome do processador é 550.

SELECT Tree_SERVER.ID, Tree_SERVER.GUIDHW, Tree_SERVER.Name, Tree_SERVER.Path, Tree_DataValues_SERVER.ValueText
FROM Tree_SERVER INNER JOIN Tree_DataValues_SERVER ON Tree_SERVER.ID=Tree_DataValues_SERVER.TreeitemID
WHERE DataStructID=550
ORDER BY Tree_SERVER.Name

Usando Relatórios Dinâmicos

Além da flexibilidade que a ferramenta de criar pesquisa SQL fornece, ainda é possível colocar campos dinâmicos na sintaxe SQL.

Existem três campos dinâmicos oferecidos pelo Positivo Network Manager:

Exemplo 1: Para criar um relatório que retorne quais computadores possuem no nome um determinado texto.

Nome do Relatório:

Computadores cujo nome possui o texto {Edit}

Grupo do Relatório

Relatórios do Manual do usuário

Pesquisa SQL:

SELECT ID, GUIDHW, Name, Path
FROM Tree_SERVER
WHERE CategoryID=3 AND Name LIKE '%{1}%'

Isto fornecerá a seguinte apresentação na ferramenta Executar Relatório:

Perceba que a máscara {Edit} existente no nome do relatório se transforma em uma caixa de inserção de texto. No momento em que o relatório é executado, o Positivo Network Manager primeiro troca a máscara {1} existente na pesquisa pelo texto digitado na caixa de inserção de texto e depois executa o relatório.

Exemplo 2: Para criar um relatório que retorne todos os computadores que estão abaixo de determinado site.

Nome do Relatório:

Computadores sob o site {Site}

Grupo do Relatório

Relatórios do Manual do usuário

Pesquisa SQL:

SELECT t1.ID, t1.GUIDHW, t1.Name, t1.Path
FROM
    Tree_SERVER AS t1
    INNER JOIN Tree_SERVER AS t2
    ON t1.pLeft>t2.pLeft AND t1.pRight<t2.pRight
WHERE t1.CategoryID=3 AND t2.CategoryID=2 AND t2.ID={1}

Este relatório fornecerá a seguinte apresentação na ferramenta Executar Pesquisa:

A máscara {Site} contém o nome de uma categoria, então o Positivo Network Manager transforma esta máscara por uma caixa de seleção com todos os ativos da categoria Site existentes na árvore. No momento em que o relatório é executado, o Positivo Network Manager troca a máscara {1} pelo identificador do ativo (valor do campo ID da tabela Tree) e depois executa o relatório.

Exemplo 3: Para criar um relatório que retorne todos os ativos de determinada categoria que estão abaixo de determinado site e possuem no nome um determinado texto.

Nome do Relatório:

{Categories} sob o site {Site} cujo nome possui o texto {Edit}

Grupo do Relatório

Relatórios do Manual do usuário

Pesquisa SQL:

SELECT t1.ID, t1.GUIDHW, t1.Name, t1.Path
FROM
    Tree_SERVER AS t1
    INNER JOIN Tree_SERVER AS t2
    ON t1.pLeft>t2.pLeft AND t1.pRight<t2.pRight
WHERE t1.CategoryID={1}
AND t2.CategoryID=2 AND t2.ID={2} AND t1.Name LIKE '%{3}%'

Este relatório fornecerá a seguinte apresentação na ferramenta Executar Relatório:

Neste relatório três campos dinâmicos foram utilizados no nome e conseqüentemente três máscaras foram utilizadas na pesquisa SQL. Na pesquisa SQL, o número contido entre chaves indica qual campo do nome está sendo referenciado. No exemplo, o valor{Categories} dará o valor para {1}, {Site} para {2} e {Edit} para {3}.

Criando Relatórios para Usar nas Ferramentas do Positivo Network Manager

Para criar um relatório que possa ser utilizado nas ferramentas do Positivo Network Manager, como, por exemplo, Assistente de Instalação Remota, Seleção de computadores, todo relatório deverá retornar cinco campos iniciais nesta ordem:

Por exemplo, para criar uma pesquisa que retorne todos os computadores cujo nome possua o texto ABC, a pesquisa deverá ser:

SELECT CategoryID, ID, GUIDHW, Name, Path FROM Tree_SERVER WHERE Name LIKE '%ABC%'

Mostrando relatórios armazenados 

Após criar relatórios e armazená-los eles são apresentados escolhendo a opção Mostrar Relatórios do menu de contexto do item Relatórios da árvore de ativos. Clicando sobre o item Relatórios, a página de relatórios armazenados também é apresentada. Expandindo o Container Relatórios, é possível visualizar todos os grupos de relatórios (explicados a seguir) e expandindo esses grupos a lista de relatórios é apresentada, desde que os relatórios não tenham campos a serem preenchidos antes de serem executados.

 

A página de relatórios armazenados apresenta todos os relatórios agrupados de acordo com o grupo escolhido na hora que o relatório foi criado. Segue abaixo um exemplo de página de relatórios armazenados.

 

É possível efetuar 6 ações com os relatórios armazenados:

 

Ao clicar sobre o ícone (), uma janela como a seguir será apresentada.

 

Nessa tela existem as seguintes opções:

IMPORTANTE: Para o correto envio de e-mails, o Positivo Network Manager deve estar corretamente configurado. Veja a seção e-mail no capítulo Configurando o Positivo Network Manager.