2017-01-12 4 views
0

У меня есть размер core.DimAd, который содержит информацию о рекламе. т.е.SQL datawarehousing расширить размер с дополнительной информацией

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. Когда он объединяет строки, он не уникален и не будет обрабатываться из-за дублирования ключей. Как вы справляетесь с этим сценарием? Я не могу изменить исходную таблицу. Благодаря!

+0

Вы можете не только создать составной ключ 'PK AdKey' и' PK Channel ExtensionKey'? – iamdave

+0

Это, скорее всего, * различное * измерение, если вы никогда не намерены проводить кампанию по каналам. –

+0

Разве это не просто измерение «много-ко-многим»? Я бы сделал это в Google и сделаю некоторое чтение, а не перетаскивание каналов в измерение Ad. – GregGalloway

ответ

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) 
Смежные вопросы