Dicas úteis

Projetar e publicar um relatório no SQL Server Reporting Services (SSRS)

Frequentemente, os usuários do MS SQL Server são confrontados com uma tarefa convertendo dados de um banco de dados de formato MS SQL Server para formato Excel. Se você conhece a sequência de ações para concluir esta tarefa, pode se certificar de que isso é muito simples.

Como exemplo, suponha que você precise converter os dados de um diretório de produtos em Excel - a placa Tovary de nossa base de treinamento OOO_RogaKopyta.

Para concluir a primeira etapa, chegamos à tabela que precisamos no painel Navegador de objetos (no Management Studio, é claro) e selecionamos o botão direito no menu de contexto Selecione primeirolinhas :

Nota Como alterar o número de linhas para seleção pelo botão direito, você pode veraqui. Bem, e além disso, de maneira semelhante, modelamos o recebimento dos resultados de alguma amostra. É bastante óbvio que, em vez da consulta fornecida do tipo Select Top 1000, pode haver absolutamente qualquer outra consulta que retorne pelo menos uma linha.

Em seguida, na tabela Resultados, clique no canto superior esquerdo:

Agora chegamos a qualquer lugar nos registros selecionados dessa maneira e selecionamos no menu de contexto Salve o resultado como. :

. e salve nossos dados no formato CSV:

Nota A propósito, a manipulação descrita acima ajudará a responder à pergunta popular - como enviar os resultados da consulta para um arquivo de texto

Vamos continuar. Agora mude para o Excel, vá para o menu Ficheiro>Aberto e escolha Arquivos de texto :

Estamos procurando o arquivo Tovary criado acima:

Chegamos ao próximo formulário de leitura de dados Assistentes de importação de arquivo de teste:

Clique em Avançar e selecione o caractere separador. Ponto e vírgula :

Clique em Avançar novamente:

Agora resta escolher o formulário acima Concluído e obtenha o resultado que precisamos - a tabela Excel:

Existe outra maneira, talvez ainda mais simples e mais acessível, de fazer upload para o Excel - na grade dos resultados da consulta no Management Studio, no menu de contexto (clique com o botão direito do mouse), selecione Copiar com legendas . :

. e cole imediatamente o conteúdo da área de transferência no Excel:

Por enquanto é tudo ... Boa sorte

Com outra abordagem para a tarefa de importação / exportação do Excelpode ser encontradoaqui

Dados de origem para criar um relatório

Como eu disse, como construtor, usaremos o ambiente Estúdio de Desenvolvimento de Business Intelligence do SQL Server, e como fonte de dados, teremos uma tabela de teste em um banco de dados de teste localizado em SQL Server 2008 R2.

A tabela que teremos é a seguinte (descrição dos campos abaixo):

Onde

    > Em outras palavras, nossa tabela contém uma lista de produtos, seus preços e as cidades em que foram produzidos.

A propósito, se alguém estiver interessado no tópico SQL Server e Transact-SQL, recomendo a leitura dos seguintes materiais:

  • Maneira do programador T-SQL - Tutorial Transact-SQL
  • Referência Transact-SQL - Uma descrição da construção básica da linguagem Transact-SQL,
  • Noções básicas de programação T-SQL - Descreve os conceitos básicos de programação Transact-SQL.

Os dados em si teremos, por exemplo, os seguintes

E com base nesses dados, criaremos um relatório.

Tags HTML suportadas Tags HTML suportadas

Abaixo está uma lista completa de tags preparadas para exibição no formato HTML, se definidas como texto de espaço reservado. A seguir, é apresentada uma lista completa de tags que serão renderizadas como HTML quando definidas como texto de espaço reservado:

Elementos de título, estilo e bloco :,

Formatação de texto: ,,, Formato de texto: ,,,

Trabalhe com listas:

    ,
      , Manuseio de lista:
        ,
          ,

      Todas as outras tags de marcação HTML são ignoradas durante o processamento do relatório. Quaisquer outras tags de marcação HTML serão ignoradas durante o processamento do relatório. Se o código HTML representado pela expressão no texto do espaço reservado não tiver o formato correto, o espaço reservado estará preparado para exibição em texto sem formatação. Se o HTML representado pela expressão no texto do espaço reservado não estiver bem formado, o espaço reservado será renderizado como texto sem formatação. Todas as tags HTML não diferenciam maiúsculas de minúsculas. Todas as tags HTML não diferenciam maiúsculas de minúsculas.

      Se o texto no campo de texto contiver apenas um bloco de texto, qualquer código HTML no espaço reservado que define os elementos do bloco será preparado para exibição correta. Se o texto na sua caixa de texto contiver apenas um bloco de texto, qualquer HTML no espaço reservado que define os elementos do bloco será renderizado corretamente. Mas se o campo de texto tiver vários blocos de texto, as tags HTML serão ignoradas e a estrutura do texto será determinada por blocos de texto. No entanto, se a caixa de texto tiver vários blocos de texto, as tags HTML serão ignoradas e a estrutura do texto será definida pelos blocos de texto.

      Se mais de uma marca for definida para o texto e se o Reporting Services Reporting Services encontrar um conflito entre o código HTML e as restrições de relatório existentes, apenas a marca HTML mais interna será considerada como código HTML. Se mais de uma marca estiver definida para o texto, e o Reporting Services Reporting Services detectar um conflito entre o HTML e as restrições de relatório existentes, apenas a marca HTML mais interna será tratada como HTML.

      Limitações dos atributos da folha de estilos em cascata

      Ao usar atributos CSS (Cascading Style Sheet), apenas o conjunto principal de tags é definido. Ao usar atributos CSS (Cascading Style Sheet), apenas um conjunto básico de tags é definido. A seguir, é apresentada uma lista de atributos suportados:

      alinhar texto, recuar texto, alinhar texto, recuar texto

      Somente definições válidas de tamanho de relatório em unidades de comprimento absoluto CSS são suportadas. Somente valores de tamanho RDL válidos, em unidades de comprimento CSS absoluto, são suportados. Unidades suportadas: pol, cm, mm, pt, pc. As unidades suportadas são: pol, cm, mm, pt, pc.

      As unidades de comprimento relativo do CSS são ignoradas e não são suportadas. As unidades de comprimento relativo do CSS são ignoradas e não são suportadas. As unidades não suportadas incluem em, ex, px,%, rem. As unidades não suportadas incluem em, ex, px,%, rem.

      padding, padding-bottom, padding-top, padding-right, padding-left, padding, padding-padding, padding-bottom, padding-top, padding-right, padding-left

      Abaixo estão algumas diretrizes para o uso de CSS. Aqui estão algumas considerações para usar CSS:

      Os valores CSS de formato incorreto são ignorados da mesma maneira que o código HTML de formato incorreto. Os valores CSS malformados são ignorados da mesma maneira que o HTML malformado.

      Se um atributo e atributos de estilo CSS existirem na mesma tag, a propriedade CSS terá precedência. Quando os atributos atributo e estilo CSS existem na mesma tag, a propriedade CSS tem uma precedência mais alta. Por exemplo, se o texto for

      , apenas o atributo alinhamento de texto será aplicado e o texto será alinhado à direita.

      Para atributos e estilos CSS, se uma propriedade for configurada mais de uma vez, apenas a última instância da propriedade será aplicada. Para atributos e estilos CSS, se uma propriedade for especificada mais de uma vez, apenas a última instância da propriedade será aplicada. Por exemplo, se o texto for

      Configuração do componente de perfil de banco de dados

      Para configurar a conta de correio do banco de dados, você precisa na árvore "Navegador de Objetos" (Pesquisador de Objetos) selecione uma instância personalizada do SQL Server, vá para "Gerência"(Gestão), adiante"Componente de Correio do Banco de Dados"(Correio do banco de dados). Ao clicar com o botão direito do mouse neste item, um menu de contexto será aberto, no qual você deverá selecionar "Personalizar ...»(Configurar ...), após o qual a janela do assistente de configuração será aberta.

      Componente DatabaseMail no Pesquisador de Objetos

      Você pode pular a primeira página, então vá direto para a segunda. Aqui precisamos selecionar o primeiro item "Instalar correio do banco de dados ..." (Setup Database Mail ...) e clique em "Next" (Avançar). Na terceira página, defina o nome e a descrição do perfil e pressione o botão Adicionar para adicionar uma conta SMTP. Na janela que se abre, preencha as informações da conta (endereço de email, servidor e porta SMTP, além de parâmetros de autenticação).

      Assistente de Configuração de Correio do Banco de Dados Crie um novo perfil de correio do banco de dados

      Na próxima página, você deve definir a segurança do perfil: especifique se é aberto ou privado (e para quais usuários) e também pode especificar se o perfil é o padrão. Para nossos propósitos, basta abrir o perfil e o perfil padrão. Na quinta página, deixamos tudo por padrão; na última página, clique em Concluído (Concluir)

      Configurando a segurança do perfil de email do banco de dados

      Após a configuração do perfil, ele deve ser verificado, para isso, no menu de contexto do item "Componente de email do banco de dados" (clicando com o botão direito do mouse neste item), selecione "Enviar uma mensagem de teste" (Enviar email de teste). Na janela que se abre, preencha o campo "Para" (Para) e clique em "Enviar ..." (Enviar ...)

      Enviando e-mails de teste usando o Database Mail

      Se tudo for feito corretamente, em breve, uma carta de teste será entregue ao correio.

      Adicionar operador de alerta

      Operadores são pseudônimos para pessoas ou grupos que podem receber notificações eletrônicas quando tarefas, tarefas ou alertas forem concluídos. Para adicionar um novo operador de alerta, você precisa na árvore "Navegador de Objetos" (Pesquisador de Objetos) selecione uma instância personalizada do SQL Server, vá para Agente do SQL Server (SQL Server Agent), próximo "Operadores" (Operadores). Ao clicar com o botão direito do mouse neste item, selecione Operador Criar (Novo operador), após o qual a janela de propriedades do operador de alerta será aberta.

      Operadores na árvore do Pesquisador de objetos

      As configurações do operador estão na guia "Geral" (Geral). Aqui você deve preencher "Nome" (Nome), estado "On" (Ativado), digite um endereço de e-mail. Em geral, existem métodos de notificação alternativos além do email: usando o comando net send ou enviando uma mensagem para um pager.

      Definindo propriedades do operador

      Isso completa a configuração do operador, vá para a próxima etapa.

      Configuração de Correio do SQL Server Agent

      Este item é necessário para o envio de notificações por email pelo SQL Server Agent. Essa correspondência ocorre, por exemplo, para notificar sobre o status da tarefa. Para configurar o correio do agente, você deve na árvore "Navegador de Objetos" (Pesquisador de Objetos) selecione uma instância personalizada do SQL Server, vá para Agente do SQL Server (SQL Server Agent), selecione no menu de contexto "Propriedades" (Propriedades).

      Agente do SQL Server na árvore do Pesquisador de objetos

      Na janela que se abre, vá para a guia Sistema de Aviso (Sistema de alerta), marque a caixa Ativar perfil de email (Ativar perfil de email), deixe como o sistema de email "Componente de email do banco de dados" (Database Mail) e selecione o perfil criado anteriormente no campo apropriado.

      Sistema de Alerta do SQL Server Agent

      Ativando acionadores e tarefas de alerta

      Para a base da conexão de alertas, use o plano de serviço no mecanismo do artigo "Planos de Serviço" e no mecanismo de tarefas do MS SQL Server.

      Para facilitar a verificação, configuraremos alertas para concluir tarefas com êxito; na vida real, faz mais sentido conectar alertas em caso de erro. Para demonstrar, configuraremos alertas para nossos "Tarefa" (Trabalho) e também adicione um alerta ao nosso plano de serviço.

      Então, vamos abrir o nosso plano de serviço, nele vamos alocar um subplano "UpdateStatistics". Arraste a tarefa para a área de trabalho do subplano Notificação do Operador (Tarefa Notificar Operador). Estendemos a flecha da tarefa "Atualizando estatísticas". Clique duas vezes em uma tarefa Notificação do Operador abra suas propriedades, marque o operador criado e também introduza Theme (Assunto) e "Texto" Cartas (mensagem). Para alterar a condição de alerta (seta de exibição padrão "Conclusão bem sucedida"), clique com o botão direito do mouse na seta e selecione seu tipo: execução / erro / execução bem-sucedida.

      Adicionando uma tarefa de notificação do operador a um plano de serviço Configurando as propriedades da tarefa "Notificação do agente"

      Agora, vamos definir alertas em "Tarefas" (Empregos). Abra as propriedades da nossa tarefa e vá para a guia Notificações (Notificações). Defina as daws ao lado dos tipos de notificações que queremos usar (para mim é apenas email) e, em seguida, selecionaremos o operador e a condição de notificação (conclusão / conclusão bem-sucedida com erro / conclusão).

      Definindo propriedades da tarefa

      Verificando a integridade dos alertas

      Vamos executar nossa tarefa manualmente, para isso, clique com o botão direito do mouse e selecione "Execute a tarefa na etapa" (Inicie o trabalho na etapa). Como resultado, duas cartas devem chegar ao correio: uma (com o assunto e o texto definidos por nós) corresponde à tarefa Notificações do Operador em termos de serviço, o segundo - informa sobre a tarefa como um todo.

      Notificações de Correio do Banco de Dados

      Se você não recebeu uma carta, é possível:

      1. Erro nas configurações da conta SMTP. Tente enviar uma mensagem de teste, se não for enviada - verifique os parâmetros
      2. Erro nos direitos de segurança do perfil. Verifique novamente se os direitos estão definidos conforme descrito anteriormente. Se tudo estiver definido corretamente, mas não houver resultado, tente especificar todos os direitos: aberto e tudo privado, além de criar o perfil padrão para cada direito.

      Se você não recebeu apenas a carta com o resultado da tarefa: verifique se o correio do SQL Server está configurado de acordo com o acima.

      Criando um projeto de servidor de relatório

      Em seguida, precisamos chamar a janela de criação do projeto, podemos fazer isso na página inicial, usando o "Criar projeto"Ou através do menu"Arquivo -> Criar -> Projeto».

      Depois precisamos criar "Projeto do servidor de relatório", Podemos definir o nome deste projeto e indicar o caminho para o diretório em que todos os arquivos do projeto estarão.

      Em seguida, vamos definir imediatamente o endereço do servidor de relatório para o nosso projeto. O endereço em si pode ser exibido no gerenciador de configuração do Reporting Services na seção "URL de serviço da Web", Por padrão no computador local, é - http: // localhost / ReportServer.

      Em Lances, selecione o menu “Projeto -> Propriedades (Configuração da Versão)” e no parágrafo TargetServerURL indique o nosso endereço.

      Nota!O endereço do servidor de relatório deve ser especificado para cada configuração do projeto.

      Agora podemos imediatamente a partir de B> Avançar, vamos criar uma fonte de dados para conectar-se ao servidor SQL, para não armazenar essa fonte em cada relatório, mas armazenar apenas um link para ela. Isso é feito para que, no caso de alterar o endereço do servidor SQL, não seja necessário editar todos os relatórios, ou seja, vamos consertar tudo em um só lugar.

      Para isso emSolution Explorer"No parágrafo"Fontes de dados compartilhadas"Clique com o botão direito"Adicionar nova fonte de dados».

      Depois, indicamos o nome da nossa fonte e, consequentemente, escolhemos que tipo de fonte. No nosso exemplo, isso é "Microsoft SQL Server".

      Para especificar a cadeia de conexão, clique em Editare preencha os dados relevantes, ou seja, no nosso caso, é localhost, o banco de dados de teste. Também aqui você precisa definir o tipo de autenticação, se você especificar o tipo "Usar autenticação do Windows”, O servidor SQL será conectado em nome da conta na qual você carregou o sistema operacional. Se você especificar "Usar autenticação do SQL Server", Portanto, uma conta especial deve ser estabelecida no servidor e, é claro, o próprio servidor deve ser configurado para esse método de autenticação. Por exemplo, vou usar a autenticação do Windows.

      Você pode clicar em "Verifique a conexão"E se tudo estiver bem, clique em"Ok" Após o qual a cadeia de conexão será exibida, e podemos clicar em "Ok»Para criar uma fonte de dados comum. No Solution Explorer, teremos a fonte de dados recém-criada.

      Criação de relatórios

      Agora vamos criar o próprio relatório, para isso, no Gerenciador de Soluções, clique com o botão direito do mouse em "Relatórios -> Adicionar -> Criar Item»

      Nota!Se você notou que existe um item "Adicionar um novo relatório", mas se clicar nele, o assistente de criação de relatórios será iniciado, é mais conveniente criar relatórios do zero sem usar o assistente.

      Então na janela "Adicionando um novo item"Nos modelos, selecionamos"Relatório”E no nome do item, definimos o nome do nosso relatório.

      Em seguida, você pode configurar o ambiente como quiser, mas para ter as seguintes janelas em mãos: Gerenciador de Soluções, Caixa de Ferramentas, Propriedades e Dados do Relatóriouma vez que essas janelas serão necessárias com bastante frequência.

      Por exemplo, é conveniente para mim assim

      Agora crie uma fonte de dados para o relatório, ou seja, conforme combinado, crie um link para uma fonte de dados comum. Para fazer isso, no "Dados do relatório"Clique"Criar -> Fonte de Dados»Ou você também pode clicar com o botão direito do mouse no item de fontes de dados.

      Onde definimos o nome da fonte de dados e selecionamos "Use um link para uma fonte de dados compartilhada", Clique em"Ok».

      Em seguida, adicionamos um conjunto de dados, sugiro usar uma consulta simples que selecione todos os dados da nossa tabela de teste

      Clique em "Criar -> Conjunto de Dados"Ou novamente através do botão direito.

      Na janela "Propriedades do conjunto de dados"Definimos o nome do conjunto de dados, selecione"Use o conjunto de dados incorporado no relatório"E no texto da solicitação, respectivamente, insira nossa solicitação, clique em"Ok»

      Resta projetar o próprio modelo de saída de informações, para esse fim em um layout com "Barras de ferramentas"Arrastar e soltar"Quadro" Este item é ótimo para exibir dados tabulares.

      Agora você pode arrastar os campos do conjunto de dados para esta tabela para exibir.

      Em princípio, você pode verificar imediatamente a operação deste relatório e, para isso, vá para "Ver", Ie. portanto, você pode depurar sem publicar o relatório no servidor.

      E para publicar o relatório e todo o projeto no servidor de relatório, você precisa no item de menu "Prédio"Clique"Expand Projeto de teste»

      Depois disso, se você for para "Gerenciador de Relatórios", O padrão é http: // localhost / Relatórios, você verá que apareceu um diretório "Projeto de teste"Que contém o relatório"Teste”, Bem como uma fonte de dados apropriada. Para executar o relatório, vá para o diretório e clique no relatório.

      На этом предлагаю заканчивать, в следующих материалах мы рассмотрим процесс создания более сложных отчетов с использованием группировок, параметров, интерактивных сортировок и других крутых возможностей SQL Server Reporting Services. Boa sorte