SQL datawarehousing扩展了带有额外信息的维度

时间:2017-01-12 13:43:43

标签: sql-server sql-server-2012 ssas ssas-2012

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

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

然后我想创建一个像AdChannelExtension

这样的新扩展表
PK ChannelExtensionKey  Adkey  Channel
   1                    1      Sales
   2                    1      Production
   3                    2      Sales

然后我要创建一个视图

VWDimAd

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

1 个答案:

答案 0 :(得分:1)

在视图中创建一个复合键,并在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)