SAP BW 日历维度
日历维度介绍
在多维数据集(Cube)中,日历维度(Calendar Dimension)是一个关键的维度,用于表示和组织与时间相关的数据。日历维度提供了一个结构化的时间框架,使得用户能够按时间段进行数据的切片和分析。典型的日历维度包括年、季度、月、周、日等层级,以及其他相关的时间属性,如财年、财务季度和工作日等。
日历维度在数据分析和商业智能中具有重要作用,因为大多数业务数据都涉及时间因素。通过使用日历维度,用户可以轻松地进行以下操作:
- 时间序列分析:分析不同时间段内的趋势和模式,例如月度销售额的变化、季度利润的增长等。
- 同比和环比分析:比较不同时间段的数据,例如今年与去年同一时期的业绩对比(同比),本月与上月的业绩对比(环比)。
- 时间聚合:将细粒度的数据聚合到更高层级,例如将每日数据聚合成月度数据或年度数据,以便于宏观层面的分析。
- 时间滚动分析:分析滚动时间窗口的数据,例如最近12个月的销售趋势,移动平均值等。
- 指标走势:自动化分析指标的趋势和时间累计值。
日历维度在实际应用中帮助企业更好地理解其业务的时间动态,支持决策者基于时间维度做出更加精准的商业决策。例如,在销售分析中,企业可以通过日历维度识别销售的季节性波动,制定相应的市场策略;在财务分析中,企业可以追踪季度和年度的财务表现,评估财务目标的达成情况。
BW 系统中的日历维度
步骤 1:检查现有的时间特征 InfoObject
首先,检查系统中是否已经存在常用的时间特征 InfoObject,如 0CALDAY
、0CALMONTH
等。这些特征通常已经预定义并包含在系统中。
0CALDAY
:表示具体的日期。0CALMONTH
:表示具体的月份。
在 BW 系统中,时间特征 0CALDAY
引用的是 InfoObject 0DATE
。
步骤 2:创建时间特征 InfoObject(如果不存在)
如果系统中不存在所需的时间特征 InfoObject,则需要手动创建。可以参考现有的 InfoObject 0DATE
来创建这些时间特征。以下是创建 0CALDAY
的步骤:
打开 SAP BW Modeling Tools(基于 Eclipse)并连接到 BW 系统。
创建 InfoObject:
- 右键点击相应的 InfoObject Catalog,选择
New
->InfoObject
。 - 输入名称(如
ZCALDAY
)和描述。 - 选择类型为
Characteristic
。 - 设置数据类型为
DATS
(日期格式),长度为8
。 - 勾选
Time Characteristics
。
- 右键点击相应的 InfoObject Catalog,选择
定义属性:
- 在
Attributes
选项卡中,添加必要的时间属性,如0CALMONTH
、0CALYEAR
。
- 在
激活 InfoObject:检查所有设置,确保无误后,点击
Save
并Activate
。
步骤 3:检查时间特征的数据表
创建完 InfoObject 后,检查这些时间特征的数据表中是否已有数据:
- SID 表(S 表):存储 InfoObject 的 Surrogate ID 和键值对。
- 属性表(P 表):存储主数据记录及其属性值。
- 层次结构属性表(X 表):存储层次结构相关的属性数据。
步骤 4:生成时间数据
如果 0CALDAY
等时间特征的数据表中没有数据,可以使用事务代码 RSRHIERARCHYVIRT
来生成一定期间的时间数据。
- 进入事务代码
RSRHIERARCHYVIRT
。 - 定义时间间隔:设置需要生成数据的时间间隔。
- 生成数据:执行生成操作,以填充 SID 表、P 表和 X 表中的数据。
参考 Time Characteristics: 0CALDAY 以获取更多详细信息。
步骤 5:将时间特征分配给 InfoProviders
最后,将创建好的时间特征 InfoObject 分配给相应的 InfoProvider,如 DataStore Object(DSO)或 InfoCube。
在 BW Modeling Tools 中,选择需要分配时间特征的 InfoProvider。
编辑 InfoProvider 结构:
- 在 InfoProvider 结构中,添加时间特征 InfoObject(如
0CALDAY
、0CALMONTH
)。 - 设置时间特征为关键字段(Key Fields)或数据字段(Data Fields),根据需求而定。
- 在 InfoProvider 结构中,添加时间特征 InfoObject(如
激活 InfoProvider:确保所有配置无误后,点击
Save
并Activate
。
语义模型增强
要在元数分析云系统中使用到日历维度的更多功能,需要在语义模型对已有的 BW Cube 的日历维度进行语义增强。
添加 BW Cube 到语义模型实体中,将源字段中的日历维度拖至维度区域内,分别对日历维度和其层级属性进行设置,启用其语义属性,并设置语义类型为相应的类型,如
年层级设置为 Caldendar Year
类型并设置相应的格式化字符串。
这里的格式化字符串需要根据模型维度中成员键的实际格式来设置,如 [yyyy].['Q'Q].[M].[yyyy-MM-dd]
语义增强过的模型便可以在元数分析云系统中自由使用了,涉及到日历维度的场景有以下组件(不限于):
总结
通过以上步骤,您可以在 SAP BW 系统中创建和配置日历维度,并将其分配给 InfoCube 或其他 InfoProviders。这一过程确保时间特征能够被正确地应用于数据模型中,为进一步的时间分析和报告提供支持。日历维度在实际应用中帮助企业更好地理解其业务的时间动态,支持基于时间维度的精准商业决策。