none
Parameter chamar varios datasets RRS feed

  • Pergunta

  • Pessoal,

    Gostaria de saber se é possivel realizar a chamadas e N datasets com um unico parametro?

    Preciso ao selecionar a opção do parametro trazer o dataset relacionado a essa opção, mais não sei se isso é possivel, por enquanto não encontrei nada, caso alguem saiba de alguma informação que possa me ajudar, agradeço desde já.

    Obrigado

    quinta-feira, 18 de outubro de 2012 15:22

Respostas

  • Existem diversas formas de você atingir o que você quer. Uma delas, você cria 2 datasets, usados por duas tabelas (ou subrelatorios), cada dataset ira trazer os dados referentes a um tipo de data. Baseado no parâmetro tipo de data você esconde a tabela/subrelatorio.

    Outra alternativa, um parâmetro no dataset que recebe o tipo da data e passa para um stored procedure que sabe qual a consulta mais apropriada. Caso você não tenha acesso a criar uma stored procedure, você pode usar uma consulta baseada em expressão, por exemplo:

    =Switch(Fields!TipoData.Value = "relatório_finte","SELECT CAMPOS FROM RELATORIO_FONTE", Fields!TipoData.Value = "relatório cadastro","SELECT CAMPOS FROM RELATORIO_CADASTRO")

    Um dos problemas em se usar uma expressão para definir a sua query, é que o wizard não vai conseguir executar a consulta, de modo que você pode precisar criar os campos do dataset na mao (ou pre-executar uma consulta antes de alterar para expressão).

    Att

    Boreki


    Boreki[MSFT] - SQL Server Reporting Services

    • Marcado como Resposta chilipi_10 terça-feira, 23 de outubro de 2012 12:53
    quinta-feira, 18 de outubro de 2012 17:40

Todas as Respostas

  • O que você quer dizer com "trazer o dataset relacionado a essa opção"?

    Os datasets podem ser parametrizados com base em parâmetros, datasets também podem ser uma expressão baseada em parâmetros (e.g. você por influenciar o seu select usando parâmetros, o que pode retornar dados diferentes).


    Boreki[MSFT] - SQL Server Reporting Services

    quinta-feira, 18 de outubro de 2012 16:56
  • Boreki,

    Quanto falei "trazer o dataset relacionado a essa opção", me referei no seguinte exemplo:

    Tenho um campo do tipo data "dd/mm/yyyy" onde posso chamar de "Data Fonte" ou "Data Cadastro", ai tenho o parametro @tipodata, então quando ele for selecionado preciso que ele receba o dataset "relatorio_fonte" ou "relatorio_cadastro", isso é possivel?

    Obrigado

    quinta-feira, 18 de outubro de 2012 17:18
  • Existem diversas formas de você atingir o que você quer. Uma delas, você cria 2 datasets, usados por duas tabelas (ou subrelatorios), cada dataset ira trazer os dados referentes a um tipo de data. Baseado no parâmetro tipo de data você esconde a tabela/subrelatorio.

    Outra alternativa, um parâmetro no dataset que recebe o tipo da data e passa para um stored procedure que sabe qual a consulta mais apropriada. Caso você não tenha acesso a criar uma stored procedure, você pode usar uma consulta baseada em expressão, por exemplo:

    =Switch(Fields!TipoData.Value = "relatório_finte","SELECT CAMPOS FROM RELATORIO_FONTE", Fields!TipoData.Value = "relatório cadastro","SELECT CAMPOS FROM RELATORIO_CADASTRO")

    Um dos problemas em se usar uma expressão para definir a sua query, é que o wizard não vai conseguir executar a consulta, de modo que você pode precisar criar os campos do dataset na mao (ou pre-executar uma consulta antes de alterar para expressão).

    Att

    Boreki


    Boreki[MSFT] - SQL Server Reporting Services

    • Marcado como Resposta chilipi_10 terça-feira, 23 de outubro de 2012 12:53
    quinta-feira, 18 de outubro de 2012 17:40
  • Boreki,

    Obrigado por enquanto, vou tentar com as explicações que me passou, assim que terminar informo se deu certo.

    Obrigado.

    quinta-feira, 18 de outubro de 2012 18:49