首页 > 其他分享 >数据建模,一切从字段说起

数据建模,一切从字段说起

时间:2022-09-29 15:37:43浏览次数:50  
标签:从字段 选项卡 对象 说起 特性 建模 信息 关键


数据建模,一切从字段说起_键值


建筑是用石头写成的史书。

那么,模型就是用字段搭就的艺术。

但是,一个字段能表达的业务含义是有限的。

一个字段可以用字段的名称、字段数据类型、字段长度来传达它所代表的业务含义。比如,科目、客户、产品等等。最直观的表达来自于字段的名称本身。但是,单靠字段去描述在现象世界中复杂的众多对象显得有点单薄,也不足以区分不同对象之间的比较细微的差别。

在搭建模型之前,我们是不是可以对搭建模型的基础材料做些加工和扩展呢?磨刀不误砍柴工,有了更好的原材料,会使我们后面的工作事半功倍。



01


从字段到对象



SAP BW/4HANA可以直接使用字段作为基本构成要素,进行数据模型的创建,这给快速创建数据模型提供了极大的方便。但是,如果我们要建设的是一个具有数百个数据模型的系统,往往需要处理数千、甚至数万个字段。不同系统中可能会有重名、但是业务含义不同的字段。如何处理这些字段是建模工作的一个难点。


为了准确地描述一个业务对象。SAP BW/4HANA在建模伊始就引入了对象的概念。这种对象也是BW/4HANA建模的基本组成单位,是字段的升级版本,称为信息对象(InfoObject)。


信息对象是SAP BW/4HANA系统中对现实生活中的的业务评价对象的抽象与模拟,比如客户、销售额等,在SAP BW/4HANA中都体现为一个信息对象。一个信息对象不仅可以定义它的名称、类型、长度等信息,还可以有不同长度、不同语言版本的描述说明,可以有多个属性来描述这个对象,也可以定义这个对象在使用过程中的行为方式,等等。比如,产品可以有规格、颜色、型号等不同属性。对于同一个产品,可以有中文名称,也可以有英语、日语等多种语言的名称。


最简单的信息对象定义可能就只有一个字段,但是信息对象也可能是一张表,甚至是很多张表。

信息对象分为以下四种类型。

1.特性

2.关键值

3.单位

4.XXL(超大)信息对象




02


特性和主数据、维度是一回事吗?



特性是业务评价中涉及的评价对象,多是非数值型的内容,比如公司、产品、客户、财年、会计期间、地区等。特性是与数据集(数据模型)中的关键值(指标)相对而言的。若干个特性与关键值组成具有业务含义的一条记录,特性对关键值进行界定和说明,关键值只有与一系列的特性相联系,才有了具体的含义。


从前面对于特性的定义和所举的示例中,大家都会联想到与特性相似的另外两个概念,一个是主数据,另一个是维度。那么,它们是一回事吗?


在BW/4HANA系统中,特性的编辑界面如图 1所示。



数据建模,一切从字段说起_建模_02

图1. 特性编辑界面:常规


每个特性可以最多包含主数据、描述、层级结构三部分内容。在编辑界面的属性(Properties)部分有相应的选项。根据配置选项不同,特性的编辑界面的选项卡会动态变化,在最多的情况下,特性编辑界面包括了“常规(General)”选项卡、 “主数据/文本(Master Data/Texts)”选项卡、“层级结构(Hierarchies)”选项卡、“属性(Attributes)”选项卡、“BI客户端(BI Clients)”选项卡、“扩展(Extended)”选项卡、“运行时属性(Runtime Properties)”选项卡7个配置子界面。


通过深入了解这些配置选项,大家就会对上面的问题有确定的答案了。




03


关键值就是度量、指标吗?



关键值是指业务评价中的数值部分,用来存储需要分析的数值,如金额、数量、天数、分钟数等。除了在数据库中物理存储的关键值,还可以在BI客户端中定义一些派生的关键值,派生的关键值是由数据模型中的关键值经过计算得到的,比如人均销售收入、百分比偏差、边际贡献等。


在BW/4HANA系统中,关键值的编辑界面如图 2所示。


数据建模,一切从字段说起_建模_03

图2. 关键值编辑界面:常规


关键值的编辑界面包括“常规(General)”选项卡、“库存覆盖(Stock Coverage)”选项卡、“非累计值(Non-Cumulative)”选项卡等多个部分。这些配置选项详细定义了关键值的技术定义、业务含义,以及在计算、汇总、变化值与存量值的关系、展现和单位转换等方面的各种行为模式。

 

此外,单位信息对象可以对关键值进行界定。金额类型的关键值总是分配一个货币单位;而数量类型的关键值总是分配一个数量单位。超大信息对象(XXL超大信息对象)可以用来保存特性的附加信息。它用来处理特别长的文本和非结构化的数据。它们也会参与建模,也提供了不同的配置选项。


这些信息对象封装与屏蔽了大量的技术细节,用户只需要通过图形界面进行简单配置就可以完成对信息对象的创建,而不需要进行代码的编写和数据库层面的操作,这样用户就可以专注于应用逻辑层面的系统设计了。这些信息对象的配置选项众多。并不是所有的项目都会用得到,要结合实际建模的场景和需求循序渐进地进行理解和学习。




04


如何选择使用字段或者信息对象建模


BW/4HANA中的所有数据模型,可以使用字段来定义模型的结构,也可以使用信息对象来定义模型的结构。与字段建模比较,信息对象建模需要额外工作,但也提供了诸多优点。在选择这两种建模方式时,主要是权衡字段建模带来的灵活性与信息对象建模带来的功能或性能方面的提升。


一般而言,建议使用信息对象创建核心主数据对象模型。在使用各种OLAP功能时,这些模型提供了在性能方面的优势。然而,在数据仓库输入层,一般不需要OLAP功能,处理的数据量也较小,使用字段建模可以提高系统的灵活性和数据仓库的适用范围。关于字段与信息对象在建模中的选择与使用,书中结合不同的建模工具的特点有详细的专题讨论。



-End-


本文作者:陈永杰 

著有《SAP大数据完全解决方案》等多本有影响力的SAP图书



标签:从字段,选项卡,对象,说起,特性,建模,信息,关键
From: https://blog.51cto.com/u_15143384/5722992

相关文章

  • [答疑]把领域驱动建模的一招半式用到了手里的小项目
    ​​软件方法(下)分析和设计第8章连载[20210723更新]>>​​永远的幻想♂(123***302)18:20:41今天太开心了,之前这段时间把领域驱动建模的一招半式用到了手里的小项目了,今天去......
  • UMLChina建模竞赛第3赛季第1轮-列举软件开发中的“遮羞布”
    ​​软件方法(下)分析和设计第8章连载[20210723更新]>>​​人为了遮掩某些容易被人批评的东西,会有意无意地做出一些事情来“遮羞”。例如,考生知道自己不努力学习,肯定考不好,可......
  • 废话刷工作量比赛-建模竞赛题第2赛季第29轮
    “废话刷工作量”也是一种本事。例如,序列图上每条消息都给它配上一条返回消息,整张图的篇幅就翻了一倍……请对以下类图做“废话刷工作量”处理,即,在下图基础上添加尽可能多的......
  • 从岳父坠入电梯井新闻谈软件建模[202102更新]
    ​​重点文章:CTO也糊涂的常用术语:功能模块、业务架构、用户需求……[20210217更新]>>​​【写于2018/10/10,2021/2/23修订,之前发的时候没有设置原创,无法归类到专辑,因此添加一......
  • 数据治理之体系化建模
    1前言随着数字经济的快速发展,数据已经成为新的生产要素。如何有效地开展数据治理工作,提升数据质量,打破数据孤岛,充分发挥数据的业务价值,已成为业界的热门话题。本文基于美......
  • 《UML面向对象建模与设计》———2022夏末的枫萏
    OLD一、枫萏  嗨,大家好!既然大家都能在班级内看见自己的名字了,那我就来跟大家介绍一下我的另一个名字吧——枫萏(dàn),或许它的一代名大家会更容易熟悉一些:疯蛋。  我......
  • 在代码库上设计和创建模块
    在代码库上设计和创建模块为什么我们需要以及如何在代码库中创建模块在业务逻辑和其他功能分散的代码库上工作至少对软件开发人员来说是一个令人沮丧的情况。模块是一......
  • 如何使用 Prefect 中的任务、流和子流构建模块化数据流
    如何使用Prefect中的任务、流和子流构建模块化数据流以及如何在Prefect数据管道中定义状态和数据依赖关系磷反射是一个协调平面对于不断发展的数据世界。使用长......
  • 【3D Modeling Kit】建模服务,是否可以支持自定义图片上传?
    ​【3DModelingKit简介】3D建模服务(3DModelingKit)提供材质生成、3D物体建模、自动骨骼绑定和动作捕捉四大核心能力,提升内容制作效率,降低建模成本。材质生成:提供将......
  • 【WPF】自定义用登入界面 (C#) -从认证和授权说起。
    概要自定义如下界面登入界面WPF桌面软件。写代码时候要注意哪些事情呢?答案:认证和授权。  我们在桌面应用软件登入界面时,作为小白一般都是用明文密码登入软件然后就......