Guia Prático: Writeback de Dados no SQL Server Através do Qlik Sense (2024)

Guia Prático: Writeback de Dados no SQL Server Através do Qlik Sense (1)

  • Denunciar este artigo

Roger Melo Guia Prático: Writeback de Dados no SQL Server Através do Qlik Sense (2)

Roger Melo

Consultor Qlik Sense e Qlik View Sênior | Certificado em Qlik Sense Data Architect | Certificado em Qlik Replicate | Python, Qlik Saas, Nprinting, Mashup 📊

Publicado em 20 de jun. de 2024

+ Siga

Nos ecossistemas de dados, como o Qlik, a integração com bancos de dados é crucial para garantir a eficácia e a precisão das análises. Apesar do Qlik Sense não ser a ferramenta ideal para store e armazenamento de dados em bancos (para isso temos as ferramentas de Data Integration no ecossistema Qlik), exitem cenários que podem nos trazer essa necessidade. Por isso decidi compartilhar com a comunidade essa solução que utilizei em alguns projetos.

Neste artigo, vamos explorar como realizar writeback no SQL Server através do Qlik, explicando cada passo necessário, desde a criação de procedures no SQL Server até a configurações necessárias no ambiente Qlik. Vamos também fornecer um exemplo prático.

O que é Writeback?

O writeback, ou gravação de dados, é o processo de inserir, atualizar ou excluir registros diretamente em um banco de dados a partir de uma aplicação de BI, como o Qlik. Essa funcionalidade é essencial para permitir a interação bidirecional entre os usuários e os dados, possibilitando a tomada de decisões em tempo real com base em informações atualizadas.

Procedures no SQL Server

Neste artigo, utilizaremos procedures para a execução das operações no SQL Server. Procedures são rotinas armazenadas que podem ser invocadas para executar operações específicas no banco de dados.

Procedures Necessárias no SQL Server

Vamos criar duas procedures no SQL Server: uma para limpar a tabela antes de inserir novos dados e outra para inserir os novos dados.

CREATE PROCEDURE clearUserApplicationQlikASBEGIN -- Limpar a tabela antes de inserir novos dados DELETE FROM userapplicationQlik; END; 

A procedure clearUserApplicationQlik é responsável por limpar a tabela userapplicationQlik antes de inserir novos dados. Isso garante que os dados antigos sejam removidos para evitar duplicatas ou conflitos durante o processo de writeback. Mas dependendo do caso que vá utilizar, adapte a procedure de acordo com a necessidade do negócio, seja não deletando dados e apenas inserindo, ou deletando dados D-1, por exemplo.

CREATE PROCEDURE writeback @UserID VARCHAR(50), @AppName VARCHAR(50), @AppID INT, @InsertDate DATETIMEASBEGIN -- Inserir novos dados INSERT INTO userapplicationQlik (UserID, AppName, AppID, InsertDate) VALUES (@UserID, @AppName, @AppID, @InsertDate);END; 

A procedure writeback é responsável por inserir novos dados na tabela userapplicationQlik. Ela aceita parâmetros como @UserID, @AppName, @AppID e @InsertDate para especificar os detalhes do registro a ser inserido.

Habilitando a Flag para Non-Select Queries no Qlik

No Qlik, ao integrar com o SQL Server para realizar operações de writeback, é fundamental habilitar a flag para non-select queries. Essa flag indica ao Qlik que a consulta SQL que está sendo executada não é uma consulta de seleção (SELECT), mas sim uma operação de escrita (INSERT, UPDATE, DELETE) ou uma chamada de store procedure.

Para habilitar esta flag, basta ir no diretório "C:\Program Files\Common Files\Qlik\Custom Data\QvOdbcConnectorPackage", abrir o arquivo de configuração QvOdbcConnectorPackage.exe.config e alterar o parâmetro allow-nonselect-queries para true e salvar (fonte).

Implementando Writeback no Qlik

Agora, vamos implementar o código Qlik para realizar o writeback no SQL Server, utilizando as procedures criadas anteriormente e com a flag para non-select queries já habilitada.

userapp:LOAD * INLINE [ USERID, App_Name, App_ID, InsertDate 1, 'App1', 101, '2024-06-20' 2, 'App2', 102, '2024-06-20' 3, 'App3', 103, '2024-06-20'];LIB CONNECT TO 'BD SQLServer';SQL EXEC clearUserApplicationQlik !EXECUTE_NON_SELECT_QUERY;FOR i = 0 TO NoOfRows('userapp') - 1 LET vUserID = Peek('USERID', i, 'userapp'); LET vAppName = Peek('App_Name', i, 'userapp'); LET vAppID = Peek('App_ID', i, 'userapp'); LET vInsertDate = Peek('InsertDate', i, 'userapp'); SQL EXEC writeback @UserID = '$(vUserID)', @AppName = '$(vAppName)', @AppID = $(vAppID), @InsertDate = '$(vInsertDate)' !EXECUTE_NON_SELECT_QUERY;NEXT; 

Neste script do Qlik, estamos carregando os dados do aplicativo de usuários (userapp), limpando a tabela userapplicationQlik no SQL Server com a procedure clearUserApplicationQlik e, em seguida, iterando sobre os dados carregados no Qlik para inseri-los na tabela userapplicationQlik com a procedure writeback. A flag !EXECUTE_NON_SELECT_QUERY é utilizada para indicar ao Qlik que essas operações são de escrita e não de seleção.

Conclusão

Embora o Qlik Sense não seja tradicionalmente a ferramenta mais conhecida para operações de writeback, esta solução específica pode ser extremamente útil para demandas pontuais em nossos projetos de dados. A implementação dessa solução oferece uma abordagem prática e eficiente para inserir, atualizar e excluir dados diretamente do Qlik.

E você já utilizou o Writeback com Qlik Sense? Se sim, compartilhe sua experiência comigo e com a comunidade. Seu feedback pode ser valioso para outros profissionais que estão explorando essa funcionalidade em vários bancos de dados diferentes.

Gostei
Comentar

22

Entre para ver ou adicionar um comentário

Outros artigos deste autor

Não há mais conteúdo anterior

  • 5 pontos importantes para melhorar a performance do seu projeto em Qlik 15 de fev. de 2022

Não há mais próximo conteúdo

Entrar

Acompanhe as novidades do seu mundo profissional

Entrar

Ao clicar em Continuar para se cadastrar ou entrar, você aceita o Contrato do Usuário, a Política de Privacidade e a Política de Cookies do LinkedIn.

Nunca usou o LinkedIn? Cadastre-se agora

Conferir tópicos

  • Vendas
  • Marketing
  • Administração de empresas
  • Gestão de RH
  • Gestão de conteúdo
  • Engenharia
  • Competências pessoais e sociais
  • Ver todos
Guia Prático: Writeback de Dados no SQL Server Através do Qlik Sense (2024)

References

Top Articles
Latest Posts
Article information

Author: Moshe Kshlerin

Last Updated:

Views: 5891

Rating: 4.7 / 5 (77 voted)

Reviews: 92% of readers found this page helpful

Author information

Name: Moshe Kshlerin

Birthday: 1994-01-25

Address: Suite 609 315 Lupita Unions, Ronnieburgh, MI 62697

Phone: +2424755286529

Job: District Education Designer

Hobby: Yoga, Gunsmithing, Singing, 3D printing, Nordic skating, Soapmaking, Juggling

Introduction: My name is Moshe Kshlerin, I am a gleaming, attractive, outstanding, pleasant, delightful, outstanding, famous person who loves writing and wants to share my knowledge and understanding with you.