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)) < 185000 THEN 1
			WHEN SUM(CONVERT(INT,f.UnitPrice)) > 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 < 
				 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 <> '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.

Anúncios

3 comentários sobre “Datazen Beginning – Parte 6

  1. Pingback: Datazen Beginning – Parte 7 | Arthur Luz | Data's Light

  2. Pingback: Datazen Beginning – Parte 8 | Arthur Luz | Data's Light

  3. Pingback: Datazen Beginning – Parte 11 – Arthur Luz | Data's Light

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s