none
Ajuda em Expressão IIF RRS feed

  • Pergunta

  • Olá galera blz?

    estou com uma dificuldade em montar uma expressão.

    E venho mais uma vez recorrer a quem conhece bem o Reporting Services.

    Estou tentando fazer a seguinte expressão:

    =IIF(StrConv(Fields!Natureza.Value) ,1 + "1-Pessoa Juridica", 2 + "2-Pessoa Física", 3 + "3-Dom. Exterior-P.Juridica", 4 + "4-Dom. Exterior-P.Física")


    Não sei se está certa. O Campo Natureza é um Campo Tipo Numérico. Então precisa

    A saída deve ser, se o Tipo de Natureza for 1, tem que aparecer no Report 1-Pessoa Juridica, se for 2, 2 - Pessoa Fisica, se for 3, 3 - Dom. Exterior-P.Jurídica, ou se for 4, 4-Dom. Exterior-P.Física


    Desde já agradeço a ajuda.

    Atenciosamente.

    Welington Pereira.

    quinta-feira, 2 de outubro de 2008 17:52

Respostas

Todas as Respostas

  • E ae Wellington,

       a função IIF, funciona assim: IIF(condição, "se verdadeiro", "se falso")

    exemplo: No exemplo abaixo o IIF vai verificar se o campo valor está vazio, se a primeira condição for true será mostrado o valor null, se for false vai aparecer o valor de outroCampo.
    IIF(isEmpty(valor),null, outroCampo)



    quinta-feira, 2 de outubro de 2008 18:02
  •  

    Wellington,

     

    Como o Nayron postou, a funcao iif funciona para condicoes verdadeiras ou falsa. A que voce estah querendo eh a funcao CHOOSE, que funciona exatamente da maneira que vc colocou.

     

    Att

    Boreki

    quinta-feira, 2 de outubro de 2008 20:26
  • Valeu Boreki / Nayron pela "Dica", achei um metodo mais simples também de usar o case na hora de montar a Query.


    Agora tenho mais uma dificuldade, hehehe.

    Como que eu posso fazer uma mascara de CPF/CNPJ, no caso vai ser usado o IIF, mais uma vez no Centura Report Builder é feita esta expressão StrIFF( StrLength(StrRTrim(CLIE_CGC))-11 , CLIE_CGC , StrMid( CLIE_CGC , 0, 3) || '.' || StrMid( CLIE_CGC, 3, 3) || '.' || StrMid( CLIE_CGC , 6, 3) || '-' || StrMid( CLIE_CGC , 9, 2) , StrMid( CLIE_CGC , 0, 2) || '.' || StrMid( CLIE_CGC, 2, 3) || '.' || StrMid( CLIE_CGC , 5, 3) || '/' || StrMid( CLIE_CGC , 8, 4)  || '-' || StrMid( CLIE_CGC , 12, 2) )

    A idéia é se o campo for CPF, ele terá de mostrar o CPF  desta forma ex. 333.333.333-33

    agora se for o CNPJ aí vai ter que ser desta forma ex. 00.000.000/0000-00


    Agradeço a ajuda de "vcs"



    Welington 05

    terça-feira, 7 de outubro de 2008 13:39
  • Wellington,

     

    Da uma olhada neste post:

    http://forums.microsoft.com/msdn-br/ShowPost.aspx?PostID=2578035&SiteID=21

     

    Abraco

    Boreki

     

    terça-feira, 7 de outubro de 2008 16:14
  • Boreki, agradeço a informação.

    Mas ainda ñ funcionou o código.

    Tentei desta maneira

    =IIF(Len(Rtrim(Fields!CGC.Value))-11, Mid(Fields!CGC.Value , 0,3)+"."+ Mid(Fields!CGC.Value , 3,3)+"."+Mid(Fields!CGC, 6,3)+"-"+Mid(Fields!CGC, 9,2), Mid(Fields!CGC.Value , 0.2)+"."+Mid(Fields!CGC.Value ,2,3)+"."+Mid(Fields!CGC.Value ,5,3)+"/"+Mid(Fields!CGC.Value , 8,4)+"-"+Mid(Fields!CGC.Value ,12,2))



    Mas quando faço o Preview aparece #Error no Campo.


    Atenciosamente.

    Welington Pereira.

    quarta-feira, 8 de outubro de 2008 17:57
  •  

    Welington,

     

    Postei a resposta para esse problema, no link em anexo.

    http://forums.microsoft.com/MSDN-BR/ShowPost.aspx?PostID=3982015&SiteID=21&mode=1

     

     

    []' s

     

    Laércio

    • Marcado como Resposta Welington 05 sexta-feira, 27 de agosto de 2010 14:30
    quinta-feira, 9 de outubro de 2008 15:24