Escolar Documentos
Profissional Documentos
Cultura Documentos
mecânico, sem a permissão expressa por escrito da Domínio Sistemas Ltda. Nesse caso,
somente a Domínio Sistemas poderá ter patentes ou pedidos de patentes, marcas
comerciais, direitos autorais ou outros de propriedade intelectual, relacionados aos
assuntos tratados nesse documento. Além disso, o fornecimento desse documento não
lhe concede licença sobre tais patentes, marcas comerciais, direitos autorais ou outros de
propriedade intelectual; exceto nos termos expressamente estipulados em contrato de
licença da Domínio Sistemas. É importante lembrar que as empresas, os nomes de
pessoas e os dados aqui mencionados são fictícios; salvo indicação contrária.
© 1998 2014 Domínio Sistemas Ltda. Todos os direitos reservados.
Sugestões
A Domínio Sistemas busca aumentar a qualidade dos seus produtos
continuamente. Um exemplo disso é esse material, que tem como objetivo aumentar a
produtividade e o desempenho dos usuários de nossos sistemas.
O processo de elaboração desse material passou por freqüentes correções e
testes de qualidade, mas isso não exime o material de erros e possíveis melhorias. Para
que haja melhoras, nós contamos com o seu apoio. Caso você tenha alguma sugestão,
reclamação ou até mesmo encontre algum tipo de erro nesse material, solicitamos que
você entre em contato conosco. Dessa forma, poderemos analisar suas sugestões e
reclamações para corrigir eventuais erros.
Para entrar em contato com o nosso Centro de Treinamento, escreva para
treinamento@dominiosistemas.com.br. Relate, pois, a sua sugestão, reclamação ou o
erro encontrado e sua localização para que possamos fazer as devidas correções. Você
também dispõe do seguinte formulário para enviar-nos suas notações. Basta destacar
essa folha, relatar sua sugestão e/ou reclamação e remeter ao seguinte endereço:
Centro de Treinamento Domínio
Avenida Centenário, 7405
Nossa Senhora da Salete
Criciúma – SC – CEP: 88815-001
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
Índice
Visão Geral do Curso................................................................................................................07
Descrição..............................................................................................................................07
Objetivos..............................................................................................................................07
1. Introdução..............................................................................................................................06
2. Argumento Seleção................................................................................................................06
3. LEFT OUTER JOIN..............................................................................................................12
4. Sub-consulta……….. ............................................................................................................18
5. IN e NOT IN..........................................................................................................................20
6. EXISTS e NOT EXISTS.......................................................................................................21
7. COUNT..................................................................................................................................23
8. Duas ou mais quebras.............................................................................................................25
9. Funções...................................................................................................................................36
9.1. CumulativeSum()..........................................................................................................37
9.2. Extenso().......................................................................................................................38
9.3. Extenso_Numero() .......................................................................................................39
9.4. Year(), Month() e Day()................................................................................................41
9.5. TrazNomeMes()............................................................................................................45
9.6. Left() e Right()..............................................................................................................46
9.7. Len() e Length()............................................................................................................49
9.8. Trim ()...........................................................................................................................51
9.9. Lower(), Upper() e WordCap .......................................................................................54
9.10. GetRow ()....................................................................................................................57
9.11. Today ().......................................................................................................................58
9.12. List ()...........................................................................................................................59
9.13. Min() e Max ().............................................................................................................62
9.14. IsNull() e Coalesce ()...................................................................................................63
9.15. IF..................................................................................................................................67
9.16. CASE...........................................................................................................................70
10. Destacar Linhas.....................................................................................................................73
Visão Geral do Curso
Descrição
Objetivos
2 – Argumento “Seleção”
Com o módulo Folha aberto criamos um novo relatório, com o nome “Relação de
Empresas”, classificação “Treinamento”, a qual, nós já temos criada.
Após abrir a janela
la “Definição da Fonte de
de dados” selecionamos os campos
referente as Empresas:
Podemos
odemos também criar um argumento para que o usuário selecione a situação que
deseja emitir no relatório. Para isso devemos inserir um argumento,
argumento, para fazer a seleção
do campo “situação”, conforme abaixo:
Em seguida, adicionamos a condição referente à Situação. Por enquanto, como o
relatório ainda está muito básico, iremos utilizar a guia Seleção para fazer os
relacionamentos e as condições, conforme imagem a seguir:
Para auxiliar o usuário na hora da emissão, pois nem todos os usuários tem
conhecimento
ecimento que “A” refere-se
refere se à situação Ativas ou “I” e “C” às suas respectivas
situações, podemos inserir no campo texto uma descrição que o auxilie, como mostra o
exemplo abaixo:
O comando LEFT OUTER JOIN significa “Junção Externa à Esquerda”, ou seja, ele
faz a junção da tabela à direita à tabela à esquerda, como exemplo criaremos
criarem um relatório
de dependentes.
- Criamos o relatório;
- Incluímos as colunas “Código da Empresa, Código do Empregado e Nome da
tabela de empregados (Empregados – (foempregados));
- Criamos um argumento para selecionar a empresa;
- Incluímos na aba Seleção
Seleção o relacionamento do código da empresa com o
argumento de empresa.
Como existe o LEFT OUTER JOIN existe também o RIGHT OUTER JOIN que é o
inverso do comando anterior, caso seja inserida no SQL do relatório a mesma irá emitir
todos os empregados da tabela à direita independentemente se há dados na tabela da
esquerda. Ficaria da seguinte forma:
4 – SUB-CONSULTA
Iremos utilizar o mesmo relatório para explicar os comandos IN e NOT IN, para o
primeiro exemplo iremos emitir apenas os empregados 2, 3 e 15, por isso adicionamos no
relacionamento
mento do SQL principal o seguinte comando:
“AND bethadba.foempregados.i_empregados IN (2,3,15)”
Onde o comando “IN” faz com que o relatório emita apenas os empregados
informados dentro dos parênteses. Sendo emitido conforme abaixo:
Utilizando o comando “NOT IN” o mesmo tem objetivo inverso, ou seja, faz com
que o relatório emita apenas os empregados que não foram informados dentro dos
parênteses.
“AND bethadba.foempregados.i_empregados IN (2,3)”
Sendo emitido conforme abaixo:
No primeiro
ro treinamento utilizamos apenas uma quebra, porém podemos utilizar
mais de uma quebra por relatório. Criaremos um novo relatório de nome “Empresas –
Departamentos”.
Sendo emitido
do conforme abaixo:
Neste tópico iremos dar explicar várias funções que podem deixar
deixar um relatório, mais
completo e organizado. Primeiramente criamos um novo relatório com o nome
“Empregados – Funções”. Em seguida adicionamos pela guia “Colunas” os campos
“Código da empresa, Código do empregado, Nome do empregado e Salário”. Criamos o
argumento “empresa” e adicionamos o relacionamento de empresa na guia “Seleção”
utilizando o argumento “empresa”. Em analise ao SQL, o mesmo deve ficar da seguinte
forma:
Os números após as variáveis são valores padrões utilizados nesta função, por
isso sempre que for usada esta funções os números
números devem permanecer os mesmos.
Estas expressões são utilizadas quando o usuário quiser mostrar apenas um dos
números de uma data inteira. Ex: year(admissão), mostra apenas o ano da admissão.
Para demonstrar melhor, acessamos a Definição da Fonde de Dados do relatório e
adicionamos através da guia Colunas o campo Admissão(admissão).
Esta expressão traz o nome do mês por extenso, a mesma é utilizada com a
função month(). Conforme exemplo abaixo, adicionamos no campo computado referente
ao mês criado anteriormente a expressão “TrazNomeMes(month(admissão))”.
Como temos espaços no início do nome de JOAO, o relatório ao ser emitido não
encontra dados. Isso acontece pois quando a condição é feita usando
usando “Strings” o campo a
ser encontrado deve estar cadastrado igual a condição feita.
9.10. GETROW()
Utilizamos esta função para retornar a data atual, ou seja, a data que está
informada no sistema Windows.
,
9.12. LIST()
A função list() serve para trazer mais de um registro em uma linha. Para o exemplo
desta função iremos criar um novo relatório de nome “Exemplo List”.
Adicionamos os campos “codi_emp”
“codi_emp” e “nome_emp” da tabela de
empresas(geempre).
Dentro da função list() também podemos incluir outros campos, como o código do
empregado separando os campos por ifem, conforme demonstramos acima. Convertemos
o campo
mpo “i_empregados” para String e adicionamos dentro do list(). Adicionamos também
um filtro por empresa, sendo demonstrados apenas os empregados das empresas 9996,
9997, 9998 e 9999.
Estas funções são utilizadas para pegar o menor e o maior registro do campo
selecionado. No exemplo utilizamos o mesmo campo computado criado no tópico anterior,
e inserimos o max() antes do campo do funcionário, conforme demonstra imagem abaixo.
‘O
O complemento do endereço é: ‘ + complemento
Para utilizar as funções deste tópico em um campo computado o mesmo deve ser
utilizado com a função “IF” que será explicada no próximo tópico. É utilizada da seguinte
forma:: If ( Isnull (complemento), ‘Sem complemento’, complemento),, ou seja, se o
complemento for vazio, mostra a frase ‘Sem complemento’,, caso contrário demonstra
demonstr o
campo.
IF – condição
THEN – Verdadeira
ELSE – Falsa
ENDIF para finalizar a função.
.
9.16. CASE
‘O
O estado civil do empregado é:
é ‘ + estado_civil
Nesta situação, podemos utilizar a função case que permite inclui não apenas um
condição para o campo, mas sim várias. Neste caso, poderíamos utilizar a tabela de
valores explicado
plicado no primeiro treinamento,
treinamento, ou utilizarmos a função case que é formada da
seguinte forma: