none
Fazer condição RRS feed

  • Pergunta

  • Boa tarde

    Estou tentando fazer um iff porem não tenho muito conhecimento e queria uma ajuda dos senhores:

    Tenho um relatório porem quero colocar uma condição que se os campos  (DATABAS = FERIASBAS) , ele não imprima este funcionario?

    Existe como fazer isso no Reporting,

    att

    Marcelo

     

     

     

     

     

     


    Marcelo
    quarta-feira, 3 de agosto de 2011 20:49

Respostas

  • Acho que ficou muito grande a questão acima, vou resumir:

    Eu tenho a condição

    AND

    RF_DATABAS <>

    '20091101'

    Quando eu subistituo por

    AND

    RF_DATABAS <> RH_DATABAS, não funciona!!!! E o conteudo é exatamento 20091101, será que pode ser questão de relacionamento entre as tabelas?

     


    Marcelo
    • Marcado como Resposta marcelltec terça-feira, 9 de agosto de 2011 13:30
    quinta-feira, 4 de agosto de 2011 19:43

Todas as Respostas

  • Marcel,

     

    Voce esta consumindo isso diretamente de uma query que esta vindo de um dataset? Se sim, não seria mais performatico simplismente filtrar os dados pelo dataset e apenas exibi-los? falando no ponto de vista do RS, voce não trataria nada pelo relatorio, falando pelo DBEngine, um indice nessa tabela filtro te traria muita performance.


    Fabrizzio A. Caputo
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    quarta-feira, 3 de agosto de 2011 21:03
    Moderador
  • Boa noite

     

    Obrigado por reponder Fabricio, sou novato com o Reporting, logo varias duvidas vão surgindo, vou postar meu relatório para voce entender a logica, e esta condição pode ser sim dentro da query. O que eu quero é filtrar uma condição para não sair no relatório.

    SELECT     SRA010.RA_MAT AS MATRICULA, SRA010.RA_NOME AS FUNCIONARIO, SR6010.R6_TURNO AS TURNO, SR6010.R6_DESC AS DESCTURNO,
                          SRA010.RA_CC AS CENTROCUSTO, CTT010.CTT_DESC01 AS DESCCC, SRJ010.RJ_DESC AS FUNCAO, SRF010.RF_DFERAAT AS DIASFERIAS,
                          SRA010.RA_ADMISSA AS DTAADMISSAO, SRF010.RF_DATABAS AS DTABASEFERIAS, SRF010.RF_DATAINI, SRF010.RF_DATINI2, SRA010.RA_FILIAL,
                          SRH010.D_E_L_E_T_ AS Expr2
    FROM         SRA010 INNER JOIN
                          SR6010 ON SRA010.RA_TNOTRAB = SR6010.R6_TURNO INNER JOIN
                          CTT010 ON SRA010.RA_CC = CTT010.CTT_CUSTO INNER JOIN
                          SRJ010 ON SRA010.RA_CODFUNC = SRJ010.RJ_FUNCAO INNER JOIN
                          SRF010 ON SRA010.RA_MAT = SRF010.RF_MAT INNER JOIN
                          SRH010 ON SRF010.RF_DATINI2 = SRH010.RH_DATAFIM
    WHERE     (SRA010.RA_DEMISSA = ' ') AND (SRA010.D_E_L_E_T_ <> '*') AND (SR6010.D_E_L_E_T_ <> '*') AND (CTT010.D_E_L_E_T_ <> '*') AND
                          (SRJ010.D_E_L_E_T_ <> '*') AND (SRF010.D_E_L_E_T_ <> '*') AND (SR6010.R6_TURNO >= @TURNOINI) AND (SR6010.R6_TURNO <= @TURNOFIM)
                          AND (SRA010.RA_SITFOLH = '  ') AND (CTT010.CTT_CUSTO >= @CCUSTO) AND (CTT010.CTT_CUSTO <= @CCUSTO1) AND (SRH010.D_E_L_E_T_ <> '*')

    " OS NESTE RELATÓRIO TEM DUAS TABELAS, RF_DATABAS e RH_DATABAS , caso elas tenha o mesmo conteudo, o dado não sairá no relatório"

    Esta é a condição que não estou sabendo colocar


    ORDER BY MATRICULA

     

     


    Marcelo
    quarta-feira, 3 de agosto de 2011 23:04
  • Acho que ficou muito grande a questão acima, vou resumir:

    Eu tenho a condição

    AND

    RF_DATABAS <>

    '20091101'

    Quando eu subistituo por

    AND

    RF_DATABAS <> RH_DATABAS, não funciona!!!! E o conteudo é exatamento 20091101, será que pode ser questão de relacionamento entre as tabelas?

     


    Marcelo
    • Marcado como Resposta marcelltec terça-feira, 9 de agosto de 2011 13:30
    quinta-feira, 4 de agosto de 2011 19:43
  • RF_DATABAS se liga a que tabela da sua clausula from?

    Supondo que seja com a tabela SRA010.

    INNER JOIN RF_DATABAS ON RF_DATABAS.ATRIBUTO = SRA010.ATRIBUTO

    LEFT JOIN RH_DATABAS ON RF_DATABAS.ATRIBUTO = RH_DATABAS.ATRIBUTO

    WHERE RH_DATABAS.ATRIBUTO IS NULL

     

    ISSO TRAS TODOS AS LINHAS QUE ESTAO EM RF_DATABAS E NAO ESTAO EM RH_DATABAS.

    Na verdade é uma questao de SQL e nao RS.

    quarta-feira, 10 de agosto de 2011 17:16