24 Hours Global PASS Portuguese – SSRS 2016

No último dia 15/11 participei de mais um evento da comunidade PASS denominado 24 Hours Global PASS Portuguese falando sobre as novidades do SQL Server Reporting Services 2016 e suas integrações com o antigo Microsoft Datazen e o Power BI Desktop e Cloud

O evento foi composto por uma série de 24 palestras durante 5 dias onde grandes nomes da comunidade Microsoft falaram sobre diversos assuntos dentre melhores práticas e novidades relacionadas a Cloud, Business Intelligence, SQL Server dentre outros. 

Agradeço grandemente à equipe do virtual PASS pela oportunidade de poder levar um pouco mais de conhecimento para frente. Isso tudo é muito gratificante e acredito poder falar, neste caso, por todos que participaram como palestrantes e moderadores no evento. 

Abaixo segue o vídeo da apresentação que fora gravada.  

Espero poder ajudá-los!

Anúncios

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.

Datazen Beginning – Parte 11

Neste post da série Datazen Beginning você irá aprender sobre a Adminitração de segurança de Dashboard, Data Sources, KPIs e Painel de Atividades dentro do Painel de Administração do Datazen Server.


No post anterior da série – Parte 10 – você aprendeu como criar e publicar Deshboards usando o Datazen Publisher e na Parte 6 você aprendeu sobre a construção de KPIs dentro do Painel de Administração do Datazen Server.

Nesta etapa você entenderá como funcionam as opções e níveis de segurança dentro do Microsoft Datazen.


Primeiramente é necessário que você compreenda os níveis de segurança dentro da ferramenta. Observe a imagem abaixo:

01

É possível que um Usuário – ou Grupo de Usuários – do Core Services tenha acesso, dentro de cada Hub, a:

Um ou mais grupos de Dashboards:

02

Um ou mais Dashboards expecíficos (independente do grupo do qual faça parte):

03

Um ou mais grupos de KPIs:

04

Um ou mais Data Connections:

05

Painel de Atividades dos Dashboards e KPIs:

06


Agora vamos ver como administrar permissões a Dashboards, KPIs, Data Connections e Painel de Atividades dentro do Painel de Administração do Datazen Server.

Acesse o Control Painel como Admin, crie um novo usuário na aba Server Users e defina a senha para ele através do link que será gerado – Para mais informações, acesso a Parte 4 do conjunto de posts.

É possível que um usuário do Datazen Server tenha acesso a um ou mais Hubs em três níveis apenas um nível por Hub:

  1. Somente visualização – Essa permissão é concedida quando o usuário é adicionado ao Hub;
  2. Publisher – Com essa permissão o usuário pode criar e publicar Dashboads dentro do Hub. Ela é concedida marcando o Check box Publisher quando dado o acesso ao usuário dentro do Hub;
  3. Owner – Com esse nível de permissionamento o usuário poderá acessar o painel de Controle do Hub, criar KPIs, dar ou retirar acesso de outros usuários, excluir objetos, etc.

Observação – O nível de permissão Owner do Hub só poderá ser concedido pelo Administrador do Datazen pois isso somente é possível editando o Hub.

Agora acesse a aba Users das opções de configuração do Hub Adventure Works. Adicione o usuário que acabou de criar ao Hub e marque o check box Publisher.

Observação 2 – Caso você queira retirar o acesso de um usuário a um Hub basta, dentro da aba Users, Clicar no botão de exclusão do canto direito do registro desse usuário específico. Mas isso somente será possível se ele não for um dos Owners do Hub. Se for, você precisará antes retirar a permissão de Owner desse User.

Entendido isso, o funcionamento do controle de permissões de usuários dentro da ferramenta é bastante simples.

Você pode criar grupos de usuários na aba User Groups dentro de cada Hub e adicionar os usuários que já fazem parte do Hub dentro desses grupos. Dessa maneira, poderá atribuir permissões de forma macro.

07

Na aba Permissions será possível você perceber as quatro possibilidades de permissionamento que citei acima.

08

É possível que você conceda permissão a nível de Grupo de Dashboard ou a nível de Dashboard mudando a seleção Dashboards & Dashboard Groups. É possível também conceder essa permissão a nível de usuário ou de grupo de usuários mudando a seleção Set permissions for:.

Em Data Sources e KPIs funciona de forma semelhante que na aba Dashboards, exceto pelo fato de que não é possível dar permissão a um objeto de nível inferior a Grupo de KPIs ou Data Connections.

Ou seja, caso você queira que um usuário acesse somente um KPIs ou um Data View específico, terá de criar um grupo de KPIs ou um Data Connection específico para ele.

Outro ponto interessante a ser observado com relação à segurança do Datazen é o o painel de atividades. É possível que os usuários interajam através dos aplicativos Datazen Viewer discutindo e dando opinião acerca dos dados apresentados em casa um dos objetos do Datazen Server (Dashboards e KPIs).

10

Os acesso podem ser concedidos a um usuário específico ou grupo de usuários de três maneiras:

  1. No Access – O usuário não terá acesso a nenhuma das informações do painel de atividades;
  2. Read Only – O usuário poderá somente ler os comentários do painel de atividades;
  3. Full Access – O usuário poderá interagir com os demais usuários, não somente lendo, mas também comentando dentro do Painel.

09


O próximo post será o ultimo da série Datazen Beginning. Nele você aprenderá sobre algumas funções administrativas do Datazen Enterprise Server.

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.

Report Services 2016 / Datazen Beginning – Parte 7

Neste post da série você irá conhecer a ferramenta responsável por criar e publicar Dashboards dentro do Datazen Server, o Datazen Publisher.


Como você pode observar na Parte 5 e Parte 6 do conjunto de posts, a criação de Data Sources, Data Views e KPIs é realizada dentro do Painel de Administração do Datazen Server. Porém, para que seja possível efetuar a criação de Dashboads você precisará usar uma ferramenta externa. O Datazen Publisher.

A instalação e configuração dessa ferramenta foi realizada na Parte 2 e Parte 3 do conjunto de posts.

Acesse a ferramenta Datazen Publisher e você precisará preencher as informações relacionadas ao Server do Datazen em que irá se conectar.

Captura de Tela 2015-10-12 às 06.09.32

  1. Server Address deverá ser configurada com o servidor em que o Datazen Server foi instalado. No conjunto de posts, Tanto o Datazen Server quanto o Datazen Publisher foram configurados na mesma maquina. Por isso preencha com localhost.
  2. Em Username e Password preencha respectivamente o login e senha do usuário que foi criado e que é owner do Hub que foi criado.
  3. O checkbox Use Security Connection deve ficar desmarcado. Essa opção só é usada quando o Datazen Server usa certificado para conexão segura.
  4. O checkbox Sync All Data deve ficar habilitado. Ele é responsável por fazer um refresh nos dados.

Ao se conectar, você poderá ver os KPIs que já foram criados na Parte 6. Clique com o botão direito do mouse dentro do Publisher e você poderá ver as opções disponíveis.

Captura de Tela 2015-10-12 às 06.18.41

As opções relevantes aqui serão Create, Connected e ManageEm Connected será possível ver a conexão ao Datazen Server atual e também se conectar a uma outra instancia com outro Server se necessário.

Captura de Tela 2015-10-12 às 06.21.40

Em Manage você terá acesso a algumas opções de configuração de Dashboards e KPIs.

Captura de Tela 2015-10-12 às 06.20.59

  1. Em KPIs & Dashoboars será possível Criar ou alterar Grupos de Dashboards.
  2. Em Background Data Sync será possível configurar o Serviço de Data Cache do Dashboard e KPI.
  3. Em Application Branding será possível alterar a as configurações gráficas do Datazen. Existem algumas que vem por Default. Mas é possível que você crie seu próprio Branding e o disponibilize através do painel de Administração.
  4.  Em Work Folder será possível criar ou alterar a pasta de trabalho local do Datazen Publisher. Os Dashboards que forem criados e salvos localmente ficaram dentro dessa pasta de trabalho.
  5. Em PIN Lock será possível configurar uma senha de quatro dígitos numéricos que sempre será solicitada ao iniciar ou ao iniciar e acessar o Publisher.
  6. Em Privacy Settings você poderá configurar a as propriedades de privacidade do uso aos dados.

Ao acessar a opção Create você terá acesso à tela que define se você criará um Dashboard do zero ou criará um Deshboard a partir de um outro já existente.

Obs – Se selecionada a opção de criar um painel derivado de outro, o dashboard selecionado não será sobre escrito. Ele será copiado.

Captura de Tela 2015-10-12 às 06.37.25

Selecione a opção Start from an empty dashboard. Feito isso você irá se deparar com a tela de criação de Dashboards dentro do Datazen Publisher.


Temos muito o que falar do Datazen Publisher. É necessário que você entenda bem como manusear a ferramenta antes de começar a criar e publicar Dashboards. portanto, vamos por partes. Vamos iniciar pelos 4 painéis de configuração.

Layout View – Será nesse painel que você irá desenvolver o designer do dashboard. Em outras palavras, será aqui que você perderá um pouco de tempo com o usuário final entendendo como ele quer que seus dados sejam apresentados.

Captura de Tela 2015-10-12 às 06.41.46 2

Data View – Nesse painel você irá conectar os dados dos data views criados no painel de administração aos componentes gráficos selecionados no painel Layout View.

Captura de Tela 2015-10-12 às 06.49.03

Dashboard Settings – Nesse painel será possível definir as configurações do Dashboard que está sendo desenvolvido tanto localmente quanto para o Server quando esse painel for publicado.

Captura de Tela 2015-10-12 às 06.51.23

 Run Preview – Nesse painel é possível ver, em tempo de desenvolvimento, como está o dashboard que está sendo criado.

Captura de Tela 2015-10-12 às 06.53.31


Ao clicar com o botão direito do mouse em qualquer uma das abas de desenvolvimento do Datazen Publisher você terá as seguintes opções:

Captura de Tela 2015-10-12 às 06.55.00

  1. Em Home você será redirecionado para a pagina inicial do Datazen Publisher;
  2. Em New Dashboard você poderá criar um novo painel;
  3. Em Save Locally será possível salvar o dashoboard que está sendo desenvolvido localmente na pasta de trabalho (Work Folder);
  4. Em Publish to Server será possível salvar dentro do Datazen Server o Dashboard que foi desenvolvido. Feito isso, todos os dispositivos moveis e web que tiverem acesso à esse servidor poderão ter acesso a esse Dashboard.

Nos próximos post da série você irá começar a criar Dashboards. Falaremos sobre os tempos de execução dos Dashboards (Dashboards Runtime). Também veremos mais sobre cada uma das possibilidades de criação dentro do Publisher e cada componente de desenvolvimento dentro do painel Layout View.

 

Datazen Beginning – Parte 6

Neste post da série você aprenderá a criar e administrar KPIs dentro do Painel de Administração do Microsoft Datazen.


KPIs – Key Performance Indicator ou, em português Indicadores de desempenho (como é conhecido) são usados para demonstrar de forma quantitativa quão longe ou perto certa área de uma instituição está para atingir sua meta ou valor com relação a determinado assunto.

Os KPIs são desenvolvidos dentro do Painel de Administração do Microsoft Datazen e consumidos tanto pela aplicação Datazen Viewer nos dispositivos móveis quanto em qualquer computador através de qualquer browser que tenha acesso ao server.


Conecte no painel de controle do Datazen Server e acesse a aba KPIs do Hub Analise de Vendas que você criou na parte 4 da série de posts.

Captura de Tela 2015-10-05 às 21.17.12

No canto superior direito crie um novo grupo de KPIs. Uma nova aba será aberta e você poderá criar a conexão com a fonte de dados para aquele grupo de KPIs (Caso tenha alguma dúvida de como criar uma fonte de dados, consulte a parte 5 do conjunto de posts). Preencha tal qual a imagem abaixo.

Captura de Tela 2015-10-06 às 04.13.04

Na próxima tela, basta que você dê acesso à conexão aos usuários que devem ter permissão à fonte de dados. Feito isso será possível que você crie seu primeiro KPI clicando em Create New KPI dentro da conexão.

Captura de Tela 2015-10-06 às 04.14.30  Uma nova tela será aberta e nessa janela de configurações você irá criar o Indicador de Desempenho através de algumas opções:

Captura de Tela 2015-10-06 às 04.27.29

  1. KPI Name – Nome que você irá dar ao Indicador;
  2. Value Format – Formato do valor que será disponibilizado no indicador. Você pode selecionar General, ou Currency ou Percent, por exemplo;
  3. Value – Local onde você irá por a query que demonstrará o valor do Indicador. Uma consulta que retorne o valor vendido até o momento no dia atual, por exemplo;
  4. Goal – Valor de comparação. Caso você queira ver como estão as vendas em um estado em comparação às vendas em outro estado, por exemplo. Essa configuração é opcional;
  5. Status – Determina através dos valores 1, 0 e -1 a cor do KPI. Para que seja possível entender, imagine que o KPI demonstra o total de vendas até o momento em uma loja de Brasília comparando o total de vendas até o memento em uma outra loja localizada em São Paulo. Caso as o total de vendas em Brasília esteja abaixo do total de vendas em São Paulo, o KPI ficaria vermelho. Se iguais os números de vendas para ambos os estados, amarelo e, quando as vendas em Brasília estiverem superiores às de São Paulo, Verde. Essa também é uma configuração opcional;
  6. Trend Set – Nessa configuração é possível determinar uma query que irá traçar como o Value se comportou com relação ao valor de comparação configurado no Goal em um determinado período de tempo. Também opcional;
  7. Visualization – Tipo de gráfico no qual a diferença entre o Value e o Goal será demonstrado. Essa opção somente será disponibilizada caso você configure o Trend Set;

Você irá criar o primeiro KPI chamado Meta de Jan – Fran.

Deixe o Value format default que é General. Para configuração do Value, altere a de Set Manually para Execute Query. Ao fazê-lo, Você verá ao lado a opção Define Query . Selecione essa opção e você irá se deparar com uma janela semelhante às de criação de Data Views (Para mais informações, consulte a Parte 5 do conjunto de posts). Mude A frequencia de Refresh para Minutos e deixe o default que é de 30 em 30 minutos.

dentro do Data View Query você irá usar a consulta abaixo:

SELECT SUM(CONVERT(INT,f.UnitPrice))
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
WHERE dst.SalesTerritoryCountry IN ('France')
     AND dod.EnglishMonthName = 'January'
GROUP BY dst.SalesTerritoryCountry

Na opção de Goal você usará a opção Set Manually e irá inserir o valor 185000.

Já na opção Status você irá usar também a opção Execute Query e, da mesma forma como fez na configuração do Value fará na configuração do Status, porém, usará a consulta abaixo:

SELECT CASE WHEN SUM(CONVERT(INT,f.UnitPrice)) &amp;amp;amp;lt; 185000 THEN 1
			WHEN SUM(CONVERT(INT,f.UnitPrice)) &amp;amp;amp;gt; 185000 THEN -1
		ELSE 0 END
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
WHERE dst.SalesTerritoryCountry IN ('France')
		AND dod.EnglishMonthName = 'January'
GROUP BY dst.SalesTerritoryCountry

Obs: É necessário que ao indicar os valores 1, 0 ou -1 você use o data type INTEGER. Caso use o tipo VARCHAR (ao colocar os valores entre aspas simples) a cor irá mudar dentro do painel de administração, mas, quando o KPI for visualizado na Web ou através do Aplicativo Mobile Datazen Viewer, a alteração de cor não irá funcionar.

Feito isso, sua tela estará conforme a imagem abaixo.

Captura de Tela 2015-10-06 às 04.57.26

Selecione a opção Create e seu primeiro Indicador de Desempenho estará pronto para consumo em qualquer um dos dispositivos que tenham acesso ao Hub.

Obs 2 – Caso você queira, por exemplo, alterar a meta dentro do KPI, não basta que você mude o número dentro da opção Goal. Você também precisará alterar a query do Status. Caso o contrário, supondo que o valor da atingido seja inferior ao valor da meta proposta, o Indicador não ficará vermelho, como deveria.

Basicamente, o que o Indicador que você criou acima está monstrando é que o valor alcançado através das vendas na França no mês de Janeiro está superior em 1% ao valor da meta proposta.


Agora iremos criar um segundo KPI. Clique em Create New KPI e o nomeie de Comp. Jan – GER x CAN. Nesse Indicador de Desempenho iremos comparar diariamente o valor alcançado através das vendas na Alemanha com relação ao valor alcançado através das vendas realizadas no Canadá.

Da mesma forma como você configurou o KPI anterior o faça neste novo.

Para a configuração do Value, use a query abaixo:

SELECT SUM(CONVERT(INT,f.UnitPrice)) PrecoUnitario 
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
WHERE dst.SalesTerritoryCountry IN ('Germany')
		AND dod.EnglishMonthName = 'January'
		AND dod.DayNumberOfMonth = 31
GROUP BY dod.DayNumberOfMonth
ORDER BY dod.DayNumberOfMonth

Agora, para configuração do Goal, ao invés de inserir um valor manualmente como fez no KPI anterior, selecione a opção Execute Query e use a consulta abaixo:

SELECT SUM(CONVERT(INT,f.UnitPrice)) PrecoUnitario 
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
WHERE dst.SalesTerritoryCountry IN ('Canada')
		AND dod.EnglishMonthName = 'January'
		AND dod.DayNumberOfMonth = 31
GROUP BY dod.DayNumberOfMonth
ORDER BY dod.DayNumberOfMonth

Faça o mesmo na configuração do Status usando a query abaixo:

WITH STATUS AS (
SELECT	CASE WHEN CASE WHEN dst.SalesTerritoryCountry = 'Germany' 
						THEN SUM(f.UnitPrice) 
					ELSE 0 END &lt; 
				 CASE WHEN dst.SalesTerritoryCountry = 'Canada' 
						THEN SUM(f.UnitPrice) ELSE 0 
					END THEN 1
		ELSE -1 
		END STATUS,
dst.SalesTerritoryCountry AS Pais
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
WHERE dst.SalesTerritoryCountry IN ('Canada','Germany')
AND dod.EnglishMonthName = 'January'
AND dod.DayNumberOfMonth = 31
GROUP BY dod.DayNumberOfMonth, dst.SalesTerritoryCountry
) 

SELECT * FROM STATUS WHERE Pais &amp;amp;lt;&amp;amp;gt; 'Germany'

Agora, neste KPI nós iremos configurar a quarta opção, o Trend Set. Se você observar bem as consultas acima irá perceber que todas filtram o dia 31 de Janeiro, ou seja, todos os valores correspondem a esse dia.

No Trend Set, para esse KPI você irá traçar uma linha do tempo, onde o comparativo dos valores em cada dia do mês de Janeiro será demonstrado.

Para isso, utilize a consulta abaixo na opção Execute Query no Trend Set:

SELECT  UM(Germany) - SUM(Canada) ComparativoDiario
FROM (
		SELECT TOP	100000000
					dod.DayNumberOfMonth AS Dia,
					CASE WHEN dst.SalesTerritoryCountry = 'Germany' 
							THEN SUM(CONVERT(INT,f.UnitPrice)) 
					ELSE 0 END AS Germany,
					CASE WHEN dst.SalesTerritoryCountry = 'Canada'
							THEN SUM(CONVERT(INT,f.UnitPrice)) 
					ELSE 0 END AS Canada
		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
		WHERE dst.SalesTerritoryCountry IN ('Germany','Canada')
				AND dod.EnglishMonthName = 'January'
		GROUP BY dod.DayNumberOfMonth, dst.SalesTerritoryCountry
		ORDER BY dod.DayNumberOfMonth
) TrendSet
GROUP BY Dia

Sua janela de configuração ficará igual a tela abaixo:

Captura de Tela 2015-10-06 às 05.24.17

Após isso, pressione o botão de Create e o seu novo KPI estará também disponível.

é possível também fazer referência à um dashboard dentro de um KPI e criar sub KPIs. Veremos isso mais tarde, nos posts seguintes.


No próximo post da Série Datazen Beginning, Você aprenderá a usar o Datazen Publisher para que seja possível iniciar a construção de Dashboards.

Datazen Beginning – Parte 5

Nest post da série Datazen Beginning, você aprenderá como criar Data Sources para capturar os dados a serem usados nos Dashboards e KPIs da ferramenta Microsoft Datazen.


Os Data Sources são criados dentro do painel de controle do Datazen Enterprise Server.

Captura de Tela 2015-09-16 às 10.55.39

Para que um Data Source possa ser criado, antes de mais nada é necessário ter, pelo menos um User e um Hub criado. Cada Data Source faz parte de um Hub e somente o owner do Hub é capaz de criá-lo. Para que outros usuários tenham acesso ao Data Source é necessário acessar as configurações de permissionamento, como fora dito no post anterior – Datazen Beginning – Parte 4.


Antes que possamos realmente criar um Data Source no painel de controle, é necessário que você aprenda e entenda algumas coisas a disso.

Existem vários tipos de conexões que são possíveis dentro do Microsoft Datazen. como exemplo de algumas delas temos:

  1. Microsoft SQL Server;
  2. Microsoft Analysis Services;
  3. Microsoft SharePoint List;
  4. Microsoft Azure SQL Database;
  5. Microsoft Excel;
  6. Oracle (ODBC e OLE DB);
  7. MySQL ODBC;
  8. PostgreSQL (ODBC e OLE DB);

Caso você queira saber todas as possibilidades de conexões, acesse a página 68 da documentação oficial do Microsoft Datazen.


Ao entrar na opção Data Source dentro do Painel de Administração do Datazen você verá que é possível criar Pastas para organizar os Data Sources ou, caso você possua somente uma conexão ou mesmo não queira criar pastas, poderá criar um Data Connection diretamente.

Captura de Tela 2015-09-16 às 11.41.57

Para criar uma nova conexão basta clicar em New Data Connection. Será aberta uma janela com algumas configurações. Em Data Provider será possível selecionar o provedor de dados (se será um banco de dados SQL Server, Oracle, MySQL ou mesmo Uma base de dados no Azure ou uma lista no SharePoint).

Captura de Tela 2015-09-16 às 11.43.25

Para cada tipo de conexão você terá configurações diferentes.

Eu irei usar para demonstração o banco de dados AdventureWorksDW2014 no SQL Server 2014. Selecione a opção e após isso nomeie a conexão. Chamarei de Adventure Works DW.

Em Properties configure o seguinte:

  • Data Source – o IP ou DNS de conexão. Se seu banco de dados SQL Server estiver na mesma Instância do Server do Datazen, ponha localhost;
  • Initial Catalog – Ponha o nome da Base de Dados. No meu caso, AdventureWorksDW2014;
  • User ID – Coloque o nome do Usuário com o qual irá se conectar à base de dados. No meu caso será arthur.luz;
  • Password – Senha do User que fora diponibilizado na opção de User ID;
  • O checkbox Integrated Security é utilizada para que você se conecte à origem através do User responsável pela conta de Serviço do Core Service (Essa é a conta que você usou na quarta janela de instalação do Datazen (veja na Parte 3 do conjunto de posts) . Já o checkbox Encrypt é usada caso você possua criptografia de dados na sua origem (TDE no SQL Server, por exemplo). Deixe-as desmarcadas.

Sua tela ficará assim:

Captura de Tela 2015-09-16 às 11.52.10

Teste a conexão e, se ok, Clique em Next. Na proxima tela, será possível dar permissões para usuários ou grupos de usuários àquele Data Source que você está criando. 

Captura de Tela 2015-09-16 às 12.53.37

Apenas finalize a criação do Data Source. 


Após criada a conexão é necessário que você crie os Data Views que nada mais são que visualizações tabulares criadas a partir do Data Source na fonte de dados.

Os Data Views podem estar ligados ao Servidor do Datazen (Core Service), podendo ser acessado de qualquer máquina com o Datazen Publisher instalado, ou estar localmente (no caso de planilhas do Excel), dentro da máquina na qual o Dashboard ou KPI está sendo criado.

Um dos Serviços que foi instalado, chamado Data Acquisition Service (veja mais sobre os Serviços na Parte 3 do conjunto de posts), é responsável por capturar periodicamente os dados na fonte e guardá-los em cache (memória).

Você pode criar Data Views configurando esse serviço de três formas distintas. São elas:

  1. Cached Data Views – Nessa opção, ao criar o data view, você configura de quanto em quanto tempo o Serviço irá à origem para capturar os dados;
  2. Real Time Data Views – Se você selecionar essa opção, cada vez que o Dashboard for aberto, o serviço de aquisição vai até a fonte dos dados buscá-los;
  3. Parameterized Data Views – Essa opção é indicada quando você tem uma grande volumetria de dados sendo retornados através do Data View. A ideia aqui é você criar um parâmetro que filtre a busca de dados real time.

Para criar um Data View, clique no Data Connection que você acabou de criar. 

Captura de Tela 2015-09-16 às 12.58.32

Na nova tela que será aberta, clique em New Data View. Uma nova aba será aberta.

Captura de Tela 2015-09-16 às 13.01.51

Você terá as opções:

  • Data View Name – Nome que vecê dará à visualização tabular que está criando;
  • Refresh Frequency – Usada para trabalhar com os três tipos de atuações do Serviço de Aquisição de dados (Cached Data Views, Real Time Data Views e Parameterized Data Views);

Captura de Tela 2015-09-16 às 13.02.21

  • Allow Client Data Caching – Usada para que seja possível armazenar as visualizações em Cache no Aplicativo Client. Ou seja, as visualizações ficarão armazenadas dentro dos dispositivos móveis, por exemplo, para que seja possível o acesso aos dados Offline;
  • Personalize for each member – Todas as opções de Data Views (exceto as provenientes do Excel) podem ser personalizadas com base no usuário a acessá-la. O contexto do usuário é passado através de vários métodos, dependendo do tipo de data view. Essa opção é usada para para capturar o usuário que está acessando uma exibição. O nome é fornecido como Token para ser incluído no método de consultas;
  • Data View Query – Usada para que você coloque sua query, seja ela, SQL, MDX, XML ou outras;

Caso você selecione a opção Real Time dentro da configuração Refresh Frequency será possibilitado a você que determine parâmetros para o Data View. Ao clicar na opção Define Parameters uma nova janela irá abrir.

Captura de Tela 2015-09-16 às 13.03.14

Agora basta que você nomeie o parâmetro, encolha seu tipo e insira um valor Default (caso queira).

Assim como no Report Service, esse parâmetro é usado dentro da query, como um filtro. Veja abaixo.

 
SELECT FirstName 
FROM DimCustomer 
WHERE FirstName = '{{ @Nome }}'

Observação: É realmente necessário que as chaves sejam repetidas duas vezes entre aspas e que o parâmetro possua um espaço entre as chaves de abertura e fechamento. Caso não seja feito dessa maneira, você terá um erro.


Para que possamos criar um Data View, irei usar uma query que tratá todas as compras online realizadas por cada cliente no banco Adventure Works.

SELECT dc.FirstName + ' ' 
       + CASE WHEN MiddleName IS NULL THEN '' 
          ELSE MiddleName END + ' ' 
       + dc.LastName AS FullName, 
       dc.Gender, 
       dc.BirthDate, 
       dc.Phone, 
       dc.AddressLine1, 
       dp.EnglishProductName, 
       dp.EnglishDescription, 
       dst.SalesTerritoryCountry, 
       dst.SalesTerritoryRegion, 
       dod.CalendarYear, 
       dod.EnglishMonthName, 
       dod.FullDateAlternateKey, 
       f.SalesAmount, 
       f.UnitPrice 
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

Dê o nome de Quantidade de Vendas por Cliente para o Data View. Configure para que o serviço de Aquisição de dados atualize o Data View a cada 10 minutos e Permita que os dados sejam armazenados no cache do Client. Sua tela deverá ficar como o print abaixo.

Captura de Tela 2015-09-16 às 13.50.22

Após selecionado Next, será aberta uma tela todas as colunas e os tipos de dados de cada uma delas.

Captura de Tela 2015-09-16 às 14.02.07

Após isso, uma nova tela como o Data View retornará os dados.

Captura de Tela 2015-09-16 às 14.17.19

Clique em Finish e seu Data View estará criado.


Para finalizarmos essa etapa do conjunto de posts sobre Datazen Beginnig, é necessário que sejam expostas algumas coisas importantes a respeito dos Data Views criados a partir de um arquivo Excel

  1. O que você deve fazer
    1. Use o Excel 2007 ou superior;
    2. Usar um worksheet por conjunto de dados;
    3. Ter um cabeçalho por coluna na primeira linha;
    4. Manter tipos de dados consistentes (para isso, formate os dados);
    5. Ao usar formulas, manter assegurado que toda a coluna está utilizando a mesma formula para todas as tuplas;
    6. O arquivo deve ser salvo com a extensão XLSX.
  2. O que você não pode fazer
    1. Usar o Excel 2003 ou anterior;
    2. Incluir imagens, gráficos ou tabelas dinâmicas;
    3. Manter o arquivo aberto durante a importação para o Datazen;
    4. Formatar números manualmente adicionando moedas ou outros símbolos;
    5. Salvar o arquivo com a extensão XLS;

No próximo post da Série Datazen Beginning você aprenderá a criar KPIs dentro do Painel de Administração do Datazen Enterprise Service