主键不是立方体中的度量?
Primary key not a Measure in cube?
我是SSAS
的新手,所以请多多包涵。
我有两个 table:FactTest
和 DimLocation
。我包括 table 模式,但本质上,FactTest.LocationName
是 DimLocation.LocationName
的外键,而 DimLocation.LocationName
是 primary key
:
CREATE TABLE [dbo].[FactTest](
[test_date] [date] NULL,
[DOWNLOAD] [float] NULL,
[LocationName] [varchar](50) NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[FactTest] WITH CHECK ADD CONSTRAINT [FK_FactTest_DimLocation] FOREIGN KEY([LocationName])
REFERENCES [dbo].[DimLocation] ([LocationName])
GO
ALTER TABLE [dbo].[FactTest] CHECK CONSTRAINT [FK_FactTest_DimLocation]
GO
CREATE TABLE [dbo].[DimLocation](
[LocationId] [int] IDENTITY(1,1) NOT NULL,
[LocationName] [varchar](50) NOT NULL,
CONSTRAINT [PK_DimLocation] PRIMARY KEY CLUSTERED
(
[LocationName] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
DimLocation
看起来像这样:
LocationId LocationName
1 Houston
2 San Antonio
3 Dallas
4 Austin
和 FactTest
看起来像这样:
test_date Download LocationName
1/4/2020 8.56 Houston
1/4/2020 9.43 Dallas
1/5/2020 3.20 Houston
当我在 VS 2013
中创建 cube
时,我注意到列 LocationName
未作为 Measures
之一包括在内。我还有其他维度 table, 主键 列的 none 是度量的一部分。
创建 cube
时,主键不应该用作 Measures
吗?如果不是,那么我应该如何 link 事实 tables 到暗淡的 tables?
DimLocation中PK定义不正确造成的
所有维度 PK 都应该是整数,因此 LocationId 应该是您的 PK,您应该将其包含在事实 table 而不是 LocationName 中。位置名称应定义为维度属性。
在您的多维数据集中,唯一的衡量标准是“[DOWNLOAD] [float]”。
度量的定义:它是任何数字 quantity/value,表示与组织目标一致的度量。度量存储在事实 table.
中
我是SSAS
的新手,所以请多多包涵。
我有两个 table:FactTest
和 DimLocation
。我包括 table 模式,但本质上,FactTest.LocationName
是 DimLocation.LocationName
的外键,而 DimLocation.LocationName
是 primary key
:
CREATE TABLE [dbo].[FactTest](
[test_date] [date] NULL,
[DOWNLOAD] [float] NULL,
[LocationName] [varchar](50) NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[FactTest] WITH CHECK ADD CONSTRAINT [FK_FactTest_DimLocation] FOREIGN KEY([LocationName])
REFERENCES [dbo].[DimLocation] ([LocationName])
GO
ALTER TABLE [dbo].[FactTest] CHECK CONSTRAINT [FK_FactTest_DimLocation]
GO
CREATE TABLE [dbo].[DimLocation](
[LocationId] [int] IDENTITY(1,1) NOT NULL,
[LocationName] [varchar](50) NOT NULL,
CONSTRAINT [PK_DimLocation] PRIMARY KEY CLUSTERED
(
[LocationName] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
DimLocation
看起来像这样:
LocationId LocationName
1 Houston
2 San Antonio
3 Dallas
4 Austin
和 FactTest
看起来像这样:
test_date Download LocationName
1/4/2020 8.56 Houston
1/4/2020 9.43 Dallas
1/5/2020 3.20 Houston
当我在 VS 2013
中创建 cube
时,我注意到列 LocationName
未作为 Measures
之一包括在内。我还有其他维度 table, 主键 列的 none 是度量的一部分。
创建 cube
时,主键不应该用作 Measures
吗?如果不是,那么我应该如何 link 事实 tables 到暗淡的 tables?
DimLocation中PK定义不正确造成的
所有维度 PK 都应该是整数,因此 LocationId 应该是您的 PK,您应该将其包含在事实 table 而不是 LocationName 中。位置名称应定义为维度属性。
在您的多维数据集中,唯一的衡量标准是“[DOWNLOAD] [float]”。
度量的定义:它是任何数字 quantity/value,表示与组织目标一致的度量。度量存储在事实 table.
中