PowerBI e processamento nativo de JSON
O PowerBI é um dos novos e excelentes ambientes de geração de relatórios que você pode usar para visualizar dados. Uma grande vantagem do PowerBI é o suporte nativo a JSON e o mecanismo de transformação programável incorporado. O PowerBI pode simplesmente conversar diretamente com o Couchbase Server e gerar relatórios sobre os dados. Não é necessário driver ODBC ou JDBC! | ![]() |
Visualize dados no Couchbase Server v4 em 4 etapas
Vamos examinar as quatro etapas para visualizar seus dados do Couchbase Server no PowerBI:
#1 Obter alguns dados de amostra:
Estou usando o bucket travel-sample que vem com o Couchbase Server 4. Instale esse conjunto de dados usando a guia "settings" (configurações) no console de administração ou durante a instalação. Você poderá acompanhar os exemplos.
#2 Consulta por meio da API REST do N1QL:
Usarei uma consulta bastante simples para a amostra: Essa consulta retorna a lista completa de todas as companhias aéreas com seu total de voos para cada aeroporto de destino.
1 2 3 4 5 |
SELECIONAR a.nome, r.aeroporto de destino, contagem(a.nome) como total_flights DE `viagens-amostra` r JUNTAR `viagens-amostra` a ON CHAVES r.companhia aérea ONDE r.tipo ="route" (rota) E a.tipo="companhia aérea" GRUPO BY r.aeroporto de destino, a.nome ORDEM BY r.aeroporto de destino |
Para conectar o PowerBI com N1QL. Usaremos a API REST do N1QL para executar a consulta. Talvez alguns não saibam, mas o N1QL vem com uma API REST que recebe uma declaração ad-hoc. A API REST do N1QL está documentada aqui e você pode usar a ferramenta de reconhecimento de JSON de sua preferência para acessar diretamente essa API. Minha ferramenta preferida é Carteiro (também disponível no chrome marketplace). A API REST do N1QL combinada com o postman me dá visibilidade total do que está sendo transmitido.
Na figura a seguir, estou acessando um nó de cluster local na porta 8093 com a consulta acima com o postman.
Passaremos o URL codificado para o Power BI e ele terá a seguinte aparência:
1 |
http://10.0.0.52:8093/query/service?statement=select%20a.name,r.destinationairport,%20count(a.name)%20total_flights%20from%20`travel-sample`%20r%20join%20`travel-sample`%20a%20on%20keys%20r.airlineid%20where%20r.type%20=%22route%22%20and%20a.type=%22airline%22%20group%20by%20r.destinationairport,%20a.name%20order%20by%20r.destinationairport |
#3 Enviar e transformar dados no PowerBI:
Por último, você precisa iniciar a versão para desktop do Power BI. A versão para desktop é gratuita e está disponível aqui.
- Vá para o menu "Get Data" e escolha "Web" como método. Digite o URL acima e aguarde até que os dados sejam exibidos.
- Agora, passaremos por um conjunto de transformações para preparar nossos dados para visualização.
- Quando os resultados forem transmitidos para o Power BI, você verá os atributos JSON que retornam do N1QL. Pesquise os "resultados" clicando no link "List" na tela.
- Usaremos a transformação de tabela para moldar nosso JSON. Clique no menu "To Table" (Para tabela) na parte superior e não especifique um delimitador. Basta clicar em "OK".
- Em seguida, você clicará no pequeno ícone "dividir" na parte superior da coluna na grade de coluna única para dividir os atributos em JSON em colunas separadas na tabela.
- Depois de clicar em ok, esta é a aparência da transformação de dados concluída... Basta clicar em "Close & Apply" (Fechar e aplicar) no canto superior esquerdo
#4 Visualizar dados no PowerBI:
Gosto de usar a visualização TreeMap para exibir os destinos mais populares de cada companhia aérea. Para chegar lá,
- Arraste "Column1.destinationairport" para Grupo
- Arraste "Column1.total_flights" para Valores.
- Arraste "Column1.name" para Filtros de nível de página e expanda o campo para filtrar em "Air Foyle".
Você também modificará o tipo de dados para total_flights. Para chegar lá, há mais dois cliques. Siga o sinal de mais verde na figura abaixo.
- Altere o tipo de dados da coluna total_flights para "Whole Number" (Número inteiro).
- Altere a Agregação em total_flights para "Sum".
E pronto!
Também gostaria de mencionar que você pode usar ODBC/JDBC para se conectar aos dados do Couchbase Server. Aqui está o link para download gratuito Drivers ODBC e JDBC para o Couchbase Server.
No entanto... O que estou vendo no mundo de hoje é que a maioria dos novos dados gerados e armazenados está em JSON. Portanto, as novas plataformas de visualização de dados, como o PowerBI, estão adicionando um suporte poderoso ao JSON. O PowerBI fez um ótimo trabalho, tornando muito fácil trabalhar com dados no Couchbase Server sem um driver ODBC.
Feliz Hacking.
cihan biyikoglu - diretor de gerenciamento de produtos