Últimos Eventos e Participações – #SQLSat570 [São Paulo]

Pessoal, nas duas semanas anteriores tive a oportunidade de passar por alguns eventos como comunidade Microsoft e gostaria de compartilhar com vocês minhas impressões, Slides e Arquivos de testes dos conteúdos ministrados.

Primeiramente, agradeço de todo coração à coordenação da faculdade Projeção por me permitirem participar no dia 06/10 do início das comemorações do dia do profissional de TI no polo de Ceilândia.

foto03

Pude falar sobre o tema Por Detrás dos Relatórios de Business Intelligence para os alunos de 1º a 3º semestre das turmas de Sistema de Informação e Tecnologia em Análise e Desenvolvimento de Sistemas.

Foram 2 horas de palestra sobre o assunto onde pude despertar nos alunos a curiosidade sobre essa área tão amada por mim e tão requisitada pelo mercado de trabalho.

Falei de assuntos como Modelagem Dimensional focando nas principais diferença entre os modelos de Kimball x Inmon, principais conceitos relacionados à fatos e dimensões e também sobre as ferramentas da suite Microsoft que podem auxiliar na construção de um sistema de Business Intelligence.

foto02

O evento foi tema no site da Faculdade no seguinte link


Ainda no mesmo dia estive também no Centro Universitário IESB [Asa Sul] ministrando um minicurso de 3 horas para os alunos de TI da universidade.

Deixo meus sinceros agradecimentos também ao professor Gabriel pelo convite de poder ser um dois instrutores dos minicursos. 

foto03

Falei exatamente sobre o mesmo tema usado na palestra da manhã [Por Detrás dos Relatórios de Business Intelligence], porém, pude interagir um pouco mais com os ouvintes trabalhando com eles a construção de um pequeno projeto de ETL para carga de dados de um mini Data Warehouse.

Para os alunos [Projeção ou IESB] que quiserem realizar o download da apresentação usada, basta clicar na imagem abaixo. 

capture

Já para os alunos que participaram do minicurso da IESB para realizar o download do material prático, basta clicar no seguinte link


No Sábado, dia 08/10, tive mais uma vez o imenso prazer de participar de mais um edição do SQL Saturday em São Paulo [#SQLSat570].

Dessa vez falei a cerca de alguns conceitos relacionados ao mundo de Business Intelligence (BI) e Master Data Management (MDM) e também sobre uma ferramenta pouco utilizada da suite do Microsoft SQL Server usada para qualidade de dados – o Data Quality Services (DQS)

img_7908

O evento foi fantástico com mais de 1150 inscritos e mais de 500 participantes presenciais dos quais mais de 400 permaneceram até o final do evento.

Agradeço de maneira gigantesca ao Diego Nogare pela possibilidade de poder continuar passando pra frente informações sobre tudo isso que tanto amo e também o parabenizo pela grandiosidade e organização do evento.

A quem diga que esse evento do PASS aqui no Brasil tenha sido o maior em número de palestrantes. foram mais de 50 palestrantes em mais de 40 sessões

img_8006

Para quem tiver interesse, segue abaixo o conteúdo ministrado na sessão de São Paulo sobre o DQS.

Como fora dito, quem tiver interesse em conhecer mais sobre a ferramenta, existe uma série com 8 artigos no blog do Luan Moreno no seguinte Link. Ele é uma referência no assunto.

Apesar de ainda não ter nada escrito sobre a ferramenta no meu blog me ponho inteiramente a disposição para quaisquer dúvidas.

capture01

Seguem abaixo algumas outras fotos sobre o evento: 

img_7852 img_7864 img_7880 img_7892 img_7936132

img_7981 img_7982 img_7986 img_7994 img_7995 img_8004 img_8011 img_8013 img_8014 img_8018 img_8024

BI and Big Data Summit & 4 Horas Microsoft

Pessoal, essa ultima semana tive a oportunidade de participar de dois grandes eventos da comunidade Microsoft e de TI do Brasil.

O primeiro, que marca o início das minhas atividades neste ano de 2016 foi o BI and Big Data Summit. Palestrei online sobre o tema Desvendando o Microsoft Datazen.

Houveram várias dúvidas durante a palestra e vários feedbacks positivos relacionados tanto à apresentação e evento, quanto à usabilidade e facilidade de manuseio da ferramenta. Se você tiver interesse em realizar o download do slide da apresentação, clique na imagem abaixo.

Capturar

O segundo evento foi o 4 Horas Microsoft que ocorreu no Rio de Janeiro. Neste palestrei presencialmente ao lado de grandes amigos da comunidade sobre o tema Capturando dados Históricos com Change Data Capture.

Fiquei muito feliz em ter tido, pela primeira vez, a oportunidade falar de algo que mais tem haver com SQL Server do que propriamente com BI, apesar de estarem interligados. A receptividade das pessoas que estavam assistindo foi bastante positiva.

Para a galera que participou da palestra presencial no Rio, segue abaixo o slide da apresentação e, caso tenham interesse, clique no Link para realizar o download dos packages e scripts da apresentação.

Capturar2

Graças a essa palestra, iniciarei uma série de posts denominada Dados Historicos com Change Data Capture que irá abordar sobre as técnicas e melhores práticas sobre essa feature tão importante e tão pouco conhecida do SQL Server.

Espero que tenha conseguido ajudar às pessoas que puderam participar dessas sessões. Quaisquer dúvidas estarei sempre a inteira disposição de vocês!

Seguem abaixo algumas fotos do evento.

IMG-20160320-WA0012IMG-20160320-WA0006 IMG-20160320-WA0025

Datazen Beginning – Parte 12

Este é o último post da Série Datazen Beginning. Nesta etapa você aprenderá sobre algumas funções administrativas do Microsoft Datazen.


Backup 

Ao se conectar no Painel de Controle do Datazen Enterprise Server como Admin, na Aba Backup será possível realizar a cópia de segurança de duas formas:

  1. Avulsa – Backup realizado sobre demanda conforme a necessidade e armazenado em um diretório escolhido.

01

            2. Agendada – Backup realizado de maneira agendada. Dessa maneira ele                   será realizado sempre conforme o range informado.

02


Restore

O backup que foi realizado não é formado por somente um arquivo, mas sim por um conjunto de arquivos e diretórios.

03

Infelizmente, não é possível realizar graficamente o restore do backup executado. Para isso, você precisará executar via cmd um conjunto de comandos.

Primeiramente, conecte no cmd como Administrador;

Após isso, pare a execução do serviço do Datazen com o seguinte comando:

net stop datazen

Navegue até o diretório do Core Services. Use o comando abaixo caso tenha feito a instalação no diretório padrão:

cd "c:\Program Files\Datazen Enterprise Server\service"

Delete a pasta denominada Data que guarda as informações do Core Services. Use o seguinte comando:

rmdir /S /Q Data

Recrie o diretório Data (ele estará limpo):

mkdir Data

Agora realize o restore usando o seguinte comando:

Raven.Server.exe -restore -src <Diretório do Backup> -dest Data

Espere pela mensagem “Esent Restore: Restore Complete“. Após isso, reinicie o serviço do Datazen com o comando abaixo:

net start datazen

Manutenção do Repositório do Core Services

Caso o número de objetos dentro do Datazen Core Services diminua com o tempo de uso da ferramenta (Exclusão de usuários, eliminação de Dashboards e KPIs, mudança de Data view Personalizado para não personalizado) o repositório pode ficar “fragmentado” – Realizando uma analogia ao que conhecemos como fragmentação de índices dentro do SQL Server.

Para resolver esse problema, é necessário que um comando de compactação seja realizado (Semelhante ao Reorganize do SQL Server).

Primeiramente, conecte no cmd como Administrador;

Após isso, pare a execução do serviço do Datazen com o seguinte comando:

net stop datazen

Navegue até o diretório do Core Services. Use o comando abaixo caso tenha feito a instalação no diretório padrão:

cd "c:\Program Files\Datazen Enterprise Server\service"

Agora, execute o comando abaixo para realizar a compactação do repositório do Core Services:

esentutl /d Data\Data

Espere a operação concluir e após isso, reinicie o serviço do Datazen com o comando abaixo:

net start datazen

Reset Index

Em raras ocasiões, é possível que os índices do Datazen Core Service estejam danificado ou não-responsivos, levando a erros.

É possível, então, resolver a esse problema com o reset dos índices do Core Services.

Falei sobre este tópico no post Datazen Tip’s – Parte 1 como resolução de um erro que encontrei na criação de usuários.

Primeiramente, conecte no cmd como Administrador;

Após isso, execute o seguinte comando para parar a o servidor do Datazen.

net stop datazen

Feito isso, navegue até a pasta onde o Datazen Core Service está instalado (o comando abaixo está apontando para a pasta padrão de instalação).

cd "c:\Program Files\Datazen Enterprise Server\service"

Após isso execute o comando abaixo que faz o reset de todos os índices do Core Services.

Datazen.Server.Service.exe /console /resetindexes /shutdown

Agora reinicie o servidor do Datazen com comando abaixo.

net start datazen

Com este post, a Série Datazen Beginning está finalizada. Espero que vocês possam aproveitar ao máximo da Ferramenta que é, simplesmente, fantástica.

Report Services 2016 / Datazen Beginning – Parte 10

Neste post da Série Datazen Beginning você irá aprender sobre a construção Dashboards usando o Datazen Publisher e aprenderá também a publicá-lo dentro do Datazen Server.


Depois de você ter aprendido sobre os tipos de Data Views e Dashboard Runtime na Parte 9 do conjunto de posts e também, na Parte 8, entender o funcionamento de cada um dos tipos de componentes da aba Layout View dentro do Publisher, agora você irá usar alguns para criar o primeiro Dashboard e irá publicá-lo dentro do Servidor Core do Datazen para visualizá-lo através do Datazen View (Computador, Tablet e Celular) e/ou Web.

Usaremos para criação do Dashboard que irá prover a análise das vendas de USA contidas no banco de dados AdventureWorksDW2014 o Data View Quantidade de Vendas por Cliente que você irá criar usando a query abaixo conforme aprendeu na Parte 5 do conjunto de posts.

</em>
SELECT dc.FirstName + ' '
+ CASE WHEN MiddleName IS NULL THEN ''
ELSE MiddleName END + ' '
+ dc.LastName AS NomeCompleto, 
dp.EnglishProductName Produto, 
dg.EnglishCountryRegionName AS Pais, 
dg.StateProvinceName AS Estado,
dg.City AS Cidade,
dod.CalendarYear AS Ano, 
dod.EnglishMonthName AS Mes, 
dod.FullDateAlternateKey AS DataVenda, 
f.ShipDate AS DataEnvio,
f.SalesOrderNumber AS OrdemVenda,
1 AS QtdVendas, 
f.UnitPrice AS ValorVenda
FROM FactInternetSales f 
JOIN DimProduct dp ON dp.ProductKey = f.ProductKey 
JOIN DimCustomer dc ON dc.CustomerKey = f.CustomerKey 
JOIN DimSalesTerritory dst ON dst.SalesTerritoryKey = f.SalesTerritoryKey 
JOIN DimDate dod ON dod.DateKey = f.OrderDateKey
JOIN DimGeography dg ON dg.SalesTerritoryKey = dst.SalesTerritoryKey 
AND dg.GeographyKey = dc.GeographyKey
WHERE dg.EnglishCountryRegionName = 'United States'

Observação – Partirei do pressuposto de que você já está familiarizado com as interfaces do Datazen Publisher. Caso não esteja, sugiro que você leia a Parte 7 do conjunto de posts.


Abra o Publisher e conecte-se ao servidor normalmente, conforme fez na Parte 7 do conjunto de posts.

Feito isso, clique com o botão direito dentro da pagina principal da ferramenta e clique em Create. Em seguinda você terá duas opções.

A primeira permitirá a criação de um Dashboard do zero. A segunda permite a seleção de um Dashboard já existente para que você possa efetuar o desenvolvimento do novo Painel a partir desse selecionado – Isso não sobrescreverá o Painel. A ferramenta irá efetuar uma cópia do Dashboard existente.

Selecione a primeira opção – Start from on empty dashboard.

02

A próxima etapa será, dentro do painel Layout View, no canto esquerdo da tela, selecionar o primeiro Componente que você irá usar para criar o Dashboard de análise de vendas da Adventure Works. O Componente será o Time Navigator.

03

Cada componente do Datazen possui uma porção de configurações que podem ser efetuadas. Elas ficam localizadas na parte inferior da tela do Publisher.

Você irá efetuar a configuração nas seguintes opções:

Time Level é responsável por permitir graficamente o Drill Down entre a hierarquia de tempo. Ou seja, se configurado com a opção default que é o drill somente até o mês, ainda que você tenha no Data View a informação de dia, semana ou hora, por exemplo, o componente não permitirá que o faça. Configure conforme a imagem a baixo:

04

O Time Range Presets configura quais os níveis hierárquicos da data serão disponibilizados para seleção no canto esquerdo do componente. Por padrão o componente utiliza 4 opções que são Todos – uma análise agregada pelo período de tempo total, Último Ano, Últimos Seis Meses e Último TrimestreVocê irá selecionar somente a opção All – Todos.

05

Agora você irá inserir no painel dois Selection List conforme abaixo:

06

Nas configurações de cada um dos Selection List defina como Title para o componente do canto superior esquerdo a lable Selecione um Pais para análise:, e, para o Selection List de baixo a lable Selecione um Estado para análise:.

Desmarque a opção Allow Select All para o Seletor de País. no Seletor de Estado, no campo Select All Text: preencha com o texto Todos os Estados.

Feito isso, arraste para o Dashboard o componente Number. Nas opções de configuração, defina o Title como Valor Vendido: conforme a imagem abaixo:

08

Adicione no Dashboard também o componente Gradient Heat Map da lista Maps. Renomeie o campo Title para Valores Vendidos por Estado – USA: e, em Map, selecione USA. Isso significa que o mapa que será configurado é o dos Estados Unidos conforme abaixo.

9

Agora arraste para o Painel o componente Simple DataGrid preencha o campo Title com Analítico de Vendas Realizadas – Adventure Works.

Entenda uma importante opção dos DataGridsÉ possível que você apresente os dados nos DataGrids, tanto assim como eles vem do Data View, ou agregando-os através de uma coluna text ou através de uma coluna de Data. Isso é definido marcando as opções Aggregate by Time e Aggregate by a Field. Caso você queira apresentar os dados assim como eles vierem da fonte, deixe ambas as opções desmarcadas.

Para a criação desse dashboard, marque a opção Aggregate by a Field.

Na configuração Row Numbers selecione a opção Hide. Essa opção serve para mostrar uma espécie de coluna ID default do Datazen no canto esquerdo grid.

10

Renomeie o Dashboard para Analise de Vendas USA – Adventure Works.

No canto superior direito, existem dois botões. Um deles serve para que você possa configurar uma opção de paleta de cor para o Dashboard.

11

O botão que fica na lateral esquerda ao que você usa para definição de paleta serve para que você consiga configurar um dos MAIORES DIFERENCIAIS do Datazen: A apresentação do Dashboard em dispositivos móveis.

12-0

Selecione a opção Tablet e você verá que a tela irá renderizar e apresentará o grid no formato de um Tablet. Dessa maneira, você só precisará arrastar e redimensionar os componentes que já foram configurados no Dashboard Master (Web).

12

Mude novamente para a opção Phone e configure o Dashboard para apresentação em celular.

12_1

Feito isso, o Layout do Dashboard estará pronto para todas as plataformas.


Agora que você desenvolveu a interface gráfica, você precisará configurar os componentes com os dados do Data View Quantidade de Vendas por Cliente que você criou anteriormente.

Para isso, na aba Data View, no canto superior direito da tela, selecione a opção Add Data.

13

Caso você não tenha configurado a pasta de trabalho do Datazen Publisher, uma tela de mensagem se abrirá pedindo que você o faça.

14

Basta que você clique em Choose Folder e escolha uma pasta. Como foi explicado na Parte 7 do conjunto de posts, essa pasta será usada caso você queira salvar localmente o Dashboard que criou.

Depois disso, na tela que irá abrir você terá duas opções de seleção. Uma delas é construir o Dashboard com base em dados advindos de um arquivo Excel local ou apartir de um Data View do Server. Selecione a segunda opção.

15

Feito isso será possível visualizar todos os Data Connections que estiverem disponíveis no Datazen Server – levando em consideração, claro, que o usuário que está logado no Publisher, tenha acesso a eles.

16

Selecione na proxima tela o Data View Quantidade de Vendas por Cliente.


Depois de capturar o Data View que será usado no Dashboard, você precisará configurar os dados que serão mostrados através dos componentes.

Selecione o componente Selection List que você criou para seleção de Pais.

Esse componente será responsável por filtrar os dados apresentados no Dashboard de acordo com que for selecionado. No caso atual, irá realizar o filtro com base no País ou Estado que o usuário selecionar.

Em Data Properties, na opção Keys:, Escolha o Data View QuantidadedeVendasporCliente. na seleção ao lado você irá escolher a coluna de lookup. Essa coluna será responsável por filtrar os views que participam do Dashboard de acordo com o que for selecionado na Lista de Seleção. Escola a coluna Pais.

Ao lado, em Options…, marque o check box Time Navigator 1. Ao selecionar essa opção você está configurado o Selection List para ser filtrado pelo Time Navigator.

Na seleção opção de Labels:, selecione também a coluna de Pais. Será essa informação que irá ser apresentada graficamente nas opções de seleção.

O canto esquerdo, em Tables Filtered by Selecione um País para Análise:, marque o check box do Data View QuantidadedeVendasporCliente e selecione a coluna Pais como coluna de Lookup.

19

Faça o mesmo para o Selection List que você nomeou como Selecione um Estado para Análise:, porém, em Keys e Labels, selecione a coluna Estado e, na configuração de coluna de lookup do Data View QuantidadedeVendasporCliente, escolha também a coluna Estado.

A unica diferença aqui é que, em Options… da configuração de Keys, você irá marcar dois check box: Um para o Time Navigator e outro para o Selection List configurado para seleção de Pais. Faça conforme imagem abaixo:

20

Agora selecione no canto esquerdo o Time Navigator. Selecione o Data View QuantidadedeVendasporCliente. Na segunda opção de seleção, você irá configurar a métrica que irá preencher o componente. Marque somente o Check box da métrica QtdVendas.

Em Options… será possível que você escolha os componentes que serão filtrados pelo tempo selecionado no componente de tempo. Marque as duas opções que são referentes às duas Listas de Seleção – Pais e Estado.

Configure o componente conforme imagem abaixo:

18

Selecione o componente Number nomeado por Valor Vendido:.

Em sua lista de configurações, escolha o Data View QuantidadedeVendasporCliente e ao lado, nas métricas, escolha QtdVendas e em Options… selecione todos os Check box conforme abaixo:

21

Agora você irá configurar o componente de Mapa. Em suas configurações escolha o Data View QuantidadedeVendasporCliente, em Keys escolha a coluna Estado. Essa coluna será responsável por mostrar os dados de vendas em cada estado do mapa dos Estados Unidos.

Observe que se você tivesse um outro mapa de país, como o lookup é realizado por nome e não por latitude e longitude, o painel não iria apresentar os dados.

Em Options…, Selecione todos os Check box e em Values, selecione a coluna ValorVenda conforme abaixo:

22

Agora você irá configurar o último componente do Dashboard. Selecione no canto esquerdo o DataGrid.

Em Data for the Grid View: selecione o Data View QuantidadedeVendasporClente e, em Options…, Marque todos os Check box. Em Field to Aggregate By: Selecione a opção NomeCompleto.

Em Columns, no canto inferior direito, marque o check box referente as colunas OrdemVenda, QtdVendas e ValorVenda.

Em Options… da coluna QtdVendas, deixe a opção String Format com valor default – General – e altere a Aggregation Function para SUM. Já em Options… da coluna ValorVenda, Altere o String Format para DefaultCurrency e a Aggregation Function para SUM.

Configure conforme abaixo:

23


Agora que a configuração de Layout e de Data View foi realizada, você irá efetuar as configurações da aba Dashboard Settings.

Em Local Settings, na opção Dashboard Culture: selecione a opção Portuguese (Brasil).

Marque os Check box Enable client data caching e Encrypt data stored on the client caso não esteja selecionado conforme imagem abaixo:

24

Em Server Settings, na opção Server Group, clique em Create New Group… e crie um grupo de Dashboards dentro do Datazen Server. Nomeie o grupo de Análise de Vendas.

25

Na aba Run Preview, visualize o Dashboard em execução, antes de publicá-lo.

27

Feito isso, clique no botão de voltar no canto superior esquerdo do Dashboard, depois clique com o botão direito na tela e selecione a opção Publisher to Server.

28

Feito isso, confirme as informações na próxima janela e clique em Publisher.

29

Feito isso, esse Painel estará disponível para acesso em qualquer dispositivo, seja eme móvel ou web.


No próximo post da série você irá aprender como as opções de segurança para Dashboards e KPIs.

70-463 – Implementing a Data Warehouse with Microsoft SQL Server 2012

Pessoal, ontem tive o prazer de executar de forma bem sucedida o exame 70-463 – Implementing a Data Warehouse with Microsoft SQL Server 2012.

Como falei no post anterior (70-461 – Querying Microsoft SQL Server 2012), essa série é direcionada a ajudar os profissionais que querem se especializar nas tecnologias relacionadas ao Microsoft SQL Server. 

Da mesma forma como assinalei no texto relacionado a primeira prova que fiz, os exames realmente não são fáceis e estão muito focados em casos de uso. Ou seja, “quem se atenta unicamente em como usar e não em porque usar tem uma grande chance de não ter um resultado bem sucedido”.

Alguns assuntos muito cobrados foram:

  1. O uso adequado dos componentes do Integration Services levando em consideração sua classificação de bloqueio de fluxo de carga – Blocking, Semi-Blocking and Non-Blocking Components;
  2. Conceitos bem profundos de modelagem dimensional – dando bastante foco ao modelo Star Schema de Ralph Kimball;
  3. A instalação e uso do Data Quality Services e Data Quality Client para qualidade de dados;
  4. A criação e uso adequado dos ambientes dentro de uma solução de SSISDB unido, claro, à criação e usabilidade da parametrização de conexões com a fonte dos dados;
  5. Deploy de projetos de ETL para o SQL Server Catalog (principalmente usando o cmd) e o uso de procedures e views de sistema do SSISDB para configuração do ambiente e consultas relacionadas a Log de execução;
  6. Uso adequado dos Package Protection Levels e dos Niveis de Isolamento dentro de transações no SSIS;
  7. Uso de tasks específicas como o consumo do Change Data Capture e o uso adequado do Slowly Changing Dimension;

Bom, com base nisso, espero poder ajuda-los! Bons estudos, galera! 

Webcast Global PASS – Desenvolvendo cargas de dados Dinâmicas e Incrementais com o Integration Services

Pessoal, fui convidado pelo MVP em SQL Server Marcos Freccia para participar do PASS Global Portuguese.

Tive o grande prazer de poder falar sobre um assunto que gosto muito. O tema foi relacionado a como desenvolver cargas dinâmicas e incrementais usando o Microsoft Integration Services – Segue o PPT da apresentação para download abaixo. 

slide

Apesar de alguns probleminhas que tive com os códigos, a apresentação fluiu muito bem.

Agradeço de todo coração ao Marcos pela oportunidade de poder compartilhar conteúdo com a comunidade nesse evento tão importante!

Para que não pode assistir a apresentação ao vivo, segue o vídeo gravado abaixo. Espero poder ajuda-los! 

SQL Maniacs – Entendendo o Datazen

Pessoal, tive a honra de ser convidado pelo Vitor Fava – responsável pelo grupo SQL Maniacs – para realizar uma apresentação sobre o Microsoft Datazen

Segue abaixo o ppt da apresentação.

Captura de Tela 2015-10-22 às 01.20.51

Dentre os assuntos que já tenho falado (arquitetura, instalação, configuração criação de data sources e data views e criação e publicação de dashboards e KPIs) falei também sobre algumas atividades administrativas da ferramenta, como por exemplo o backup e restore e reset index

Agradeço de todo coração ao Vitor pela oportunidade de continuar expondo conteúdos para a comunidade ajudando, dessa forma, a quem está começando, assim como eu também já fui ajudado. 

Segue abaixo o link dos dois videos – Parte 1 e Parte 2 da apresentação.