Podemos analisar grandes blocos de dados, 'fatiando-os' e consolidando-os se precisarmos, para análises pontuais, relatórios ou mesmo distribuição junto com as nossas planilhas Excel ou apresentações Powerpoint com os nossos Dashboards ou Scorecards.
Este código e técnica lhe permitirá extrair automaticamente blocos de informações de grandes bases de dados, além de lhe ensinar como passar o conteúdo de um campo como parâmetro para criar as tabelas de análise.
Este modelo de código foi desenvolvido de modo bem facilitado para ensinar aos iniciantes uma técnica acessível de extração de dados.
Tudo começa com o script SQL, copiado a partir do construtor do MS Access. Depois de definir no modo design todos os campos que deseja, bem como as consolidações, etc...Basta copiá-lo para o código abaixo, colocando-o na variável nSQL.
Esse código é extremamente versátil pois permite que você crie a query no MS Access, destruindo-a em seguida, e automaticamente elimina um problema muito comum para os menos experientes: Atribuir à query a característica de poder ficar conectada à view do SQL o tempo que for necessário sem que a conexão dê problemas de TIMEOUT.
Como este código pode ser adaptado a qualquer banco de dados MS Access, o código também higieniza a nossa base limpando-a das queries criadas para a geração das tabelas.
Function GeraBases_Por_Region()' Author: André Bernardes' Date: 25/07/14 - 10:30' AppliCategoryion: *** SalesForce®Dim nSQL As StringDim nQuery As StringDim i As IntegerDim nRegion As StringDim db_Q As QueryDef' Cria uma tabela atualizada para cada Local.For i = 1 To 6 'Nº de Locais.Debug.Print iLet nRegion = Trim(Str(i)) 'Nº de LocaisLet nSQL = "SELECT SQLServer_View_BIGDATA_Relatorio_LAB.OBSERVE_MYLAB, SQLServer_View_BIGDATA_Relatorio_LAB.Category_CT, SQLServer_View_BIGDATA_Relatorio_LAB.STATUS, SQLServer_View_BIGDATA_Relatorio_LAB.AREA, SQLServer_View_BIGDATA_Relatorio_LAB.BRAND AS Product, Left([DEPTO],2) AS Region, Left([DEPTO],3) AS DISTRICT, SQLServer_View_BIGDATA_Relatorio_LAB.DEPTO, SQLServer_View_BIGDATA_Relatorio_LAB.ID, SQLServer_View_BIGDATA_Relatorio_LAB.PROFILE, SQLServer_View_BIGDATA_Relatorio_LAB.CLIENT, SQLServer_View_BIGDATA_Relatorio_LAB.Citie, SQLServer_View_BIGDATA_Relatorio_LAB.FMonth AS PX00, SQLServer_View_BIGDATA_Relatorio_LAB.SMonth AS PX01, SQLServer_View_BIGDATA_Relatorio_LAB.TRI_00, SQLServer_View_BIGDATA_Relatorio_LAB.TRI_03, SQLServer_View_BIGDATA_Relatorio_LAB.SEMF_00, SQLServer_View_BIGDATA_Relatorio_LAB.SEMF_01, SQLServer_View_BIGDATA_Relatorio_LAB.MAT_00 " & _"INTO tbl_tmp_B" & nRegion & "_PX " & _"FROM SQLServer_View_BIGDATA_Relatorio_LAB " & _"GROUP BY SQLServer_View_BIGDATA_Relatorio_LAB.OBSERVE_MYLAB, SQLServer_View_BIGDATA_Relatorio_LAB.Category_CT, SQLServer_View_BIGDATA_Relatorio_LAB.STATUS, SQLServer_View_BIGDATA_Relatorio_LAB.AREA, SQLServer_View_BIGDATA_Relatorio_LAB.BRAND, Left([DEPTO],2), Left([DEPTO],3), SQLServer_View_BIGDATA_Relatorio_LAB.DEPTO, SQLServer_View_BIGDATA_Relatorio_LAB.ID, SQLServer_View_BIGDATA_Relatorio_LAB.PROFILE, SQLServer_View_BIGDATA_Relatorio_LAB.CLIENT, SQLServer_View_BIGDATA_Relatorio_LAB.Citie, SQLServer_View_BIGDATA_Relatorio_LAB.FMonth, SQLServer_View_BIGDATA_Relatorio_LAB.SMonth, SQLServer_View_BIGDATA_Relatorio_LAB.TRI_00, SQLServer_View_BIGDATA_Relatorio_LAB.TRI_03, SQLServer_View_BIGDATA_Relatorio_LAB.SEMF_00, SQLServer_View_BIGDATA_Relatorio_LAB.SEMF_01, SQLServer_View_BIGDATA_Relatorio_LAB.MAT_00 " & _"HAVING (((Left([DEPTO],2))='B" & nRegion & "'))"DoCmd.SetWarnings (False)' Cria a query.Let nQuery = "qry_tmp_" & nRegion & "_Region" ' Nome da queryIf Not IsNull(DLookup("Type", "MSYSObjects", "Name='nQuery'")) Then' Deleta o objeto query.DoCmd.DeleteObject acQuery, nQueryElseCurrentDb.CreateQueryDef nQuery, nSQLEnd If' Configura o timeout da querySet db_Q = CurrentDb.QueryDefs(nQuery)Let db_Q.ODBCTimeout = 0db_Q.Close' Executa a query'DoCmd.RunSQL (nSQL)DoCmd.OpenQuery nQuery, acViewNormal, acEdit' Deleta o objeto query.DoCmd.DeleteObject acQuery, nQueryDoCmd.SetWarnings (True)NextSet db_Q = NothingEnd Function
Série de Livros nut Project
Série DONUT PROJECT 2021
Série DONUT PROJECT 2018
Série DONUT PROJECT 2015
Série DONUT PROJECT 2014
Clique aqui e nos contate via What's App para avaliarmos seus projetos
Envie seus comentários e sugestões e compartilhe este artigo!
brazilsalesforceeffectiveness@gmail.com
Nenhum comentário:
Postar um comentário