什么是多维数据集中的量度和尺寸


21

我是Microsoft Sql Server商业智能的新手Analysis Service(但是我使用SQL Server已有多年的编程经验)。任何人都可以用简单的文字描述多维数据集中的度量和维数(如果可能的)?

谢谢

Answers:


39

考虑要分析的过程事件

假设您正在构建Lougle Analytics(分析),并且想要分析对网站的访问(相对于单页请求)。访问网站是一个过程。

一个事实表表示要分析的过程或事件,在这种情况下,网站的访问列表。您可以拥有任意数量的事实表,每个进程或事件一个。

在分析网站访问时,哪些事情可能对您有用?

  • 有关网络浏览器的信息(品牌,屏幕分辨率等)
  • 有关用户的信息(国家,州,城市,ISP,基于其IP地址)
  • 有关访问何时开始的信息(年,季度,月,周,日)
  • 参观时间
  • 引荐页,着陆页和退出页(标题,URL路径)
  • 访问期间访问的页面数

从技术上讲,您可以将所有内容放到一张表中-就像在Excel中一样,但这会很快变得非常真实,因此我们将进行一个级别的标准化。尺寸设计通常只是“将分析所需的一切都放到一张大桌子上”,然后将其归一化。

因此,您的事实表将如下所示:

web_browser_key          bigint
ip_address_key           bigint
start_date_key           int
referring_page_key       bigint
landing_page_key         bigint
exit_page_key            bigint
duration_seconds         int
number_of_pages_visited  int

它具有一堆引用其他表中值的键值†,以及两个非键值。非键是数字值,称为“度量”。您可以取网络浏览器品牌名称的平均值吗?不,这是一个维度。您能否取平均访问时间?是的,这是一个措施。

其他表称为维度表,ip_address维度表可能如下所示:

ip_address_key  bigserial primary key, /* use meaningless surrogate keys */
ip_address      inet unique,
country         text,
division        text,
locality        text,
latitude        numeric(8,6),
longitude       numeric(9,6)

请注意,它尚未标准化:国家/地区可能来自城市(地区)。但是,在数据仓库中,我们首先关心的是促进分析。通过促进分析,我的意思是避免深度联接。

请注意,维度表中的某些数据是分层的:“国家”>“部门”>“地区”。您的OLAP服务器(希望)了解层次结构以支持向下钻取操作。

逻辑多维数据只是您正在使用的维度和度量集合。与魔方不同,它可以具有3个以上的维度。只需将维度视为数据集中的一列即可。

OLAP是您可以针对数据集执行的一组操作,例如旋转,切片,切块,钻孔。考虑一下Excel PivotTables。一个OLAP服务器利于OLAP操作。

†通常没有外键


我喜欢带有示例的说明,但问题很小- city在您的模式中没有提到a ,因此当您说country could be derived from city我不是肯定您的意思时。
Don Cheadle

@mmcrae“地方”是城市/城镇/村的通用名称
尼尔·麦圭根

13

在下面的图像中,这是基本星形模式的示例。维度是Dim_Tables。

这些通常是您要用来分析数据的值。因此,您想要查看在特定日期范围内在特定国家/地区的特定产品销售。

在fact_sales表中,只有一个度量单位为Units_Sold。

度量(最简单的级别)只是您要在基于维度中的标准进行分析时要汇总的内容。

基本星型

如果您想了解其他更具体的信息,请告诉我。


该图片似乎来自Wikipedia:en.wikipedia.org/wiki/Star_schema。你应该提一下。
Scarabee
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.