Sou muito novo no Microsoft Sql Server Business Intelligence e Analysis Service
(mas estou programando há anos com SQL Server). Alguém pode descrever Medidas e Dimensões em Cubos em palavras simples (se possível com imagens)?
obrigado
Sou muito novo no Microsoft Sql Server Business Intelligence e Analysis Service
(mas estou programando há anos com SQL Server). Alguém pode descrever Medidas e Dimensões em Cubos em palavras simples (se possível com imagens)?
obrigado
Pense em um processo ou evento que você deseja analisar.
Digamos que você esteja criando o Lougle Analytics e queira analisar as visitas (em vez de solicitações de página única) ao seu site. Visitar um site é um processo.
Uma tabela de fatos representa um processo ou evento que você deseja analisar, neste caso é uma lista de visitas ao site. Você pode ter quantas tabelas de fatos desejar, uma por processo ou evento.
Que coisas podem ser úteis para você na análise de visitas ao site?
Tecnicamente, você poderia colocar tudo isso em uma tabela - como faria no Excel, mas isso ficaria muito grande muito rápido, então faremos UM nível de normalização. O design dimensional geralmente é apenas "colocar tudo o que você precisa para uma análise em uma grande tabela" e depois normalizar um nível.
Então sua tabela de fatos ficará assim:
Ele tem vários valores-chave que se referem a valores em outras tabelas† e dois não-chaves. As não chaves são valores numéricos e são chamadas de Medidas . Você pode tirar a média do nome da marca do navegador da web? Não, então é uma dimensão. Você pode tirar a média da duração da visita? Sim, então é uma medida.
As outras tabelas são chamadas de tabelas de dimensão e a
ip_address
tabela de dimensão pode ter esta aparência:Observe que não é normalizado: país pode ser derivado de cidade (localidade). No entanto, em um data warehouse, nos preocupamos em facilitar a análise primeiro. Ao facilitar a análise, quero dizer evitar junções profundas .
Observe que alguns dos dados na tabela de dimensões são hierárquicos : país > divisão > localidade. Seu servidor OLAP (espero) entende hierarquias para dar suporte a operações de busca detalhada.
Um cubo lógico é apenas a coleção de dimensões e medidas com as quais você está trabalhando. Ao contrário do cubo de Rubik, ele pode ter mais de 3 dimensões. Basta pensar em uma dimensão como uma coluna em seu conjunto de dados.
OLAP é um conjunto de operações que você pode fazer em um conjunto de dados, como pivotar, fatiar, cortar em cubos, fazer drill. Pense nas tabelas dinâmicas do Excel. Um servidor OLAP facilita as operações OLAP.
† geralmente sem chaves estrangeiras
Na imagem abaixo, que é um exemplo de um Star Schema básico. As Dimensões são as Dim_Tables.
Geralmente, esses são os valores pelos quais você deseja analisar os dados. Portanto, você deseja analisar as vendas de um determinado produto, em um determinado país, em um determinado intervalo de datas.
Na tabela fact_sales você tem apenas uma Medida que é Units_Sold.
Medidas (no nível mais simples) são apenas coisas que você deseja agregar ao analisar com base em critérios nas dimensões.
Se houver algo mais específico que você gostaria de saber, por favor me avise.