Olá pessoal bem-vindos a mais uma aula sobre a rotina 800 e hoje eu quero falar com vocês a respeito de três tópicos aqui na rotina 800 um como criar filtros na filtros de relatórios aqui na rotina Como trabalhar com gráficos e três Como trabalhar com tabela dinâmica na rotina 800 vamos lá então eu vou começar aqui criando um novo relatório vou criar aqui dentro da pasta de relatórios Lucas Ah mas como que eu faço para criar é uma nova pasta basta clicar aqui no botão de Nova Pasta você pode trabalhar criando pastas para separar os
relatórios por departamento comercial administrativo financeiro entre outros eu vou jogar aqui dentro dessa pasta o relatório que eu vou criar hoje vai ser a respeito de quantidade vendida por produto como eu vou criar um relatório de quantidade vendida eu vou fazer uma busca vou montar um skl na tabela PC move que é a tabela que nós usamos para consultar produtos vendidos Lembrando que temos que clicar aqui em editar skl para começar a trabalhar o nosso SQL fazer um select aqui onde esse SQL vou montar aqui select from PC move onde Por enquanto eu vou trabalhar
só dessa forma aqui e eu já vou fazer um buscar uns Campos aqui eu vou buscar aqui o código de produto vou buscar aqui a descrição a descrição da PC move é o nome do produto Então vou renomear para produto e eu vou fazer um Sum aqui no campo qt e vou chamar esse esse Sum de qt vendida só de fazer isso já vou montar um group byy aqui nesses dois Campos como a minha base é pequena ela já vai retornar resultado o relatório criamos aqui é o 8040 esse último aqui já vou mandar fazer
uma pesquisa para já validar se o nosso SQL inicialmente ele tá correto inicialmente sim ele já trouxe aqui o código de produto o produto a quantidade vendida desses produtos que agora eu quero começar a criar alguns filtros para vocês e eu quero criar um filtro para buscar produtos excluídos sim ou não então para isso eu tenho que criar um um relacionamento entre a PC move e a PC produt já fiz o nosso relacionamento aqui como eu montei agora o SQL vinculando duas tabelas eu tenho que renomear os campos mencionando de qual tabela é essa informação
Pronto já vinculei aqui a nossa PC produt antes de criar o filtro eu vou fazer um Decode eu vou fazer uma busca uma validação para saber se o produto ele está excluído ou não então eu faço aqui um Decode o vou fazer um Decode no campo DT exclusão caso esse campo esteja nulo eu vou eu quero que o SQL ele retorne a informação para mim de n de não estar excluído pelo fato da data de exclusão estar vazia Caso esteja caso não senão ele vai trazer informação de Sim e eu já vou chamar esse campo
de excluído vou mandar executar aqui o nosso SQL deu erro no grupo by onde eu tenho que vincular esse campo novo que eu criei no grup byy também acabei de inserir ele aqui dentro do grup byy já vou fazer a pesquisa o esql ele já me retornou com sucesso a informação falando que a maioria dos produtos não está excluído com exceção desse aqui que está excluído então aqui agora eu quero trabalhar com os nossos filtros os filtros primeiro eu tenho que colocar eles dentro do SQL e eu vou começar colocando aqui os filtros padrões que
geralmente são usados como filtro de data então o o campo de data da de venda é o DT move da PC move Então vou filtrar as vendas cujo data esteja um entre aí eu coloco os filtros aqui na aqui no na rotina 800 para montar um filtro basta eu colocar dois pontos e na frente o nome do filtro então aqui eu tô trabalhando aqui com filtro de data de venda filtrando duas determinadas datas vou trabalhar também com esse filtro de excluído para trazer só produtos excluídos sim ou não e eu vou colocar aqui alguns filtros
a mais que a gente usa também como filial e produto por exemplo sempre que formos colocar filtro que permitem múltiplas seleções nós temos que inserir o filtro com Win dessa forma aqui porque é através do in que eu permito Vários valores dentro do parêntese se eu colocar o igual o igual ele aceita um único filtro um único resultado eu não eu não permito múltipla seleção com in eu já permito Vou colocar aqui agora um filtro de produto também com porque eu quero permitir também múltipla seleção o nosso relatório princípio o nosso SQL a princípio ele
tá ok já vou fazer uma validação Inicial mandando executar ele sem formar filtro nenhum para ver se está tudo 100% ou não aqui ele retornou um erro porque eu chamei ali o DT exclusão de PC move sendo que esse esse campo DT exclusão Ele está na PC produ então tudo que eu coloquei aqui PC move eu vou arrumar agora colocando PC produt para esse campo de ter exclusão visto que ele é de outra tabela já vou mandar executar novamente para ver se ele vai retornar os dados com sucesso se sim é porque o nosso skl
Tá certo vou voltar aqui agora no SQL para dar uma conferida Ok vou clicar em avançar e vou para os filtros aqui nos filtros a primeira coisa que eu faço nos filtros aqui é ajustar a legenda desses filtros então eu coloco aqui data Inicial data final inserir produtos excluídos Pronto já coloquei aqui as legendas do dos nossos filtros vejam que agora no nosso relatório ele já traz a legenda mais bonitinha data Inicial data final inserir produtos Beleza vou mandar editar novamente os filtros e agora eu vou selecionar os tipos corretos de filtro toda vez que
for data o tipo do filtro é data esse excluído aqui eu vou trabalhar com um tipo diferente para ele que é esse group Box que é um filtro que me permite eu selecionar valores pré-definidos como sim não vou mostrar para vocês em um instante e aqui eh filtros que permitem ter múltipla seleção sempre trabalhamos com consulta os tipos de filtros mais usados São Edit onde o edit eu coloco um valor fixo um valor que a pessoa ela digita na tela o lista é a mesma coisa do Edit porém o lista ele permite mais de um
separando por ponto por vírgula ou ponto e vírgula eh o esse group Box eu uso bastante e o consulta e o data são os mais utilizados tô selecionei três aqui para vocês para demonstrar os mais utilizados aqui no group Box Nós temos que colocar nos itens aqui quais valores eles o nosso filtro vai receber então eu coloco aqui ó ambos sem valor nenhum por que sem valor nenhum porque eu quero que quando a pessoa clicar em ambos que traga tanto Sim quanto Não por isso que o ambos tá sem valor sim vai buscar só excluídos
não vai buscar só os não excluídos já vou demonstrar aqui agora para vocês como que ficou o filtro de excluído tá vendo ó inserir produtos excluídos ambos sim ou não se eu marcar ambos ele vai trazer todo mundo tanto não quanto sim se eu marcar sim ele vai trazer só o que está excluído Se eu marcar não ele vai trazer só não excluídos Esse é o primeiro ponto que eu gostaria de mostrar para vocês como trabalhar com o o filtro os tipos de filtros né datas Eu sempre gosto de colocar valores de full Então vou
colocar aqui primeiro dia do mês paraa data inicial o último dia do mês pra data Inicial aqui agora ó deixa eu mostrar para vocês como que ficou vejam que ele já me traz de forma de as informações o a data Inicial e a data final quando eu coloco um valor de full ali na no filtro ótimo aqui agora eu vou trabalhar com esses filtros de filial e de produto que são do tipo consulta vou vir aqui editar filtro vou mostrar para vocês que nós temos que informar também os itens e uma consulta só que esses
itens e consulta diferente desse group Box não são filtros pré-definidos mas são filtros que a gente precisa de SQL para para trazer o resultado então primeiro eu busco o nome eh esse itens aqui ele tem função de buscar o nome da informação que eu tô filtrando Então como esse aqui é um filtro de filial eu vou buscar o nome da filial Então faço dessa forma aqui ó select razão social com PC filial onde código foi igual a código pronto o nosso filtro aqui ele já tá pronto já vou fazer a mesma coisa para o filtro
de produto produto chama descrição da PC produt onde C PR foi igual a código vou mandar avançar para já validarmos se tá funcionando ou não como que eu sei se está funcionando ou não aquele itens ele serve primeiro para buscar o nome da filial aqui que estamos filtrando aqui no no exatamente no filtro então 3 4 ele tá trazendo nome para mim a mesma coisa o produto ele tá me trazendo aqui corretamente o nome do produto agora o outro esquel que fica ali do lado serve para ao clicar nos três pontinhos ele conseguir fazer a
busca ele vai abrir uma janelinha pra gente fazer a pesquisa do do produto que a gente quer trabalhar então vamos fazer aqui agora o o o segundo SQL onde o segundo SQL eu não busco só o nome eu busco tanto o código do produto ou no caso da filial aqui eu busco o código da filial faço assim ó código razão social from PC filial onde aí eu vou passar filtros aqui e é sempre bom fazer um hooper para que tanto faz se a pessoa escrever maiúsculo ou minúsculo para trazer o resultado o hooper serve para
tratar jogar informação em maiúsculo então razão social igual nome pronto o nosso filtro aqui de consulta está ok aqui eu gosto de colocar algumas validações a mais end código para não trazer filial 99 É eu gosto de colocar para ordenar pelo código or by código então aí a gente vai trabalhando com a caixinha de filtro que eu vou mostrar aqui agora para vocês aqui ó como eu coloi só o filtro de nome ele vai me dar a opção de filtrar só pelo nome mas se eu colocasse mais Filt ali como código outros tipos de filtro
apareceriam todos os filtros aqui ao mandar pesquisar aqui ele deu erro no SQL ou seja tem alguma coisa errada no nosso SQL aqui do filtro vamos dar uma olhadinha aqui no que que é eu vou tirar as informações Deixa eu tirar tudo Vou deixar só o básico para ver se só com básico ele roda ó só com básico ele rodou mas não trouxe nada então Ah já sei o porquê porque aqui eu coloquei igual como eu coloquei um igual ele vai filtrar só a informação que tiver no campo como o campo ficou vazio ele buscou
uma filial cujo Campo tivesse vazio então aí a gente ao invés do igual usa o like aqui aí já vou voltar os outros Campos n de código diferente de 99 end nem vou colocar entre aspas não para validar end Ah e agora o orderer by audit by código ó agora ele deu invalid Number por quê Por causa do nosso 99 que onde o campo é do tipo varchar então aí que que eu vou fazer agora vou vir aqui no código filial e vou passar aspas para ele às vezes uma aspa vai resolver às vezes vai
ser necessário colocar duas aspas Deixa eu voltar aqui ó vejam que com aspas ele já funcionou por que eu precisei colocar as aspas porque eu tenho filial com letra aqui então se eu não passasse com as aspas não rodaria dando eu de invid Number número inválido e aqui agora ele já retornou com as aspas então nosso filtro ele já tá funcionando tanto informando o valor direto na caixa de filtro quanto na pesis on na pesis eu posso selecionar múltiplos filtros que agora vou buscar aqui o nosso relatório e eu posso filtrar agora as informações por
exemplo eu quero trazer só o produto 230 eu posso vir aqui e colocar só o 230 ele vai me trazer só o 230 eu posso trabalhar com buscando só os excluídos sim ou não Ou ambos e eu posso filtrar também a informação de uma única filial como essa base tem poucos dados por isso que eu coloquei ali eh de 2010 para frente como eu fiz trei só o produto 230 Ele trouxe só o 230 Mas tirando o filtro de produto ele já trouxe aqui para mim todos os produtos ótimo aqui eu já demonstrei para vocês
como criar filtros Como trabalhar com filtros aqui no relatório utilizando os principais tipos de filtros que usamos atualmente que é o filtro de data o group box e principalmente o filtro de consulta eu uso muito esse filtro de consulta agora eu quero demonstrar para vocês como trabalhar com tabela dinâmica tabela dinâmica fica bem aqui ó Nessa aba de pivô é uma função pouco utilizada Mas é uma função muito semelhante à função do Excel onde nós temos que arrastar colunas aqui primeiro eu vou arrasta a coluna que eu vou utilizar pro agrupamento e depois eu arrasto
a coluna aqui pro lado que eu quero que separe que agrupe eu separei aqui por nome de produto aí ele tá me trazendo aqui o nome dos produtos peit bovino produto ICMS só ICMS caneta BIC etc ele tá trazendo os produtos eu poderia ao invés de trazer o nome do produto trazer o código do produto ele separaria para mim ó produto 1 2 o TRS o qu e ele traz aqui embaixo a quantidade vendida Além disso eu posso trabalhar com ao fazer o o a a tabela dinâmica eu posso quebrar de de duas formas eu
posso quebrar e de duas formas aqui ó né usando dois Campos eu tô usando a quantidade vendida mas eu poderia quebrar também por valor vendido aí ao quebrar por valor vendido ele traria uma linha abaixo também trazendo o valor vendido de todos os meus produtos então é algo muito interessante pra gente brincar aqui deixa eu até colocar mais informações aqui no nosso SQL para mostrar um pouquinho melhor essa função do da tabela dinâmica vou trazer aqui também por exemplo a informação de departamento ó PC move.to aí eu vou colocar aqui ó PC depo a tabela
de departamento para buscar o nome do departamento end PC depto cod depto e aqui eu vou trazer o nome do departamento também vamos ver se ele vai rodar aqui eu vou ter que jogar o nosso os dois novos Campos dentro do grupo by também então aqui agora já vou trabalhar com quantidade vendida por produto e por departamento e aqui ó na formatação condicional formatação condicional não na tabela dinâmica eu tenho mais campos agora para trabalhar eu posso vir aqui ó eu quero trazer o código do produto é a minha informação principal e eu quero que
seja quebrado para mim de forma de tabela dinâmica pela quantidade vendida e pelo departamento que é a descrição aí ele já me trouxe aqui ó eh departamento de água e leite tem essa informação a soug eu tenho só um produto pegar um produto que tenha dois departamentos ó esse aqui ó esse departamento aqui bebidas em geral por exemplo ele tem o produto 11 ele tem o produto 21 ele tem o produto 31 ou seja ele tá me trazendo o valor de cada produto de cada departamento em uma tabela dinâmica e aqui ó no final ele
me traz a quantidade vendida de todos os departamentos aqui ele me traz a quantidade vendida do departamento inteiro e aqui em cima ele me ele me quebra item a item Então essa tabela dinâmica da rotina 800 é algo bem interessante para se fazer para para não ter a necessidade de exportar pro Excel ai como que eu exporto pro Excel clicando aqui em imprimir e exportar pro Excel para não ter a necessidade de exportar pro Excel e lá no Excel fazer a tabela dinâmica aqui mesmo na aba de pivô já é possível montar tabelas e dinâmicas
do nosso relatório muito interessante né a mesma coisa gráficos eu posso criar gráficos clicando duas vezes aí eu clique aqui em adicionar eu seleciono o gráfico que eu quero utilizar vou utilizar esse bar aqui aí aqui ó ele vai me trazer algumas Alguns alguns pontos de configuração pro nosso gráfico por exemplo aqui no 3D por exemplo eu posso trabalhar com gráfico 2D Ou posso trabalhar com gráfico 3D e mas eu já vou clicar aqui em Close o gráfico ele já tá inserido eu vou clicar aqui na na setinha para selecionar ele e aqui eu tenho
que selecionar um eixo X e um eixo Y Vou colocar aqui ó e um um eixo X produto o eixo Y produto também não não não é bacana eu vou colocar a quantidade vendida por exemplo e eh só que ao invés de trabalhar com cod prod Deixa eu ver se eu consigo por produto ó por produto esse relatório aqui não deixou por quê Porque tem relatórios relatórios não gráficos que Obrigatoriamente um eixo ele tem que ser número então esse aqui por exemplo ele só me permite o eixo número por isso que eu coloquei produto Ele
trouxe já eh o cod prod Ele trouxe e o produto ele já não trouxe e aqui do lado ele traz a legenda para mim olha o produto 55 ele teve seis unidades vendidas por quê Porque aqui no gráfico eu tô trabalhando com quantidade vendida produto um teve 26 eh o produto 55 teve 11 então ele gerou um gráfico aqui para mim com todas as informações Claro que é algo para se trabalhar tem vários tipos de gráficos aqui disponíveis para nós trabalharmos nessa situação mas também já é algo que facilita não ter a necessidade de exportar
para Excel ir lá no Excel gerar um gráfico eu já posso gerar um gráfico por aqui mesmo aqui agora eu quero ir lá na configuração do gráfico clicando duas vezes eu volto na configuração Quero mostrar aqui agora para vocês no 3D como que ficaria o 2D e eu seleciono aqui novamente vejam como que ficou o 2D então eu tenho formas de trabalhar visualização do gráfico também que é algo muito interessante pessoal vamos ficar aqui e por aqui Nesta aula né eu quis trazer aqui para vocês três pontos espero que eu tenha conseguido agregar alguma para
vocês seja informação de filtro seja informação de gráfico ou seja informação de como trabalhar com tabela dinâmica aqui na rotina 800 pessoal vamos ficar por aqui então um grande abraço até a próxima