一般的な「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])
これらのテーブルには、多数のディメンションとディメンションメンバーが格納されます。
可変数の次元から次元メンバーを相互結合したい。例:「性別」、「雇用タイプ」、「契約タイプ」ディメンションのクロス結合ディメンションメンバーは、次の組み合わせを生成する必要があります
'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)。ごめん!