Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Atualizando os parâmetros do relatório com base na seleção de parâmetros? (SSRS)


Isso funciona automaticamente se você ordenar seus parâmetros e conjuntos de dados corretamente
  • Primeiro, configure um conjunto de dados primário (relatório) e, em seguida, um conjunto de dados para cada menu suspenso de parâmetro. Codifique o WHERE cláusula nos conjuntos de dados para corrigir as dependências nas variáveis ​​de parâmetro
  • Em segundo lugar, ordene seus parâmetros no Relatório | Menu de parâmetros para que o primeiro variável/parâmetro que você deseja que o usuário preencha está na parte superior e faz com que o segundo conjunto de dados dependa desse parâmetro. Siga esta ordenação através dos parâmetros; os parâmetros finais devem ser aqueles dos quais o conjunto de dados do relatório real depende.
  • Repita para parâmetros subsequentes

Isso funcionará se o seu WHERE cláusula no segundo e nos conjuntos de dados subsequentes têm variáveis ​​que o SSRS sabe que são preenchidas a partir de parâmetros anteriores.

Como exemplo, tenho três conjuntos de dados dos veneráveis ​​pubs banco de dados (amostra em 2000).

pubslist é usado para preencher o parâmetro @p e se parece com isso:
 select pub_id, pub_name from publishers

titleslist preenche o parâmetro @t e fica assim:
 select title_id, title from titles where pub_id = @p

Por fim, reportdataset se parece com isso:
 select title, price, ytd_sales from titles where title_id = @t

A ordem dos parâmetros no Report | Report Parameters menu é crucial; como os conjuntos de dados devem ser executados na ordem mostrada acima e o parâmetro @t está em um conjunto de dados que depende do parâmetro @p ser definido primeiro, movemos @p para o topo da lista.

Agora, o SSRS avalia o conjunto de dados necessário para preencher a lista suspensa do primeiro parâmetro com rótulos. Ele se baseia em um conjunto de dados que não precisa de um parâmetro, portanto, pode ser produzido imediatamente.

Então, tendo obtido esse valor de parâmetro, ele pode preencher o menu suspenso do segundo parâmetro. Isso, por sua vez, resulta na produção do relatório.