Olá pessoal –
Em alguns posts anteriores aqui no
blog, procurei explorar um pouco mais sobre a nova plataforma da Microsoft, o
Project Roadmap. Em Outubro de 2018 publiquei o primeiro post com a visão geral do Roadmap; já em Dezembro eu tive o prazer de escrever um artigo
junto ao Kenneth Steiness para explicar em mais detalhes os contextos nos quais o Roadmap
poderia ser utilizado; finalmente, em Janeiro deste ano eu escrevi um terceiro post para discutir alguns recursos e funcionalidades da plataforma.
Os posts e artigos escritos
anteriormente tinham como objetivo iniciar a conversa sobre o Project Roadmap, assim
como explorar cenários sobre como a plataforma pode contribuir com o
planejamento estratégico das organizações. A partir de agora, a ideia é entrar
em alguns detalhes mais técnicos, principalmente no que se refere à criação de
relatórios, painéis e dashboards com dados oriundos do Roadmap.
Como você já deve ter lido em algum
dos posts anteriores, quando novos roadmaps são criados, os dados são
armazenados no CDS (Common Data Services for Apps), e não no tradicional banco de dados OData que
armazena dados dos projetos criados no Project Online. Nesse sentido, o
resultado prático é que administradores do Project Online, que por padrão
possuem acesso ao serviço de relatórios do Project Online (ou seja, podem estabelecer
conexões com o banco OData para criar seus relatórios), não terão as mesmas
permissões no CDS, e assim não irão conseguir acessar o banco de dados
para extrair as informações de que precisam.
Com base nesse contexto, neste post
vamos entender um pouco mais sobre o processo de extração de informações do CDS,
os bloqueios existentes e os ajustes que precisam ser feitos para garantir que
os usuários sejam atribuídos às permissões devidas.
Como saber onde os dados do roadmap são armazenados?
O primeiro passo para construir relatórios com dados dos roadmaps é descobrir a URL que contém o endereço da instância do Dynamics 365 onde os dados estão armazenados. Para isso, abra o navegador e digite https://powerapps.microsoft.com. Na página inicial do PowerApps, clique na engrenagem e então Personalizações Avançadas > Recursos para desenvolvedor:
A página seguinte irá exibir a URL da API do Dynamics a qual você deverá se conectar para obter dados dos roadmaps construídos na sua organização:
Para o meu ambiente de demonstração,
a URL do Dynamics 365 é: https://org48c5c3c8.crm2.dynamics.com/
Obtendo dados de roadmaps
Uma
vez com o endereço da URL do Dynamics 365 teríamos condições de, em teoria,
estabelecer uma conexão com o CDS para obter os dados dos roadmaps e iniciar a
construção dos relatórios. No Power BI Desktop, podemos clicar em Obter Dados > Online Services > Common
Data Service for Apps (Beta):Em seguida deve ser inserida a URL com a fonte de dados:
Ao clicar em OK deve-se entrar com as credenciais que farão a autenticação junto ao Dynamics 365. Uma vez realizada a autenticação, será possível identificar todas as entidades disponíveis no ambiente do Dynamics 365. É possível pesquisar o termo ‘roadmap’ para facilitar a identificação de todas as entidades relacionadas ao Roadmap, que são:
- msdyn_roadmap
- msdyn_roadmapitem
- msdyn_roadmapitemlink
- msdyn_roadmapRowLink
- msdyn_usersetting
No próximo post iremos discutir em
mais detalhes cada uma das entidades, incluindo como as informações estão
estruturadas em cada uma delas e como devemos utilizá-las para construir os
nossos relatórios, painéis e dashboards. Por enquanto, ainda temos uma barreira
a superar.
O
problema atual é que, após selecionar as entidades do Roadmap e clicar em
carregar, nenhuma informação é exibida:
Ao clicar no Editor de
Consultas do Power BI é possível entender o motivo de os dados não terem sido
carregados:
A mensagem de erro apresentada é clara:
Expression:Error: Access to the resource
is forbidden – ou seja, a conta utilizada não possui as permissões
necessárias para obter os dados do Dynamics 365.
Concedendo permissões para leitura de dados dos
roadmaps no dynamics 365
Para resolver o problema de
permissionamento, você precisará da ajuda de alguém que possua permissões
globais no ambiente do Office 365 da sua empresa. Essa pessoa deverá: 1) criar
uma nova função (role) que terá as
devidas permissões de leitura nas entidades do Roadmap; 2) atribuir a nova função
aos usuários que irão consumir os dados do Roadmap para criar os relatórios. O
passo-a-passo para está listado abaixo:
1. Acessar
o ambiente do PowerApps (https://powerapps.microsoft.com)
e clicar na engrenagem > Funções de segurança
2. Na página seguinte,
clicar em New para criar uma nova função
3. Neste exemplo, irei nomear
a nova função como ‘Roadmap Reporting’
4. Em seguida, clicar em Custom Entities para determinar o tipo
de permissão a ser associada às entidades do Roadmap para os usuários que forem
atribuídos à esta função. A permissão Read (leitura) deve ser combinada com a Key Organization
5. Clicar em Save and Close
6.
Na janela seguinte, junto à nova função, clicar no link do Business Unit para acessar as configurações personalizadas da organização
7. Em seguida deve-se
selecionar o(s) usuário(s) que será(ão) atribuído(s) à função. Clicar em More Actions > Assign Roles
8. Por fim, basta associar os usuários com a nova
função para que eles tenham condições de extrair dados referentes aos roadmaps
Uma vez que as devidas
permissões forem corrigidas, você deverá estar apto a obter os dados que serão
utilizados no relatório:
Fique ligado pois nos
próximos posts falaremos mais sobre a construção dos relatórios, painéis e
dashboards com dados do Roadmap.
Um abraço e até o próximo post!