Fala, pessoal!

Tudo bem com vocês?

No post de hoje, pretendo dar um overview completo sobre a integração do Power BI com o SQL Server Analysis Services (SSAS)!

Para quem vai trabalhar ou já está trabalhando com estas ferramentas, preste atenção nas dicas, pois, tenho certeza que algumas delas você ainda não conhece! E olha que massa, no meio do post vou citar um assunto que cai (e muito) nas provas de certificações de BI Reporting! \o/

No post de hoje, vamos falar sobre a conexão com o Power BI através do serviço on-premises, utilizando informações provindas de um modelo multidimensional, ou seja, utilizando MDX para a criação dos cubos.

Para conectar na base de dados proveniente do SSAS, o primeiro passo é clicar em Obter Dados –> SQL Server Analysis Services database, conforme abaixo:

Na tela que abrirá, será necessário informar o Servidor (Obrigatório) e o Banco de Dados (Opcional).

Além disso, será necessário escolher o tipo de conexão: Import ou Connect Live. E é aqui que eu gostaria de reforçar alguns pontos importantes, que como eu citei acima, cai na certificação:

O modo Import, como o nome sugere, importa todas as informações da base de dados para dentro do arquivo pbix. Basicamente, a sua fonte de dados externa, vira uma base interna do Power BI. Nesse modo de conexão é possível visualizar os três componentes do lado esquerdo da tela:

Modo Import – Botões disponíveis: Report, Data e Model do Power BI Desktop

Todos estes componentes ficam habilitados, pois, é possível avaliar os dados disponíveis, relacionar as informações através de chaves presentes nas tabelas, além de criar os componentes visuais dos relatórios.

No mode Live Connection, o cenário é TOTALMENTE diferente. A começar, pelas opções de botões presentes do lado esquerdo:

Modo Live Connection- Botão disponível: Report Power BI Desktop

Como deu para perceber, apenas a criação de reports está disponível! Nesse modelo de conexão, toda a parte de modelagem, tratamento de dados, criação de métricas e colunas calculadas, bem como a aplicação de RLS são realizadas diretamente no SSAS!

Dessa forma, todo o controle da base está centralizado, o que implica uma governança corporativa por parte da empresa, para disponibilizar apenas os dados necessários.

Lembrando que esse modelo de conexão é exclusiva para o Analysis Services. Então, já fica a dica: Falou em Analysis Services, falou Live Connection!

Voltando a conexão, após logar no servidor, os bancos de dados serão listados, conforme abaixo:

Note que a forma como as dimensões e as medidas retornaram é diferente do tradicional, onde, geralmente, embaixo de cada banco são listadas todas as tabelas que o banco possui.

Neste formato, temos os bancos listados a esquerda da tela e ao lado direito, nesta ordem, as dimensões seguidas pelas métricas.

Após clicar em Ok, no lado esquerdo da tela apenas o botão de Report estará habilitado e na parte inferior direito da tela aparecerá: “Live Connection: Connected”. Basicamente, a partir de agora, todas as renderizações, agrupamentos de dados e resultados apresentados na tela serão calculados diretamente no SSAS, sem consumir memória RAM da máquina client (Máquina de quem está desenvolvedo).

Conexão atual: Live Connection

Outro ponto importante e que devemos ficar atentos é que no modo Live Connection, nem todos os botões da parte superior da tela ficam ativos.

Vamos analisar quais são eles, detalhadamente, nos prints abaixo:

Aba Home:

Get Data, Recent Resources, Enter Data, Edit Queries (parcialmente), Manage Relationships, New Measure, New Columns, New Quick Measure;

Aba Modeling:

Além dos botões já citados acima e que se repetem nesta aba, também não habilita o New Parameter, Manager Roles, View as Roles, New Group, Edit Group…

Um ponto importante desta tela Modeling, onde o foco dela é a análise e tratamento dos dados em si, é que se o seu dado não vem formatado corretamente do cubo (casa de milhar separada por ponto ou casa decimal separada por vírgula ou número percentual com %), você não conseguirá tratar isso diretamente no Power BI. Tanto, que no exemplo acima, eu usei um cartão com uma medida para ilustar esse cenário. Vejam que o número tem casa de milhar, mas o número está sem formatação adequada.

O botão Edit Queries está parcialmente desabilitado, porque ele possui mais de um recurso disponível quando clicamos sobre ele.

O Data Source Settings, basicamente nos dá a opção de trocar o servidor e o banco de dados que estamos utilizando.

Isso é muito útil quando estamos em ambientes de DEV, HOM e PROD.

Como deu para perceber, esta forma de conexão com o SSAS retira, e muito, a parte de desenvolvimento das mãos dos analistas que utilizam o Power BI. Basicamente, não é possível criar medidas e colunas calculadas com o DAX, não é possível tratar dados com a linguagem M e toda a parte de relacionamento e segurança estão restritas ao cubo. Ficando disponível, apenas, a parte de visualização e customização de layout.

Nesse caso, geralmente, a área de TI é responsável pelas mudanças e melhorias realizadas no ambiente.

Bem, espero que tenha explanado bem o cenário!

Se você também utiliza o SSAS como fonte de dados e quer compartilhar experiências, à disposição! 🙂

Att.

Meirieli Ribeiro

[Power BI] – Sobre o SQL Server Analysis Services (SSAS) e o Power BI
Classificado como:    

10 ideias sobre “[Power BI] – Sobre o SQL Server Analysis Services (SSAS) e o Power BI

  • 25 de junho de 2019 em 10:30 AM
    Permalink

    Olá Meirieli,

    Interessante a abordagem.

    É sempre uma escolha árdua. Quando optamos por utilizar live connection, acabamos podando e muito os poderes da proposta self service do PBI e também a genialidade do DAX.

    Por outro lado, mantemos o tradicional e melhor documentado processo de ETL e dimensionamento juntando SSIS e SSAS.

    Acho que aqui, o que mais vai pesar são algumas características como, por exemplo, volumetria de dados e percentual de autonomia que desejamos ceder às equipes de negócio.

    A engine que roda por trás do modelo tabular do PBI é extremamente interessante, nunca tive problemas com grandes volumes a não ser pela limitação de dataset size no plano Pro.

    Acho o PBI uma ferramenta incrível e desafiadora para a concorrência apesar de não ter um ETL flow bem definido ou melhor dizendo, documentado. Aqui, nomear os steps é importantíssimo.

    A ideia de consumir um DW gerado através do SSIS e criar as métricas no PBI com DAX me agrada mais porque assim as análises dentro do PBI tem mais possibilidades.

    Resposta
    • 29 de junho de 2019 em 12:34 AM
      Permalink

      Esequiel Virtuoso,

      Excelente contribuição! A ideia por trás deste post, foi explanar as opções e limitações que temos frente a este cenário. Realmente, é um desafio e tanto utilizar esta opção, ainda mais quando estamos utilizando o modelo multidimensional. Mas, o tabular supre a demanda com louvor, uma vez que podemos utilizar o DAX. Ainda assim, o Self Service perde a funcionalidade. É interessante observar que quanto mais o usuário detém o controle do processo, maior a agilidade, porém, menor a rastreabilidade da governança. E isso não se limita ao Power BI. O importante, e acredito que sempre deva ser o X da questão, é a centralização do dado e uma verdade única, onde todos sabem onde consultar a informação e o resultado final seja sempre o mesmo.

      Boas análises! 🙂

      Att.
      Meirieli Ribeiro

      Resposta
  • 24 de junho de 2019 em 6:13 PM
    Permalink

    Bom dia a todos muito bom conteúdo Meiriele muitos não conhecem está funcionalidade parabéns

    Resposta
    • 27 de junho de 2019 em 5:18 PM
      Permalink

      Sim, Salim!

      Muito do que eu posto é sobre o que estou fazendo no momento nas consultorias que presto nas empresas! 🙂

      Espero contribuir com a galera que irá passar / está passando por isso!

      Resposta
  • 24 de junho de 2019 em 5:12 PM
    Permalink

    Caraca! Me ajudou muito!! Thank You !

    Resposta
      • 28 de junho de 2019 em 8:13 PM
        Permalink

        O Analise services SSAS é uma ferramenta muito boa ja fiz uma modelagem de dados no modelo TABULA onde lá ajustei todas as métricas medidas, kpis entre outros fatores que ajudam muito no preparo dos dados antes de chegar no power bi e o processo de carga é bem mais agilizado nesta modalidade pois também temos a multidimensional cubo onde este modelo requer bastante performance de maquina é aconselhado para modelos bem grandes empresas que tem capacidade de investir em servidores parrudos pois é bem pesado mas no primeiro modelo no caso o TABULAR já d para trabalharmos bem.
        Temos também outras maneiras de ganho de performance fazendo todo processo de cálculo de querys, para chamada de dados , consultas, inserção , exclusão via STP Stored Procedure direto no SQl serer dentro do banco de dados este conseito ajuda muito na performance na hora de se apresentar os dados no dashibord ou seja consumir os dados pois fica bem leve o modelo e todo processo de cálculo será feito dentro do banco não na aplicação assim você só chama a SP la do directquery no poquerbi exemplo : exe.sp_cadastro
        assim carrega somente o que foi parametrizado e programado lá na SP que você criou no sql server.
        muito não se fala sobre isso porque os analista não adotaram este recurso mas é algo que esta ai para ser usado e é bem vindo.
        grato a todos sucesso.

        Resposta
        • 29 de junho de 2019 em 12:19 AM
          Permalink

          Olá, Salim!

          Excelente contribuição!

          A melhor forma de manter a segurança, integridade e evitar comandos péssimos (Select * from ) no banco de dados é ao invés de deixar o usuário montar o select, é pré-moldar a visão já com as boas práticas e encapsulá-las em procedures.

          Agora, se a empresa dispõe de recursos analíticos mais avançados E equipe qualificada para utilizar, melhor ainda! 🙂

          Grande abraço!

          Resposta

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *