繁体   English   中英

SSAS事实表设计

[英]Fact table designing for SSAS

我正在为SSAS设计一个事实表,这是我第一次尝试这样做,因为这将是一个原型系统,目的只是为了展示可以做的事情,并向某人展示决定它是否是什么后。

我已经整理了一些数据,现在正尝试创建事实表。 多维数据集将在查看引荐,我要显示的是随着时间的推移的信息,这些信息显示一个月内打开的引荐数量,一个月内关闭的引荐数量以及该月任何时候打开的引荐数量(也就是说,它们本可以在上个月打开,并在未来一个月关闭)。

设计这些措施的最佳方式是我遇到的困难。 应该是三个事实表,还是我可以摆脱一个? 如果我做三个事实表,我可以链接记录号和打开日期以获得一个月内打开的号码,我可以链接记录号和关闭日期以创建一个月内关闭的数字,但是我有一个没有一个想法是描述它在一个月中的任何时候打开的时间。 对于此表,我需要为每次推介创建每天一行吗? 这似乎有点密集,所以我立即认为这是错误的。

因此,问题是双重的:

  1. 我可以在一个表中执行这三个度量,如果可以的话,什么是最佳方法?
  2. 在月份计数的任何时候打开的最佳方法是什么?

任何想法都将不胜感激,因为我确实是一个初学者,而我需要帮助的就是Google,因为我的截止日期很短。

我拥有的尺寸:

受众特征:记录编号; 性别; 种族; 生日;

推荐人:记录号; 开放日期; 结束日期;

时间:日期; 月; 25美分硬币; 年;

我最初设计的事实表是:

数据:

记录编号; Opened_in_month; 闭月 开放月

自创建多维数据集以来,我可以看到这些数字与我在测试数据中输入的数字不匹配,因此我知道自己搞砸了事实表,并且需要重新创建该表。

我几乎没有在SSAS中创建多维数据集的经验,但是我可能会像这样创建视图

ReferallFacts:

Id | IsOpen | DateOpened | OpenedBy | DateClosed | ClosedBy | OpenForMinutes...

CalendarDimension:

ShortDate | Week | Month | Quarter | Year | FinancialWeek...

EmployeeDimension:

Id | FirstName | LastName | LineManager | Department...

部门尺寸:

Id | Name | ParentDepartment | Manager | Location...

在这种情况下,我真的不需要多个事实表,因为您描述的所有“按月”,“按日”都是由日历维度处理的。

是一个非常不错的选择,并且pcteach.me也有一些有关SSAS的优秀视频。

您是否考虑过基于事件的方法,即事件是引荐的开放还是结束?

首先,您需要确定事实表的粒度级别。 如果您需要知道一个月中特定日期和时间的开放引用数量,则事实表的粒度必须最低(单个引用记录):

FactReferrals: ( DateId, TimeId, EventId, RecordNumber, ReferralEventValue )

在这里,当Referral打开时, ReferralEventValue只是一个整数值1,而当Referral关闭时,则是-1的整数值。 EventId指的是只有两个成员的维度: OpenedClosed

这种方法使您可以获取任何给定时间段内已关闭或已打开事件的数量。 另外,通过从开始到某个时间点取ReferralEventValue的总和,您可以在该特定时刻获得打开引用的确切数量。 为了加快SSAS中的总和,您可以设计汇总或创建单独的度量,该度量是ReferralEventValue的累积总和。

编辑:当然,如果您不需要按单个引用粒度划分的数据,则可以始终在加载事实表之前每天或什至每月汇总ReferralEventValue。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM