Este datawarehouse no formato snowflake, é mapeado no produto Microstrategy Developer, criando sua camada de esquema, através de: tabelas, fatos, atributos e hierarquias.
Em um dos meus estudos multi-plataformas, resolvi mapeá-lo na ferramenta SAP Business Objects, o transformando em um Universo da plataforma, através do utilitário Information Design Tool.
Para isso, selecionei as hierarquias: Produto, Geografia, Cliente e Tempo, apenas de forma parcial, e a fato Order_Detail.
Abaixo o resultado de meu teste com algumas telas:
Meu projeto Tutorial no utilitário, é um universo simples e gravado localmente. Possui basicamente três componentes:
- Conexão ODBC com o datawarehouse
- Data Foundation - camada de banco de dados
- Business Layer - camada de negócios
Primeiro passo foi criada a conexão ODBC:
Depois, foi a hora de definir a camada de banco de dados. Você pode inserir visualizações, que são abas para organizar os grupos de tabelas, no caso as hierarquias ou fatos.
Hierarquia Produto:
Hierarquia Geografia:
Hierarquia Tempo:
Pronto. Data Foundation criada. Agora é hora da Business Layer.
Nessa camada, você define as dimensões e as métricas. Fazendo um paralelo com o Microstrategy, cada objeto dimensão seria um objeto atributo do Microstrategy, e na métrica não existe diferença.
Agora executando uma consulta de teste:
SQL:
SELECT
max( LU_CATEGORY.CATEGORY_DESC ),
Sum(ORDER_DETAIL.QTY_SOLD)
FROM
LU_CATEGORY,
ORDER_DETAIL,
LU_ITEM,
LU_SUBCATEG
WHERE
( LU_CATEGORY.CATEGORY_ID=LU_SUBCATEG.CATEGORY_ID )
AND ( LU_SUBCATEG.SUBCAT_ID=LU_ITEM.SUBCAT_ID )
AND ( LU_ITEM.ITEM_ID=ORDER_DETAIL.ITEM_ID )
GROUP BY
LU_CATEGORY.CATEGORY_ID
Assim obtivemos sucesso no mapeamento de nosso universo. Mas não fiquei em paz, decidi também fazer um exemplo de transformação do Microstrategy, por exemplo um MTD (Month-to-date)
Para resolver essa questão, contei com uma tabela de transformação do datawarehouse Tutorial. Depois, criei um alias table da fato Order Detail, em uma nova visualização do Data Foundation, e fiz os respectivos joins:
Também utilizei o recurso contextos do BO, esse exige um capítulo aparte, para que o modelo não fique em LOOP.
O próximo passo foi criar uma métrica Quantidade Vendida MTD apontando para o QTY_SOLD dessa fato com alias table na Business Layer, e executar as consultas:
Observe que no meu template tenho além do atributo Data, duas métricas. A métrica Quantidade Vendida comum, da respectiva data, e a Quantidade Vendida MTD, que é o acumulado até a data.
Assim como no Microstrategy, repare que dois passos de SQL são criados, e repare nos joins: LU_DAY.DAY_DATE = ORDER_DETAIL.ORDER_DATE na primeira consulta e na segunda MTD_DAY.MTD_DAY_DATE = ORDER_DETAIL.ORDER_DATE
E assim concluímos o artigo.
Por hoje é tudo pessoal. Abraços
Fabio Idalgo
Nenhum comentário:
Postar um comentário