Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
joelnunesf
Contributor III
Contributor III

Boa pratica ETL no SENSE

Caros Sense Developers,

Algumas dúvidas iniciais:

  1. Existe uma boa pratica para criação de um aplicativo, como vcs fazem? Criam um aplicativo para a Extração e outro pra Transformação juntamente com as pastas da parte gráfica(Dashboards e relatórios)?

 

4 Solutions

Accepted Solutions
danilostochi
Creator II
Creator II

Boa noite, eu venho do View mas no Sense não faço diferente, crio um extrator relacionado ao negócio e outro de transformação (camada) e por fim o app de visualizações dos dados.

Mas tudo pode variar, supondo que voçe tenha um dw bem estruturado poderia fazer somente a extração e partir para a visualização.
Em dashborads onde a atualização seja quase instantanea poderia fazer a partir do próprio de dw.
+55(44) 9 9993-3605, WhatsApp
E-Mail or Skype - danilo16stochi@hotmail.com

View solution in original post

mbrenzan
Contributor III
Contributor III

Basicamente um projeto vai ter pelo menos 3 qvw, sendo:
1 pra Extração: onde é extraído e armazenado no qvd cada tabela do banco que será usada no indicador.
1 pra Tratamento ou Transformação: onde é feito as ligações e filtros nos dados que vieram da Extração.
1 pra Layout (App): onde são montados os gráficos e tratados os cálculos dos campos.
Por isso ETL.


Nossa Extração é 1 pra 1, ou seja, um qvw pra cada tabela, sempre fazendo select full nas tabelas.

Nosso tratamento é compartilhado, ou seja, nem todo App vai ter um Tratamento específico pra ele. Tem vantagens e desvantagens:

Tratamento Compartilhado: Vantagens (ter sempre o mesmo valor em todos os App que utilizam a base dados, ocupa menos espaço no disco, menos arquivos pra procurar, mais fácil de organizar o QMC). Desvantagens (Mais difícil de dar manutenção uma vez que alterando um dado altera em todas as aplicações, demora mais pra rodar). Já pra Tratamento Exclusivo é o inverso.

 

Coordenador de BI - Hospital Santa Casa de Maringá

View solution in original post

mbrenzan
Contributor III
Contributor III

Joel,
No script do App chamamos as tabelas que montamos no tratamento, apenas. Só fica publicado os App (Layouts), para que o usuário passa interagir, a Extração e Tratamentos apenas são configurados nas ordens específicas que devem rodar (quem deve rodar primeiro) pra que não aconteça de chamar um dado que ainda não tenha sido carregado. Neste ponto é por isso que muita gente usa scripts compartilhados ou únicos, porque essa ordem já fica definida no código, uma vez que os arquivos são lidos de forma procedural, de cima para baixo e da esquerda para direita.
Aqui as atualizações automaticas programadas no QMC acontecem uma vez ao dia iniciando as 00h, sendo carregados primeiramente todos os Extratores (tabelas), depois todos os Tratamentos e por fim todas as aplicações.
É por esse caminho que temos seguido, pode não ser totalmente dentro das melhores práticas, mas acredito que cada um vai adaptando à sua realidade e também aos recursos que têm à disposição.
Coordenador de BI - Hospital Santa Casa de Maringá

View solution in original post

mbrenzan
Contributor III
Contributor III

Isso mesmo, não publico E nem T. Só L.
Extração eu dou o nome da tabela do banco, por exemplo USUARIO.qvw que vai gerar um USUARIO.qvd.
No Tratamento eu chamo de GESTAO DE ACESSOS.qvw e nele eu chamo a tabela USUARIO e chamo ela de USUARIO_GESTAO_ACESSOS que por sua vez gera o USUARIO_GESTAO_ACESSOS.qvd e assim vou criando os QVD's que preciso pra esse controle. Tudo que for relacionado a este universo eu tento manter neste QVW.
No script do layout eu carrego o QVD das tabelas que eu criei no Tratamento e uso os campos pra criar meus gráficos.
Tratar diretamente no Layout vai deixar o seu App muito lento, agora pode até não sentir, mas quando for crescendo, vai perceber, por isso não é usado.
Coordenador de BI - Hospital Santa Casa de Maringá

View solution in original post

16 Replies
danilostochi
Creator II
Creator II

Boa noite, eu venho do View mas no Sense não faço diferente, crio um extrator relacionado ao negócio e outro de transformação (camada) e por fim o app de visualizações dos dados.

Mas tudo pode variar, supondo que voçe tenha um dw bem estruturado poderia fazer somente a extração e partir para a visualização.
Em dashborads onde a atualização seja quase instantanea poderia fazer a partir do próprio de dw.
+55(44) 9 9993-3605, WhatsApp
E-Mail or Skype - danilo16stochi@hotmail.com
joelnunesf
Contributor III
Contributor III
Author

Vc então cria 3 apps para cada um projeto? Como vc organiza nos Streams? Ficam os três aparecendo no Hub?

mbrenzan
Contributor III
Contributor III

Basicamente um projeto vai ter pelo menos 3 qvw, sendo:
1 pra Extração: onde é extraído e armazenado no qvd cada tabela do banco que será usada no indicador.
1 pra Tratamento ou Transformação: onde é feito as ligações e filtros nos dados que vieram da Extração.
1 pra Layout (App): onde são montados os gráficos e tratados os cálculos dos campos.
Por isso ETL.


Nossa Extração é 1 pra 1, ou seja, um qvw pra cada tabela, sempre fazendo select full nas tabelas.

Nosso tratamento é compartilhado, ou seja, nem todo App vai ter um Tratamento específico pra ele. Tem vantagens e desvantagens:

Tratamento Compartilhado: Vantagens (ter sempre o mesmo valor em todos os App que utilizam a base dados, ocupa menos espaço no disco, menos arquivos pra procurar, mais fácil de organizar o QMC). Desvantagens (Mais difícil de dar manutenção uma vez que alterando um dado altera em todas as aplicações, demora mais pra rodar). Já pra Tratamento Exclusivo é o inverso.

 

Coordenador de BI - Hospital Santa Casa de Maringá
joelnunesf
Contributor III
Contributor III
Author

Humm, muito interessante.

 

Me explica mais uma coisa, vc publica os App de E e T numa stream específica? Não publica? Publica junto com o Layout? Fale um pouco sobre seu conhecimento.

 

Muitíssmo obrigado

mbrenzan
Contributor III
Contributor III

Joel,
No script do App chamamos as tabelas que montamos no tratamento, apenas. Só fica publicado os App (Layouts), para que o usuário passa interagir, a Extração e Tratamentos apenas são configurados nas ordens específicas que devem rodar (quem deve rodar primeiro) pra que não aconteça de chamar um dado que ainda não tenha sido carregado. Neste ponto é por isso que muita gente usa scripts compartilhados ou únicos, porque essa ordem já fica definida no código, uma vez que os arquivos são lidos de forma procedural, de cima para baixo e da esquerda para direita.
Aqui as atualizações automaticas programadas no QMC acontecem uma vez ao dia iniciando as 00h, sendo carregados primeiramente todos os Extratores (tabelas), depois todos os Tratamentos e por fim todas as aplicações.
É por esse caminho que temos seguido, pode não ser totalmente dentro das melhores práticas, mas acredito que cada um vai adaptando à sua realidade e também aos recursos que têm à disposição.
Coordenador de BI - Hospital Santa Casa de Maringá
joelnunesf
Contributor III
Contributor III
Author

Show!!!

Pelo que entendi vc não publica os apps de E e T, correto?

Cara, vou te perturbar mais um pouco... como vc nomeia os apps? Eu estava fazendo com apenas 2, um para extração e outro para tratamento e layout juntos, exemplo meu: Clipping - Extração e Clipping.

Aí criei uma stream "Apps de Extração", onde estou publicando os apps de extração.

mbrenzan
Contributor III
Contributor III

Isso mesmo, não publico E nem T. Só L.
Extração eu dou o nome da tabela do banco, por exemplo USUARIO.qvw que vai gerar um USUARIO.qvd.
No Tratamento eu chamo de GESTAO DE ACESSOS.qvw e nele eu chamo a tabela USUARIO e chamo ela de USUARIO_GESTAO_ACESSOS que por sua vez gera o USUARIO_GESTAO_ACESSOS.qvd e assim vou criando os QVD's que preciso pra esse controle. Tudo que for relacionado a este universo eu tento manter neste QVW.
No script do layout eu carrego o QVD das tabelas que eu criei no Tratamento e uso os campos pra criar meus gráficos.
Tratar diretamente no Layout vai deixar o seu App muito lento, agora pode até não sentir, mas quando for crescendo, vai perceber, por isso não é usado.
Coordenador de BI - Hospital Santa Casa de Maringá
joelnunesf
Contributor III
Contributor III
Author

@mbrenzan Muitíssimo obrigado, eu tenho varias dúvidas de iniciante ainda, mais na questão da organização dos procedimentos, acho que já te aluguei demais cara (rs)... mas os seus cases ajudaram e muito a dar uma clareada nesse túnel que estava completamente escuro e não fazia a mínima ideia para onde ir e por onde começar.

Meu aprendizado esta sendo na marra, pesquisa em sites, apostilas, tutorial no youtube e perturbando a galera aqui constantemente que tem dado a maior moral.

Fiz um "workshop" de Sense, muuuuito fraquinho, uma tabelinha em Access e um arquivo excel, uma passada RÁPIDA pelo QMC, outra coisa que estou me virando tb, e só.

Mas enfim... obrigado a todos!!!

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Segue um documento ainda QlikView que serve para o Qlik Sense (visto que é a forma de trabalhar)

furtado@farolbi.com.br