0

我正在尝试为银行开户事实创建一个多维数据集。事实表将包括以下字段。

Fact_Clnt_Dtls

BankID

BranchID

PINCode

RMID (relationship manager)

Holder_indicator (1,2,3)

Client_status (1=Active, 2=dormat, 3= closed)

SMS_Flg (Y/N)

SMS_Flg_count

Nomination_Flg (y/n)

Nomination_Flg_count

Auth_sign_flg (Y/N)

Auth_sign_flg_count

Total_Clients (bank id wise count of all clients)

and many more flags



The DIM tables are as below

DIM_Bank_Mstr

BankID

Bank_Name

PINCode

Activation_date



DIM_RM_Mstr

RMID

RM_Name

BankID

PINCode

RM_HOD



DIM_PIN_Code_Mstr

PINCode

Zone

District

State

City

DIM_Zero_Bal_acct - (了解账户余额为零的时间以及账户的贷记时间)

BankID

ClientID

Activation_Date

First_credit_date

这是一个正确的设计,因为我在事实表中有各种标志和计数。我已经创建了这些表并插入了一些示例值,但我没有得到多维数据集的预期结果。

我希望在一段时间或一段时间内拥有银行明智、持有人明智、RM 明智、所有标志明智、地区明智等的客户数量。我将向高级用户授予对多维数据集的访问权限,他们将使用 powerpivot 中的所有维度来创建自己的数据透视表。我认为表格设计有时存在错误。请提供您的建议。

问候,

马尼什

4

2 回答 2

0

据我了解,您已经为银行、持有人、RM 创建了维度,然后为每个标志字段创建了一个维度,该方法应该有效,并且可以应用多个维度来获得所需的结果,就像我可以应用银行维度和 SMS标记 Dimension 以获取已申请 SMS 设施的选定银行的所有帐户。我会建议一些改变,比如

  • 如果 RM 与银行相关,则将 RM 与银行维度相关联,而不是创建单独的维度
  • 在事实表中使分行代码唯一(如果您从内部具有相同分行代码的多家银行接收数据,请确保您没有收到重复的分行代码),并将银行和分行维度结合在一起,因为一个分行属于唯一一家银行,因此银行维度将以 BranchID 作为键。

只要关注创建垃圾维度,您可以访问此链接http://www.1keydata.com/datawarehousing/junk-dimension.html看看这是否对您有帮助,使用它们时唯一关心的是您是否想从中获取值事实上,通过完全忽略标志值,我的意思是你想要获得与特定标志值无关的所有值。

于 2015-07-08T18:01:01.287 回答
0

将所有标志放在垃圾维度中,具体取决于域。您最终可能会得到一组不错的相关属性——我假设用户希望通过这些值进行聚合。

DIM_Zero_Bal_acct 似乎更像是一个计算出的候选成员而不是维度,但我想这取决于使用情况和用户期望看到的内容。

PIN 是否真的以任何方式与 Zone/District 相关联?如果它是使用一些区域 ID 构建的,那么它是有道理的,否则你最终会得到一堆连接。在事实表中留下不可聚合的东西(比如...... PIN?),它可以节省一些空间,但通常这样的连接不值得麻烦......并且业务用户可能不关心通过这些值进行聚合。除非他们是非常奇怪的人(比如……社会学家)。

在这种情况下,我首先决定什么是交易,然后围绕它进行构建 - 帐户激活似乎是交易之一(时间/其他空间中的事件可以以某种方式测量 - 在这种情况下被计算在内)。另一种交易是信用。这是两个不相关的事实表。给它们撒上维度,将小标志提取到垃圾维度中(也许你最终会得到它们之间的有趣关系)......然后就可以了。

于 2015-07-07T06:44:51.403 回答