Quando uma tabela de fatos está em uma granularidade mais alta para a dimensão de data (por exemplo, mensal), como isso deve ser representado como um relacionamento na visualização da fonte de dados?
Com uma dimensão de data contendo colunas DateKey
e MonthDateKey
uma tabela de fatos contendo MonthDateKey
a relação deve ser:
Fact.MonthDateKey -> Date.DateKey
ouFact.MonthDateKey -> Date.MonthDateKey
Quais são as implicações se isso for definido incorretamente na exibição da fonte de dados?
Essa relação não é necessariamente expressa na visualização da fonte de dados, mas na guia de uso da dimensão, mas você pode defini-la no dsv se desejar.
As implicações de defini-lo incorretamente no DSV são que a guia de uso da dimensão proporá o padrão errado e você terá que alterá-lo manualmente, mas o que você colocar na guia de uso da dimensão em seu grupo de medidas é o que realmente está definindo a relação.
Sem conhecer seu modelo de dados exato, acho que sua relação deve ser
Fact.MonthDateKey -> Date.MonthDateKey
no seu caso.Há um exemplo de como isso é feito no projeto de serviços AdventureWorks Analysis em que a dimensão de data está vinculada ao grupo de medidas Sales Target em
Calendar Quarter
:Você basicamente escolhe outro
Granularity Attribute
da sua dimensão e o vincula à coluna correta em sua tabela de fatos assim:A relação dsv para esta configuração se parece com isso (que seria monthdatekey no seu cenário)
A advertência é exibida como um aviso quando você não seleciona o atributo de chave como seu atributo de granularidade:
O que está basicamente dizendo que você precisa definir relacionamentos de atributos.
Isso também é explicado com mais detalhes neste passo a passo Definindo a granularidade da dimensão em um grupo de medidas