1
我查詢使用橋表建模多值維的數據庫數據庫(關係數據庫)。我試圖從Excel中查詢它,但我得到錯誤的結果。Excel和使用橋表的多值維
這是我/做:
數據倉庫:基本上有用戶和每個用戶都可以講一個或更多的語言 - 多值維度。在下面的SQL中,會講英語的Johnny和講英語,法語,西班牙語和意大利語的Cathleen。
create table dbo.Dimension_Languages(
LanguageID int primary key
,LanguageName varchar(256)
--,LanguageGradeComment varchar(max)
);
go
create table dbo.Dimension_LanguageBridge1(
LanguageGroupID int primary key
);
go
create table dbo.Dimension_LanguageBridge2(
LanguageGroupID int foreign key references dbo.Dimension_LanguageBridge1(LanguageGroupID)
,LanguageID int foreign key references dbo.Dimension_Languages(LanguageID)
);
go
create table dbo.Dimension_User(
UserID int primary key
,UserName varchar(256)
);
go
create table dbo.Fact_User(
UserID int foreign key references dbo.Dimension_User(UserID)
,LanguageGroupID int foreign key references dbo.Dimension_LanguageBridge1(LanguageGroupID)
);
go
insert into dbo.Dimension_Languages values(1, 'English');
insert into dbo.Dimension_Languages values(2, 'French');
insert into dbo.Dimension_Languages values(3, 'Spanish');
insert into dbo.Dimension_Languages values(4, 'Italian');
insert into dbo.Dimension_User values(1, 'Johnny');
insert into dbo.Dimension_LanguageBridge1 values(1);
insert into dbo.Dimension_LanguageBridge2 values(1, 1);
insert into dbo.Fact_User values(1, 1);
insert into dbo.Dimension_User values(2, 'Cathleen');
insert into dbo.Dimension_LanguageBridge1 values(2);
insert into dbo.Dimension_LanguageBridge2 values(2, 1);
insert into dbo.Dimension_LanguageBridge2 values(2, 2);
insert into dbo.Dimension_LanguageBridge2 values(2, 3);
insert into dbo.Dimension_LanguageBridge2 values(2, 4);
insert into dbo.Fact_User values(2, 2);
在Excel 2013中,我選擇數據/從其他來源/從SQL Server/... /我選擇上面的所有表/和我選擇創建數據透視表。我將數據透視錶行和LanguageName中的UserName列添加到過濾器中。我在過濾器中選擇法語,Excel顯示Cathleen和Johnny,但Johnny不會說法語。我希望數據透視表只顯示Cathleen,因爲只有Cathleen講法語。
非常感謝