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

Sql server SQL数据仓库使用额外信息扩展维度,sql-server,sql-server-2012,ssas,ssas-2012,Sql Server,Sql Server 2012,Ssas,Ssas 2012,我有一个包含广告信息的dimension core.DimAd。i、 e 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 Channe

我有一个包含广告信息的dimension core.DimAd。i、 e

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


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

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

你能不能不创建一个由
PK-AdKey
PK-Channel-ExtensionKey
组成的复合密钥?这很可能是一个不同的维度,除非你从来都不打算跨渠道开展活动。这不是一个多对多维度吗?我会在谷歌上搜索,并做进一步的阅读,而不是把频道挤进广告领域。