【问题标题】:SQL datawarehousing extend dimension with extra infoSQL 数据仓库使用额外信息扩展维度
【发布时间】:2017-01-12 13:43:43
【问题描述】:

我有一个包含广告信息的维度 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 中的维度。但是,当它组合行时,它是非唯一的,并且由于重复的键而不会处理。您如何处理这种情况?我无法更改原始表格。谢谢!

【问题讨论】:

  • 不能只创建PK AdKeyPK Channel ExtensionKey 的复合键吗?
  • 这很可能是一个不同的维度,除非您从不打算跨渠道开展活动
  • 这不就是多对多维度吗?我会用谷歌搜索并做一些进一步的阅读,而不是将频道推入广告维度。

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


【解决方案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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-08
    • 2017-02-26
    • 2015-11-11
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多