SQL 数据仓库使用额外信息扩展维度

SQL datawarehousing extend dimension with extra info

我有一个包含广告信息的维度 core.DimAd。即

PK AdKey  AdvertiserID  CampaignID 
1         Ad company 1  Campaign 1
2         Ad company 2  Campaign 2
3         Ad company 4  Campaign 3

然后我想创建一个新的扩展程序 table,例如 AdChannelExtension

PK ChannelExtensionKey  Adkey  Channel
   1                    1      Sales
   2                    1      Production
   3                    2      Sales

然后我想创建一个视图

VWDimAd

它在广告键上连接两个 table 并用作 SSAS 中的维度。但是,当它合并行时,它不是唯一的,并且由于重复的键而不会处理。你如何处理这种情况?我不能改变原来的 table。谢谢!

在您的视图中创建复合键并在 SSAS 中使用它:

select cast(a.AdKey as nvarchar(20))
         + '-'
         + cast(e.ChannelExtensionKey as nvarchar(20)) as AdAdChannelCompKey
      ,a.AdvertiserID
      ,a.CampaignID
      ,e.Channel
from DimAd a
    inner join DimAdChannelExtension e
        on(a.AdKey = e.AdKey)