none
Utilizar expression em parâmetro RRS feed

  • Pergunta

  • Boa tarde,

    Estou desenvolvendo um relatório em que algumas regras devem ser colocados no parâmetro.
    O relatório emite as disciplinas que o aluno cursou de acordo com a sua série.
    O que eu preciso? Para cursos normais seleciono a série e no relatório trás as disciplinas que o aluno cursou desta série. Para cursos especiais, preciso que quando seja escolhida a série 2 por exemplo, apareça além das disciplinas da série 2 as da série 1 também. Se ele escolhe da série 3, aparece da 1, 2 e 3...e assim sucessivamente.
    É possível colocar isso na expression do parâmetro, dizendo quando um curso é normal ou não e pedindo pra ele filtrar as disciplinas?
    Segue abaixo o que eu tentei fazer, mas não deu certo.

    =iif(Parameters!CURSO.Value = "especial", iif(Parameters!SERIE.Value = "2", First(Fields!SERIE.Value, "DataSet1") = "1" and First(Fields!SERIE.Value, "DataSet1") = "2", "2"), "2")

    Alguém pode me ajudar? Pleaseee.
    Obrigada,
    Natália

    quarta-feira, 28 de outubro de 2009 17:41

Todas as Respostas

  • Natália,

    Você deseja colocar este expression no seu parâmetro?
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    quarta-feira, 28 de outubro de 2009 19:01
  • Sim.

    quarta-feira, 28 de outubro de 2009 19:16
  • Natalia,

    Pelo que entendi voce tem 2 parametros, no primeiro voce seleciona a serie e o segundo mostraria as disciplinas.

    Se esse eh o caso, entao o segundo parametro voce deve fazer baseado em um dataset, que traz as disciplinas baseado no parametro da serie. Crie um dataset parameter e associe ao parametro da serie. Desta forma ao selecionar a serie, os cursos relacionados aquela seria serao listados no segundo parametro.

    A expressao que voce colocou no exemplo poderia ser usada no campo 'Default Value do parametro'. Caso voce queria usar isso dentro do relatorio, voce pode criar um 'calculated field' ou um ' report variable'.

    Att
    Boreki
    http://www.boreki.eng.br
    quarta-feira, 28 de outubro de 2009 21:42
  • Boreki,
    Não são dois parâmteros. A disciplina se encontra no corpo do relatório.
    Os parâmetros são apenas o tipo do curso e a série.

    quinta-feira, 29 de outubro de 2009 18:14
  • Natália,

    Certo, as disciplinas estão no corpo do relatório, mas de acordo com a seleção do usuário as disciplinas deverão ser apresentadas.

    É isso?
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    sexta-feira, 30 de outubro de 2009 00:00
  • Isso, no caso eu escolho o curso e a série. Quando o curso for normal aparece a disciplina de acordo com a série, e se o curso for especial ele "soma" as séries...
    Por exemplo:

    Parâmteros:
    Curso: Normal
    Série:2

    Corpo do relatório

    1ª disciplina da série 2
    2ª disciplina da série 2
    ...

    e pra cursos Especiais

    Parâmteros:
    Curso: Especial
    Série:2

    Corpo do relatório

    1ª disciplina da série 1
    2ª disciplina da série 1
    1ª disciplina da série 2
    2ª disciplina da série 2
    ...

    Será que deu pra entender?
    sexta-feira, 30 de outubro de 2009 17:52
  • Natalia,

    Neste caso voce deve passar os dois parametros para o seu dataset, e fazer a sua query trazer as informacoes de todas as series quando o curso for normal. Voce nao precisa fazer alteracoes no relatorio ou nos parametros. Por exemplo

    select disciplinas from table where (@serie = 2 and @curso = normal) OR (@serie <=2 and @curso = especial)

    Att
    Boreki
    http://www.boreki.eng.br
    sexta-feira, 30 de outubro de 2009 21:03