Visão geral da arquitetura lógica (Analysis Services – Dados Multidimensionais)
Uma instância do Analysis Services pode conter vários bancos de dados e um banco de dados pode ter, simultaneamente, objetos OLAP e objetos de mineração de dados. Aplicativos conectados a uma instância especificada do Analysis Services e a um banco de dados especificado. Um computador servidor pode servir de host de várias instâncias do Analysis Services. Instâncias do Analysis Services são nomeadas como "<Nome_do_servidor>\<Nome_da_instância>". A ilustração a seguir mostra todas as relações mencionadas entre objetos Analysis Services.
As classes básicas são o conjunto mínimo de objetos exigidos para criar um cubo. Esse conjunto mínimo de objetos é uma dimensão, um grupo de medidas e uma partição. Uma agregação é opcional.
As dimensões são criadas a partir de atributos e hierarquias. As hierarquias são formadas por um conjunto ordenado de atributos, sendo que cada atributo do conjunto corresponde a um nível na hierarquia.
Os cubos são criados a partir de dimensões e grupos de medidas. As dimensões na coleção de dimensões de um cubo pertencem à coleta de dimensões do banco de dados. Os grupos de medidas são coleções de medidas que têm a mesma exibição da fonte de dados e têm o mesmo subconjunto de dimensões do cubo. Um grupo de medidas tem uma ou mais partições para gerenciar os dados físicos. Um grupo de medidas pode ter um projeto de agregação padrão. O projeto de agregação padrão pode ser usado por todas as partições no grupo de medidas, além disso, cada partição pode ser seu próprio projeto de agregação.
Objetos de servidor
Cada instância do Analysis Services é vista como um objeto de servidor diferente em AMO; cada instância diferente está conectada a um objeto Server por uma conexão diferente. Cada objetos de servidor contém uma ou mais fonte de dados, exibição da fonte de dados e objetos de banco de dados, como assemblies e funções de segurança.Objetos de dimensão
Cada objeto de banco de dados contém vários objetos de dimensão. Cada objeto de dimensão contém um ou mais atributos que são organizados em hierarquias.Objetos de cubo
Cada objeto de banco de dados contém um ou mais objetos de cubo. Um cubo é definido por suas medidas e dimensões. As medidas e dimensões em um cubo são derivadas de tabelas e exibições na exibição de fonte de dados, na qual o cubo teve base ou para a qual foi gerado a partir das definições de medida e dimensão.
Herança de objeto
O modelo de objeto ASSL contém muitos grupos de elementos repetidos. Por exemplo, o grupo de elementos, “Dimensions contêm Hierarchies”, define a hierarquia da dimensão de um elemento. Ambos Cubes e MeasureGroups contêm o grupo de elementos, “Dimensions contêm Hierarchies."
A menos que explicitamente substituído, um elemento herda os detalhes desses grupos de elementos repetidos do nível mais alto. Por exemplo, o Translations para um CubeDimension é igual ao Translations de seu elemento ancestral, Cube.
Para substituir explicitamente as propriedades herdadas de um objeto de nível mais alto, um objeto não precisa repetir toda a estrutura e propriedades do objeto de nível mais alto. As únicas propriedades que um objeto precisa declarar explicitamente são as propriedades que o objeto deseja substituir. Por exemplo, um CubeDimension pode listar apenas aquelas Hierarchies que precisam ser desabilitadas no Cube ou para o qual a visibilidade precisa ser alterada ou para a qual alguns detalhes do Level precisam ser fornecidos no nível da Dimension.
Algumas propriedades especificadas em um objeto fornecem valores padrão para a mesma propriedade em um filho ou objeto descendente. Por exemplo, Cube.StorageMode fornece o valor padrão para Partition.StorageMode. Para valores padrão herdados, o ASSL aplica as mesmas regras usadas em DSO 8.0 (Decision Support Objects). A lista a seguir descreve essas regras para valores padrão herdados:
Quando a propriedade do objeto filho for nula em XML, o valor da propriedade assume o valor herdado como padrão. No entanto, se você consultar o valor a partir do servidor, este retornará o valor nulo do elemento XML.
Não é possível determinar programaticamente se a propriedade ou objeto filho foi definida corretamente no objeto filho ou herdado.
Exemplo
As Importações de cubo contêm duas medidas, Pacotes e Último e três dimensões relacionadas, Rota, Origem e Temporal.
Os valores alfanuméricos menores ao redor do cubo são os membros das dimensões. Os exemplo de membros são, terra (membro da dimensão de Rota), África (membro da dimensão de Origem) e 1º trimestre (membro da dimensão Temporal).
Medidas
Os valores nas células do cubo representam as duas medidas, Pacotes e Último. A medida Pacotes representa o número de pacotes importados e a função Sum é usada para agregar os fatos. A medida Último representa a data de recebimento e a função Max é usada para agregar os fatos.
Dimensões
A dimensão Rota representa os meios pelos quais as importações alcançam seu destino. Os membros dessa dimensão incluem terra, não-terra, ar, mar, estrada ou ferrovia. A dimensão de Origem representa os locais onde as importações são produzidas, como África ou Ásia. A dimensão Temporal representa os trimestres e semestres de um único ano.
Agregados
Os usuários empresariais de um cubo podem determinar o valor de qualquer medida de cada membro de qualquer dimensão, independentemente do nível do membro na dimensão, pois o Analysis Services agrega valores em níveis superiores, conforme necessário. Por exemplo, os valores de medida na ilustração anterior podem ser agregados de acordo com uma hierarquia de calendário padrão usando a hierarquia Tempo de Calendário na dimensão Temporal, conforme ilustrado no diagrama a seguir.
Além de agregar medidas usando uma única dimensão, você pode agregar medidas usando combinações de membros de diferentes dimensões. Isso permite que os usuários empresariais avaliem, simultaneamente, as medidas em várias dimensões. Por exemplo, se um usuário empresarial deseja analisar trimestralmente as importações que são recebidas por via aérea dos hemisférios ocidental e oriental, o usuário empresarial pode emitir uma consulta ao cubo para recuperar o seguinte conjunto de dados.
Pacotes |
Último |
|||||||
---|---|---|---|---|---|---|---|---|
Todas as origens |
Hemisfério oriental |
Hemisfério ocidental |
Todas as origens |
Hemisfério oriental |
Hemisfério ocidental |
|||
Todo o tempo |
25110 |
6547 |
18563 |
29-dez-99 |
22-dez-99 |
29-dez-99 |
||
1º semestre |
11173 |
2977 |
8196 |
28-jun-99 |
20-jun-99 |
28-jun-99 |
||
1º trimestre |
5108 |
1452 |
3656 |
30-mar-99 |
19-mar-99 |
30-mar-99 |
||
2º trimestre |
6065 |
1525 |
4540 |
28-jun-99 |
20-jun-99 |
28-jun-99 |
||
2º semestre |
13937 |
3570 |
10367 |
29-dez-99 |
22-dez-99 |
29-dez-99 |
||
3º trimestre |
6119 |
1444 |
4675 |
30-set-99 |
18-set-99 |
30-set-99 |
||
4º trimestre |
7818 |
2126 |
5692 |
29-dez-99 |
22-dez-99 |
29-dez-99 |
Depois que um cubo for definido, você pode criar novas agregações ou alterar as agregações existentes para definir opções como, se as agregações serão pré-calculadas durante o processamento ou calculadas durante a consulta. Tópico relacionado:Agregações e designs de agregação.
Mapeando medidas, atributos e hierarquias
As medidas, atributos e hierarquias no cubo de exemplo são derivados das seguintes colunas nas tabelas de fatos e dimensões do cubo.
Medida ou atributo (nível) |
Membros |
Tabela de origem |
Coluna de origem |
Valor da coluna de exemplo |
---|---|---|---|---|
Medida de pacotes |
Não aplicável |
ImportsFactTable |
Pacotes |
12 |
Última medida |
Não aplicável |
ImportsFactTable |
Último |
03-mai-99 |
Nível de categoria da rota na dimensão da rota |
não-terra, terra |
RouteDimensionTable |
Route_Category |
Não-terra |
Atributo Rota na dimensão Rota |
ar,mar,estrada,ferrovia |
RouteDimensionTable |
Rota |
Mar |
Atributo Hemisfério na dimensão de origem |
Hemisfério oriental, Hemisfério ocidental |
SourceDimensionTable |
Hemisfério |
Hemisfério oriental |
Atributo de continente na dimensão de Origem |
África, Ásia, Austrália, Europa, América do Norte. América do Sul |
SourceDimensionTable |
Continente |
Europa |
Atributo Semestre na dimensão temporal |
1º semestre,2º semestre |
TimeDimensionTable |
Semestre |
2º semestre |
Atributo Trimestre na dimensão temporal |
1º trimestre,2º trimestre,3º trimestre, 4º trimestre |
TimeDimensionTable |
Trimestre |
3º trimestre |
Dados em uma única célula de cubo são normalmente derivados de várias linhas de uma tabela de fatos. Por exemplo, a célula do cubo na interseção do membro ar, membro África e membro 1º trimestre contém um valor derivado por agregação das seguintes linhas na tabela de fatos ImportsFactTable.
Import_ReceiptKey |
RouteKey |
SourceKey |
TimeKey |
Packages |
Último |
3516987 |
1 |
6 |
1 |
15 |
10-jan-99 |
3554790 |
1 |
6 |
1 |
40 |
19-jan-99 |
3572673 |
1 |
6 |
1 |
34 |
27-jan-99 |
3600974 |
1 |
6 |
1 |
45 |
02-fev-99 |
3645541 |
1 |
6 |
1 |
20 |
09-fev-99 |
3674906 |
1 |
6 |
1 |
36 |
17-fev-99 |
Na tabela anterior, cada linha tem os mesmos valores das colunas RouteKey, SourceKey e TimeKey, indicando que essas linhas contribuem para a mesma célula do cubo.
O exemplo mostrado aqui representa um cubo muito simples, que tem um único grupo de medidas e todas as tabelas de dimensão são unidas na tabela de fatos em um esquema em estrela. Outro esquema comum é um esquema floco de neve no qual uma ou mais tabelas de dimensão unem-se a outra tabela de dimensão, em vez de unirem-se diretamente à tabela de fatos. Tópico relacionado:Dimensões (Analysis Services – Dados Multidimensionais).
O exemplo mostrado aqui contém uma única tabela de fatos. Quando um cubo tem várias tabelas de fatos, as medidas de cada tabela de fatos são organizadas em grupos de medidas e um grupo de medidas está relacionado à um conjunto específico de dimensões por relações de dimensões definidas. Essas relações são definidas pela especificação das tabelas participantes na exibição da fonte de dados e granularidade da relação. Tópico relacionado:Relações de dimensão.