Ir ao conteúdo
  • Cadastre-se

Extrair dados Baseado em Critérios.


Posts recomendados

Boa noite Pessoal!

 

Alguém sabe se dar para fazer extração de dados de um planilha para outra baseado em critérios?

 

Por exemplo:  

Na base de dados eu tenho: Setor, Data, Código, Defeito A, Defeito B... 

 

Na outra planilha eu teria o local para colocar os critérios.  

Exemplo 

                Setor : Alimentação

                Data : Janeiro

                Código: de 7000 até 8000 e 10.000 até 15.000

         IF SETOR == Alimentação && Data == Janeiro && Código >= 7000 && <=8000 && 10.000 && 15.000  Then

Enfim, não entendo muito bem disso.

 

Se alguém puder me ajudar fico grato.

 

Atenciosamente,

 

                 

                 

 

Link para o comentário
Compartilhar em outros sites

Boa noite, Tiank!

 

Obrigado por ser tão solícito... Eu fiz algumas coisas, mas acredito que não ficou bom, porque não tenho experiência... 

 

Se conseguir colocar um combo box para selecionar os critérios, conforme mencionado agradeço. 

https://drive.google.com/file/d/0B-bBwHPrUgR8czVtcTA1RVozZWM/view?usp=sharing

 

 

Link para o comentário
Compartilhar em outros sites

Bom dia,

 

Estava olhando seu arquivo e fiquei com algumas dúvidas.

  • Os parâmetros da aba Informações sãos todos os critérios que você precisa?
  • A coluna "Setor" da tabela parâmetro não é de setores, mas de critérios? Exemplo: os que possuem "Família" são, na verdade, um conjunto de setores e/ou itens (matérias-primas).

 

[]s.

Link para o comentário
Compartilhar em outros sites

2 horas atrás, TianK disse:

Bom dia,

 

Estava olhando seu arquivo e fiquei com algumas dúvidas.

  • Os parâmetros da aba Informações sãos todos os critérios que você precisa?
  • A coluna "Setor" da tabela parâmetro não é de setores, mas de critérios? Exemplo: os que possuem "Família" são, na verdade, um conjunto de setores e/ou itens (matérias-primas).

 

[]s.

Stiak, primeiramente boa tarde e obrigado! 

Sim, essa aba informações tudo aquilo são os critérios...

 

Sim, são critérios.... 

Exatemente isso que você me disse  famílias são um conjuntos de setores e/ou itens.

 

Mas o que eu gostaria de fazer...

 

Ter tipo uma combobox onde seleciono 

Esses critérios. 

Exemplo:  Gerar relatório

 

Matéria prima. Posso selecionar todas ou uma só.  

Mês

Setor posso selecionar um, alguns ou todos

Selecionar os itens que pertence para aquele  setor ou setores. Ai ja não precisaria obtecer aquelas listas de critérios da informações

 

 

Obrigado Mestre!

 

 

 

 

 

 

 

 

 

 

 

Link para o comentário
Compartilhar em outros sites

Boa tarde,

 

Veja o que acha da minha solução. Na aba Relatório tem agora um Painel (controles de formulário) parar receber os critérios para filtragem/soma.

 

Não sei qual o volume de dados que você irá lidar, mas com a quantidade do exemplo o funcionamento das rotinas foi bem ágil.

 

Renomeie a extensão do arquivo de zip para ods:

TianK(v3).zip

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Bom dia, Tiank!!

 

Muito grato pela rapida solucao o grande problema é que eu nao consegui renomear.... Extrai e ficou tudo em XML 

Se puder me dizer como faco isso... 

 

Obrigado mais uma vez.

 

adicionado 20 minutos depois

Sensacional Tiak. O único problema que é que na hora gerar o relatório na está classificado onde está o mês. E o acumulado é do primeiro mês até o mês 12... A soma de janeiro ao último mês lançado.   Tirando isso sensacional... Queria ter esse raciocínio! Seria possível gerar gráficos?! 

 

Obrigado novamente

Link para o comentário
Compartilhar em outros sites

Boa tarde,

 

4 horas atrás, mdiego disse:

Sensacional Tiak. O único problema que é que na hora gerar o relatório na está classificado onde está o mês. [...]

Acabei me esquecendo de colocar uma linha com a chamada a sua macro ClassificarColunas2 no final da subrotina FazerRelatório. Uma linha que acho que resolve seu problema.

 

4 horas atrás, mdiego disse:

[...]E o acumulado é do primeiro mês até o mês 12... A soma de janeiro ao último mês lançado.[...]

Você quer o acumulado do(s) Critério(s) ou o acumulado Geral. Fiz o do(s) critério(s), ou seja, o critério ou critérios escolhidos no painel, mas sempre para todos os meses, também vinculado às colunas existentes do relatório do mês. Como estava sem tempo, usei a sua própria base para testes. O acumulado funcionou mas talvez tenha alguns comportamentos não desejados para um rol real de dados.

 

Outra coisa, quantas linhas em média sua Base real poderá ter no final do ano? Isso pode ter impacto no desempenho.

 

[]s.

TianK

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Então, os critérios estão certinho... É que o acumulado é sempre o mês atual+o mês anterior...  O de cima está certinho, é o de baixo seria o acumulado. 

 

No caso escolheria os critérios, e a data do acumulado poderia ser fixa... Somar tudo de janeiro até dezembro. Ai conforme vou inputando os dados vai gerar sempre o do último mês.  

 

E quantidade de dados varia, mais o menos 1 a 2 mil linhas mês, 24 mil linhas preenchidas até o fim do ano. 

 

Hahah, Enfim, obrigado! 

E pra classificar é só eu chamar com call?

 

Não é puxando saco não, mas esse conhecimento de programação em Basic é invejável! Abraço e obrigado. 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Boa noite,

 

Então, eu testei mais o filtro e corrigi uma falha que gerava resultados inconsistentes. O acumulado parece se comportar corretamente agora, somando os meses disponíveis para os critérios selecionados.

 

Também incluí a chamada (call) da rotina para classificar as colunas do relatório Mês. Tomei a liberdade de renomeá-la a rotina para ClassificarRelatorioMes quanto transferi para o Módulo Painel.

 

Agradeço pelos elogios... e principalmente pelo retorno. A cada ajuda a gente aprende mais com as necessidades de outros usuários do LibreOffice ou OpenOffice.

 

Como da outra vez, renomeie a extensão zip para ods:

 

 

 

TianK(v4).zip

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

9 horas atrás, TianK disse:

Boa noite,

 

Então, eu testei mais o filtro e corrigi uma falha que gerava resultados inconsistentes. O acumulado parece se comportar corretamente agora, somando os meses disponíveis para os critérios selecionados.

 

Também incluí a chamada (call) da rotina para classificar as colunas do relatório Mês. Tomei a liberdade de renomeá-la a rotina para ClassificarRelatorioMes quanto transferi para o Módulo Painel.

 

Agradeço pelos elogios... e principalmente pelo retorno. A cada ajuda a gente aprende mais com as necessidades de outros usuários do LibreOffice ou OpenOffice.

 

Como da outra vez, renomeie a extensão zip para ods:

 

 

 

TianK(v4).zip

Bom dia, Tiank!

 

Obrigado por perder algumas horas do seu dia para me ajudar. 

Ficou muito bom. Isso vai me ajudar bastante...  Tem outras coisas que eu precisaria fazer, mas já abusei da boa vontade.  Aproveitei o seu código Classificar mês  e fiz para o acumulado. 

O mais engraçado, é que tem um cara que programa em Basic e escreve da mesma forma que você. 

oPlan.

oRelatorio

sCriterio 

Isso seria um padrão?

 

Abração e obrigado. 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Bom dia, Tiank!

 

Estou com um probleminha na porcetagem, seria defeito/total de defeitos.

Defeito A/Total Defeitos; B/Total Defeitos; C/Total Defeitos.

Uma outra pergunta, seria possivel criar as 10 por setor?

 

Vou encaminhar a planilha e o exemplo.

 

Obrigado! 

TianK(v4)- Exemplo.zip

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Bom dia,

 

A porcentagem foi fácil de ajustar porque basta corrigir uma única linha na sub-rotina TransfValores. Ela estava recuperando a quantidade do lote ao invés do total de defeitos.

De:

vDefTotal = oPlan.getCellByPosition( 3+nC,nLin+1 ).Value 'Valor total dos defeitos

Para:

vDefTotal = oPlan.getCellByPosition( 2+nC,nLin+1 ).Value 'Valor total dos defeitos

E com relação como nomear as variáveis, é uma convenção de "prefixos" muito disseminada na comunidade internacional do LibreOffice e do OpenOffice. Com o tempo me acostumei a ela e passei a adotar mais ou menos. Acho que "economiza" variáveis além de facilitar a leitura do código. Ex.: preciso armazenar o objeto célula, uso oCel, depois quero a string que está dentro da célula, uso sCel. A seguir, encontro no código uma variável iQualquerCoisa, já vou saber que se trata de um integer.

 

Em 11/03/2017 às 12:26, mdiego disse:

[...]

Uma outra pergunta, seria possivel criar as 10 por setor?

 

Porque você não aproveita os dados da aba Filtrado. Copia eles para um outra planilha e, usando as fórmulas, extrai os 10 mais para o setor.

 

 

Planilha corrigida:

TianK(v4)-(corrig).zip

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...