分析和规划 Essbase 应用程序

为了确保 Essbase 应用程序能够有效地分析您的业务信息,请制定详细的计划来概括数据源、用户需求和预期数据库元素。注意这个设计阶段可以为您节省开发和实施时间。

计划和分析阶段涉及以下任务:

设计多维应用程序时,请考虑以下因素:

  • 信息在公司内部如何流动 - 谁将哪些数据用于什么目的

  • 公司的报告类型 - 必须在大纲中包含哪些类型的数据,以满足用户报告需求

    注意:

    每个应用仅定义一个数据库可以提高内存使用率并简化数据库管理。

分析源数据

评估要包括在 Essbase 数据库中的数据。考虑它的来源,以及所需的更新频率和大小。您应仅加载到 Essbase 中,这是透视报表和穿透钻取所需的内容。其余部分可以保留在关系源中,可通过分区访问或穿透钻取。

确定数据库的范围。如果组织有多个产品系列,其中包含大量产品,则您可能希望仅存储产品系列的数据值。面试每个用户部门的成员,了解他们处理的数据、他们今天如何计算和报告数据,以及他们将来如何处理数据。

仔细定义报告和分析需求。

  • 用户希望如何查看和分析数据?

  • 数据库应包含多少详细信息?

  • 数据是否支持所需的分析和报告目标?

  • 如果没有,您还需要哪些其他数据,可以在哪里找到?

确定当前数据的位置。

  • 每个部门当前将数据存储在何处?

  • Essbase 是否可以使用表单中的数据?

  • 部门是将数据存储在 Windows 或 UNIX 服务器上的关系数据库中,还是存储在 Excel 电子表格中?

  • 谁更新数据库以及更新频率?

  • 那些需要更新数据的人是否有权访问它?

确保数据已准备好加载到 Essbase 中。

  • 数据是来自单个源还是多个源?

  • 数据是否采用 Essbase 可以使用的格式?有关可以加载到 Essbase 中的有效数据源的列表,请参阅数据源

  • 您希望使用的所有数据是否都可用?

确定用户要求

在规划 Essbase 数据库时,请与数据的当前用户讨论信息需求,然后向他们请求示例报表。检查他们使用的信息以及他们必须生成的报告以供其他人检查。

确定以下要求:

  • 用户需要哪些类型的分析?

  • 用户是否需要即席(数据透视式)报告和结构化报告?

  • 用户需要什么汇总和详细信息级别的信息?

  • 某些用户是否需要访问其他用户不应看到的信息?

在多个用户环境中规划安全性

在规划如何设置 Essbase 安全权限的过程中,确定不同级别的用户信息需求。在分析结束时,您应该拥有用户及其所需权限的列表。

使用此核对清单计划安全性:

  • 谁是用户以及用户在数据库中读取或写入数据时应具有哪些权限?

  • 谁应具有加载数据权限?

  • 谁应有权执行计算?

  • 可以对哪些用户进行分组和分配类似的权限?

另请参阅管理用户和角色

创建数据库模型

创建 Essbase 数据库的模型。要构建模型,您需要确定对您的业务非常重要的观点和观点。这些视图转换为数据库模型的维。

许多企业分析以下视图:

  • 时间期

  • 度量

  • 场景

  • Products

  • 客户

  • 地理地区

  • 业务单位

接下来,要帮助您收集信息并做出决策,您需要确定数据分析目标,确定数据库维和成员,并分析数据库设计。

确定分析目标

确定业务中的主要信息视图后,设计 Essbase 数据库的下一步是决定数据库如何启用数据分析。例如,您可能需要按时间段、地理位置或产品类型查看数据。

  • 如果按时间分析,则需要哪些时间期?分析应该仅包括当前年份还是多个年份?该分析是否应包括季度和月度数据?是否应按季节包括数据?

  • 如果按地理区域进行分析,如何定义区域?是否按销售地区定义区域?是否按地理边界定义区域,例如州/省和城市?

  • 如果按产品线进行分析,您是否应查看每个产品的数据?您能否将数据汇总到产品分类中?

无论业务视图如何,都必须确定分析所需的视角和详细信息。您分析的每个业务区域都提供了不同的数据视图。

确定维和成员

您选择的 Essbase 维确定可以执行的分析类型。在每个维中,成员的层次结构代表业务的各个方面。例如,时间层次结构可以包括季度和月。产品层次结构对产品进行分类。区域层次结构基于地理市场。

可以将每个业务视图表示为数据库中的单独标准维。您可能会听到业务分析师提到其业务的“问题”,例如按产品、地理位置和时间段。如果需要按分类或属性(例如按产品的大小或颜色)分析业务视图,则可以使用属性维度或属性来表示分类视图。

您可以根据需要使用任意数量的维进行分析。当您大致了解所需的维和成员时,请开发一个暂定的数据库设计。

确定数据库模型的维之后,选择每个维中的元素或项。这些元素将成为其各自维度的层次结构和成员。例如,时间层次结构可能包括要分析的时间期间,例如季度,以及季度和月份。每个季度和月份将成为您为时间创建的维的成员。季度和月份表示成员及其子项的两级层次结构。一个季度内的月份可以合并为每个季度的总和。

维之间的关系

考虑维之间的关系。通过 Essbase 数据库的结构,用户可以轻松地从多个角度分析信息。例如,财务分析师可能会提出以下问题:

  • 特定月份的销售额是多少?此数字与过去五年的同月销售额相比如何?

  • 利润率增长百分比是多少?

  • 实际值与预算值的距离有多近?

换句话说,分析师可能需要从三个维度(时间、客户和场景)中检查信息。下面的示例数据库表示这三个维,三个轴中的每个轴都有一个维:

  • 时间维由“Jan(一月)”、“Feb(二月)”、“Mar(三月)”和“Qtr1(季度)”的总计组成,沿 X 轴显示。

  • 由“销售”、“销货成本”、“毛利”和“毛利”等会计数字组成的账户维沿 Y 轴显示。

  • 另一个维提供了不同的视点,如预算值的预算和实际值的实际值,显示在 Z 轴上。

图 1-1 代表三个数据库维的立方


此图像显示一个表示三个维的立方,如图像前面的文本中所述。

多维数据集中的单元格,其中成员相交,包含与所有三个相交的成员相关的数据;例如,一月份的实际销售额。

维 - 成员结构示例

下表显示了 TBC 维的汇总。应用程序设计器创建了三列,其中维位于左侧列,成员位于两个右侧列。第 3 列中的成员是第 2 列中成员的子类别。在某些情况下,第 3 列中的成员被分成另一个子类别级别;例如,“度量”维的“利润”被分成“销售”和“销货成本”。

表 1-1 TBC 样品维

尺寸 成员 子成员

Year

Qtr1

1 月、2 月、3 月

Year

Qtr2

4 月、5 月、6 月

Year

Qtr3

七月、八月、九月

Year

Qtr4

“Oct(十月)”、“Nov(十月)”、“Dec(十二月)”

度量

Profit

利润:销售、销货成本

总费用:市场营销、工资单、杂项

度量

产品清单

期初库存、增加、期末库存

度量

比率

利润百分比、利润百分比、每盎司利润

Product

科拉斯 (100)

可乐 (100-10),健怡可乐 (100-20),无咖啡因可乐 (100-30)

Product

根啤酒 (200)

老式(200 ‑ 10)、饮食根啤酒(200 ‑ 20)、Sarsaparilla(200 ‑ 30)、桦木啤酒(200 ‑ 40)

Product

奶油苏打 (300)

深奶油 (300-10),香草奶油 (300-20),减肥奶油苏打 (300-30)

Product

水果苏打水 (400)

葡萄 (400-10),橙色 (400-20),草莓 (400-30)

Market

East

康涅狄格州,佛罗里达州,马萨诸塞州,新罕布什尔州,纽约

Market

西部

加利福尼亚州,内华达州,俄勒冈州,犹他州,华盛顿州

Market

南方

路易斯安那州,新墨西哥州,俄克拉荷马州,德克萨斯州

Market

中央

科罗拉多州,伊利诺伊州,爱荷华州,密苏里州,俄亥俄州,威斯康星州

Scenario

实际

不适用

Scenario

预算

不适用

Scenario

差异

不适用

Scenario

差异百分比

不适用

此外,应用程序设计器还添加了以下属性维,以根据大小和打包启用产品分析:

表 1-2 TBC 样品属性维

尺寸 成员 子成员

盎司

64, 32, 20

16, 12

包装类型

瓶子

可以

不适用

用于确定维和成员的核对清单

确定模型数据库的维和成员时,请使用以下核对清单:

  • 维的候选对象有哪些?

  • 是否有任何维对其他维进行分类或描述?这些维是属性维的候选项。

  • 用户是否希望限定其维视图?它们用于限定维的类别是属性维的候选项。

  • 成员的候选人是什么?

  • 数据需要多少级别?

  • 数据如何整合?

分析数据库设计

根据这些关于维数、其组合分析值和避免重复的准则,查看初始 Essbase 维设计。执行此前期分析将有助于您实现高效的数据库设计,从而满足数据合并和计算目标。

描述潜在数据点所需的成员数应确定维数。如果您不确定是否应删除维,请保留维并应用更多分析规则,直到您对删除或保留维有信心为止。

密集维和稀疏维和

哪些维是稀疏的,哪些维是密集的,会影响性能。请参见:

标准和属性维

为简单起见,本主题中的示例显示了最初设计为两个维度的替代安排。您可以将相同的逻辑应用于维的所有组合。

考虑在多个市场向多个客户销售产品的公司的设计;每个客户的市场都是独一无二的:

             Cust A  Cust B  Cust C
New York     100     N/A     N/A
Illinois     N/A     150     N/A
California   N/A     N/A     30

Cust A 仅在纽约,Cust B 仅在伊利诺伊州,Cust C 仅在加利福尼亚。公司可以定义一个标准维中的数据:

Market
  New York
    Cust A
  Illinois
    Cust B
  California
    Cust C

但是,如果您查看较大的数据采样,可能会发现每个市场中都有许多客户。客户 A 和客户 E 在纽约;客户 B、客户 M 和客户 P 在伊利诺伊州;客户 C 和客户 F 在加利福尼亚州。在这种情况下,公司通常将大维(客户)定义为标准维,将小维(市场)定义为属性维。公司将“市场”维的成员关联为“客户”维的成员的属性。“市场”维的成员描述了客户的位置—每个客户只有一个市场。

Customer (Standard dimension)
  Cust A (Attribute:New York)
  Cust B (Attribute:Illinois)
  Cust C (Attribute:California)
  Cust E (Attribute:New York)
  Cust F (Attribute:California)
  Cust M (Attribute:Illinois)
  Cust P (Attribute:Illinois)
Market (Attribute dimension)
  New York
  Illinois
  California

考虑另一种情况。同样,该公司在多个市场向多个客户销售产品,但公司可以向在不同市场设有地点的客户销售产品:

             Cust A  Cust B  Cust C
New York     100      75     N/A
Illinois     N/A     150     N/A
California   150     N/A      30

Cust A 在纽约和加利福尼亚。Cust B 在纽约和伊利诺伊州。客户 C 仅在加利福尼亚州。在这种情况下,使用属性维不起作用;客户成员不能有多个属性成员。因此,公司以两个标准维度设计数据:

Customer
  Cust A
  Cust B
  Cust C
Market
  New York
  Illinois
  California

维组合

将两个维的每种组合划分为二维矩阵。例如,TBC 中的拟议维度包括以下组合:

  • 跨度量的年度

  • 跨产品的年度

  • 跨市场的年度

  • 跨方案的年度

  • 跨产品的度量

  • 跨市场的衡量标准

  • 跨方案的度量

  • 跨产品的市场

  • 跨方案的市场

  • 跨产品的方案

  • 跨包类型的盎司

“盎司”和“包装类型”作为与“产品”维关联的属性维,可以与“产品”维一起考虑。

为了帮助可视化每个维度,绘制一个矩阵,并包含一些第一代成员。下图显示了三维的简化矩阵集。

图 1-2 分析维关系


此图显示了三维的简化矩阵集,说明如何分析维关系。

对于每个维组合,请提出三个问题:

  • 是否增加了分析值?

  • 它是否为报告添加了实用程序?

  • 是否可以避免过度使用未使用的组合?

对于每个组合,问题的答案有助于确定该组合对于数据库是否有效。理想情况下,每个问题的答案都是“是”。如果没有,请考虑将数据重新排列为更有意义的维度。在处理此过程时,与用户讨论信息需求。

大纲中的重复

大纲中元素的重复通常表示需要拆分维。以下示例说明如何避免重复。

在此示例中,标记为“重复”的左列显示“帐户”维中的“预算”和“实际”下重复的“利润”、“利润”、“销售”、“销货成本”和“费用”。右列标记为“无重复”,将“预算”和“实际”分隔到另一个维(方案),只剩下“帐户”维中的一组“利润”、“利润”、“销售”、“销货成本”和“费用”成员。此方法简化了大纲,并简化了数据库中其他维度的预算和实际数字的视图。

图 1-3 通过创建方案维来消除重复的示例


此映像为重复问题提供了一个解决方案,如映像前面的文本中所述。

在此示例中,标记为“重复”的左列使用“饮食”维度中的共享成员来分析饮食饮料。成员 100-20,200-20 和 300-20 重复:一次在饮食下,一次在各自的父母下。右列标记为“无重复”,通过创建类型为布尔值的 Diet 属性维(True 或 False)来简化大纲。所有成员仅在其各自的父代下显示一次,并标记有相应属性(“Diet:True”或“Diet:False”)。

图 1-4 通过创建属性维来消除重复的示例


此映像为重复问题提供了一个解决方案,如映像前面的文本中所述。

属性维还提供了其他分析功能。请参阅 Essbase 属性的优点

间维不相关性

当维的许多成员在其他维之间不相关时,会发生维间不相关。Essbase 将不相关的数据定义为 Essbase 仅在汇总(维)级别存储的数据。在这种情况下,您可以从数据库中删除维并将其成员添加到其他维,或将模型拆分为单独的数据库。

例如,TBC 考虑将工资分析作为“度量”维的成员。但是,在公司数据库的背景下,工资信息往往不相关。大多数工资是保密的,适用于个人。个人和薪金通常代表一个单元格,没有理由与任何其他维相交。

TBC 考虑将员工分成一个单独的维度。下表显示了一个示例,说明 TBC 如何分析建议的“员工”维度以实现跨维无关。建议的员工维的成员(在表标题行中表示)与度量维的成员(在最左边的列中表示)进行比较。“度量”维成员(如收入)适用于所有员工;只有“薪金”度量与单个员工相关。

表 1-3:维间不相关性的示例

空间的图像用于清空 ad 单元格 Joe Smith Mary Jones Mike Garcia 所有员工

收入

不相关

不相关

不相关

相关性

可变成本

不相关

不相关

不相关

相关性

COGS

不相关

不相关

不相关

相关性

通告

不相关

不相关

不相关

相关性

薪金

相关性

相关性

相关性

相关性

固定成本

不相关

不相关

不相关

相关性

费用

不相关

不相关

不相关

相关性

Profit

不相关

不相关

不相关

相关性

拆分数据库的原因

由于单个员工信息与数据库中的其他信息无关,而且由于添加“员工”维度会大幅增加数据库存储需求,因此 TBC 创建了一个单独的人力资源 (HR) 数据库。新的 HR 数据库包含一组相关维度,包括薪金、福利、保险和 401(k) 计划。

拆分数据库的原因有很多;例如,假设一家公司维护的组织数据库,该数据库包含多个时区的多个国际子公司。每个子公司都依赖于时间敏感的财务计算。您可以拆分同一时区的子公司组的数据库,以确保财务计算及时。您还可以使用分区的应用程序按子公司分隔信息。

用于分析数据库设计的核对清单

使用以下核对清单分析数据库设计:

  • 是否已最小化维数?

  • 对于每个维组合,您是否询问:

    • 是否增加了分析值?

    • 它是否为报告添加了实用程序?

    • 是否可以避免过度使用未使用的组合?

  • 是否避免在大纲中重复?

  • 是否避免了跨维无关性?

  • 是否根据需要拆分数据库?