O que são medidas e dimensões em cubos

21

Eu sou muito novo no Microsoft Sql Server Business Intelligence e Analysis Service(mas estou programando há anos com o SQL Server). Alguém pode descrever medidas e dimensões em cubos em palavras simples (se é possível com imagens)?

obrigado

Arian
fonte

Respostas:

39

Pense em um processo ou evento que você deseja analisar.

Digamos que você estava criando o Lougle Analytics e deseja 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; nesse 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?

  • Informações sobre o navegador da web (marca, resolução de tela, ...)
  • Informações sobre o usuário (país, estado, cidade, ISP, com base no endereço IP)
  • Informações sobre quando a visita começou (ano, trimestre, mês, semana, dia)
  • A duração da visita
  • A página de referência, a página de destino e a página de saída (título, caminho do URL)
  • O número de páginas visitadas durante a visita

Tecnicamente, você pode colocar tudo isso em uma tabela - como faria no Excel, mas isso ficaria muito grande rapidamente, então faremos UM nível de normalização. O design dimensional costuma ser apenas "colocar tudo o que você precisa para uma análise em uma grande tabela" e depois normalizar um nível.

Portanto, sua tabela de fatos ficará assim:

web_browser_key          bigint
ip_address_key           bigint
start_date_key           int
referring_page_key       bigint
landing_page_key         bigint
exit_page_key            bigint
duration_seconds         int
number_of_pages_visited  int

Ele possui vários valores de chave que se referem a valores em outras tabelas † e duas não chaves. As não chaves são valores numéricos e são chamadas de Medidas . Você pode calcular a média da marca do navegador da web? Não, então é uma dimensão. Você pode calcular a média da duração da visita? Sim, é uma medida.

As outras tabelas são chamadas de tabelas de dimensões , e a ip_addresstabela de dimensões pode ficar assim:

ip_address_key  bigserial primary key, /* use meaningless surrogate keys */
ip_address      inet unique,
country         text,
division        text,
locality        text,
latitude        numeric(8,6),
longitude       numeric(9,6)

Observe que isso não está normalizado: o país pode ser derivado da 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 drill down.

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. Pense em uma dimensão como uma coluna no seu conjunto de dados.

OLAP é um conjunto de operações que você pode executar em um conjunto de dados, como rotação, corte, corte e perfuração. Pense nas Tabelas Dinâmicas do Excel. Um servidor OLAP facilita as operações OLAP.

† geralmente sem chaves estrangeiras

Neil McGuigan
fonte
Gostei da explicação com um exemplo, mas um pequeno problema - não há menção de um cityem seus esquemas; portanto, quando você diz country could be derived from cityque não sou positivo, o que você quer dizer.
21816 Don Cheadle
@mmcrae 'localidade' é o nome genérico para cidade / vila / aldeia
Neil McGuigan
13

Na imagem abaixo, é um exemplo de um esquema estrela básico. As dimensões são as Dim_Tables.

Esses geralmente são os valores pelos quais você deseja analisar os dados. Então, você deseja analisar as vendas de um determinado produto, em um país específico, em um período específico.

Na tabela fact_sales, você tem apenas uma medida que é Units_Sold.

Medidas (no nível mais simples) são apenas as coisas que você deseja agregar ao analisar com base em critérios nas dimensões.

Esquema básico em estrela

Se houver algo mais específico que você gostaria de saber, entre em contato.

OCDan
fonte
Parece que esta imagem vem da Wikipedia: en.wikipedia.org/wiki/Star_schema . Você deveria mencionar isso.
Scarabee