我有一个通用的“Dimension”和“DimensionMember”表。
CREATE TABLE [dbo].[Dimension]
(
[ID] [int] NOT NULL IDENTITY(1, 1),
[Label] [nvarchar] (255)
)
CREATE TABLE [dbo].[DimensionMember]
(
[ID] [int] NOT NULL IDENTITY(1, 1),
[Label] [nvarchar] (255) NOT NULL,
[DimensionID] [int] NOT NULL
)
GO
ALTER TABLE [dbo].[DimensionMember] ADD CONSTRAINT [FK_DimensionMember_DimensionID_Dimension_ID] FOREIGN KEY ([DimensionID]) REFERENCES [dbo].[Dimension] ([ID])
这些表存储了大量的维度和维度成员。
我想从可变数量的维度交叉连接维度成员。示例:来自 'Sex'、'Employment Type'、'Contract Type' 维度的交叉连接维度成员应产生以下组合
'Male,Full time, Employee'
'Female,Full time, Employee'
'Male,Part time, Employee'
'Female,Part time, Employee'
'Male,Full time, Contractor'
'Female,Full time, Contractor'
'Male,Part time, Contractor'
'Female,Part time, Contractor'
组合的标签应通过连接维度成员的标签来创建(如上所示)。
先感谢您
更新
维度列表(例如“性别”、“就业类型”、“合同类型”)是动态的(由运行时的另一个查询生成)。
更新 2
修复了一个小错误(Dimension1 -> Dimension)。对不起!