《分析模式:可重用对象模型》学习笔记之四:企业财务分析中的观察和测量02

这个模型基本解决问题,可以方便定义层次,以及反映了三个不同的维数元素,也反映了企业部门单元和维数元素的关系,但是很快可以看到,在这里,维数被局限在三个:也就是说,如果维数需要改变,
那么整个模型都需要更改,那是我们不希望看到的。因此稍作改进之后,得到以下一个模型:

在这个模型里,增加维数变得容易了,而且,用关键字映射(keyed mapping)以及数量上的约束来保证Enterprise Segment 在每个维数上仅对应一个Dimension Element。
每一个层次都需要一个顶层元素,可以定义为“all”,或者“空(nil)”。
如果考虑到维数级别(Level),可以修改上面的模型如下: 

 

在这里,可以定义每一个维数元素的级别,而级别由这个元素在维数层次中的位置决定的,例如,在维数层次中,元素新汉普的上级是东北地区,再上级是美国,往上是all,所以它的级别为3,得到维数级别在list 中对应的结果是地区(Area)。

1.1.1 定义维数(Defining the Dimensions)


要得到比较合理的Enterprise Segment(企业部门单元)定义,维数(Dimension)的定义也是很重要的一个环节。最简单的方法是遵循某种显而易见的组织结构,但是不同的分析会有不同的侧重点,所以这样也并不是每次都可行。
一个更好的办法是观察层次最底层的部分,然后看在那里的是怎么分类的,例如在ACM 的例子里,可以看到重点是咖啡机的出售和出租,因此可以得到咖啡机类别,出售出租地区和销售目标行业这三个维数,用一个名词焦点事件(focal event)来表示这种分类的依据。
分类可能会很复杂而出现交叉,但是,在现实的情况中,很少出现维数(Dimension)会大于6 的情况,导致实际分析中可能需要对上一节的模型稍作修改:尽量考虑一下有没有这样的必要。
维数(Dimension)通常不必细分到最末端的一层,例如在ACM 的例子里不值得,或者甚至可能一直往下分析到每个销售人员的销售范围甚至细到每个具体的顾客,这样的层次对理解整个系统结构是有帮助的,由于复杂度以及具体细节暂时不进行深入讨论。
维数可以由系统分析人员显式定义;否则,就得由企业数据库决定,如果是这样,每个维数就得定义一个builder 操作从数据库查询所要的数据,这也允许系统随着时间的推进增加维数的节点(add nodes to the dimension over time)。


1.1.2 维数和企业部门单元的属性(Properties)


对于维数(Dimension)而言,一条非常重要的规则是维数层次中,上面级别的测量可以由底下级别的测量得到,例如我们想得到东北地区的销售收入,就可以累计东北地区下属地区所有的销售收入。每一个维数都必须支持这一规则,具体运算通常是累加,但也有例外(参见本文第2.5 节)。
维数的定义经常跟企业结构有关,不过还有一个非常重要的通用维数是时间(time),也满足上一规则。
企业部门单元(Enterprise Segment)还有一个有趣的属性,那就是:它们是概念存在的,就像许多基础的数据类型一样,哪怕它们并没有创建成为软件对象。我们仍然把它当作非基础数据类型,创建时是一种查找/创建形式,即首先查看要求的实例是否存在,如存在,返回它作为结果,如不存在,创建它。 

1.2 测量协议(Mesurement Protocol)


在企业金融分析中要用到许许多多的测量(measurements),这些测量不是用手工输入的,它们通常来自数据库,或者从其他的measurements 计算而来,也就是说,获得这些测量的途径很重要,下面的模型给出了关于测量协议(Mesurement Protocol)的一个大体框架,跟第三章中的模型很类似:
在在上述模型中,给出了两种测量协议:Source Measurement Protocol 和Calculated Measurement Protocol,
其中Source Measurement Protocol 指的是从企业数据库查询,一般来说一个对象知道去哪里取数据,哪怕实际的代码可能在另外的层次中(用户应该决定)。而Calculated Measurement Protocol 代表测量由系统中已有的测量对象计算而来。
需要指出的是,在这个模型中,一种类型(Phenomenon Type)可能对应几种测量协议,例如,同一个Phenomenon Type 可能同时拥有源/计算协议。一般来说应该由用户确定到底采用哪个具体的协议,但也可以从 Phenomenon Type 到Measurement Protocol 形成一个映射表,并从前到后表明各个Measurement Protocol 的优先级,以供系统选用。
还有要注意的是Calculated Measurement,连接到它的源(Sources)测量对象,这是基于计算结果的通用原则:当结果作为对象时,它应该知道哪种计算方式给出结果(协议),还有对这个协议的输入(Sources)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/50806.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ROS2教程(10) - 编写接收程序、添加frame - Linux

注意 : 本篇文章接上节 (点击此处跳转到上节) 编写接收程序 cpp <the_work_ws>/src/learning_tf2_cpp/src/turtle_tf2_listener.cpp #include <chrono> #include <functional> #include <memory> #include <string>#include "geometry_…

【c++】多线程

多线程可以解决什么问题&#xff0c;最重要的用途是什么&#xff1f; 多线程技术在现代软件开发中扮演着至关重要的角色&#xff0c;它可以解决多种问题并带来显著的好处。以下是多线程最重要的几个用途&#xff1a; 资源利用最大化: 多线程可以充分利用多核处理器的能力&…

#如何在PDF文件中添加图片和文本框?

在PDF文件中添加图片 可以通过多种方法实现&#xff0c;以下是一些常用的方法&#xff1a; 一、使用PDF编辑器 下载并安装PDF编辑器&#xff1a;首先&#xff0c;需要在官网或可靠来源下载并安装一个PDF编辑器&#xff0c;如福昕PDF编辑器、Adobe Acrobat等。打开PDF文件&am…

静止轨道卫星大气校正(Atmospheric Correction)和BRDF校正

文章内容仅用于自己知识学习和分享&#xff0c;如有侵权&#xff0c;还请联系并删除 &#xff1a;&#xff09; 目的&#xff1a; TOA reflectance 转为 surface refletance。 主要包含两步&#xff1a; 1&#xff09;大气校正&#xff1b; 2&#xff09;BRDF校正 进度&#x…

抖音矩阵管理系统开发:全面解析与推荐

在数字时代&#xff0c;短视频平台如抖音已经成为人们生活中不可或缺的一部分。随着内容创作者数量的激增&#xff0c;如何高效地管理多个抖音账号&#xff0c;实现内容矩阵化运营&#xff0c;成为了众多创作者关注的焦点。今天&#xff0c;我们就来全面解析抖音矩阵管理系统的…

Java_如何在IDEA中使用Git

注意&#xff1a;进行操作前首先要确保已经下载git&#xff0c;在IDEA中可以下载git&#xff0c;但是速度很慢&#xff0c;可以挂梯子下载。 导入git仓库代码 第一次导入&#xff1a; 首先得到要加载的git仓库的url&#xff1a; 在git仓库中点击 “克隆/下载” 按钮&#xf…

SpringBoot教程(十七) | SpringBoot集成swagger

SpringBoot教程&#xff08;十七&#xff09; | SpringBoot集成swagger 一、Swagger的简述二、SpringBoot集成swagger21. 引入依赖2. 新建SwaggerConfig配置类当 SpringBoot为2.6.x及以上时 需要注意 3.配置Swagger开关4. 给Controller 添加注解&#xff08;正式使用&#xff0…

PCIe 以太网芯片 RTL8125B 的 spec 和 Linux driver 分析备忘

1,下载 RTL8125B driver 下载页&#xff1a; https://www.realtek.com/Download/List?cate_id584 2,RTL8125B datasheet下载 下载页&#xff1a; https://file.elecfans.com/web2/M00/44/D8/poYBAGKHVriAHnfWADAT6T6hjVk715.pdf3, 编译driver 解压&#xff1a; $ tar xj…

鸿蒙OpenHarmony Native API【drawing_color.h与drawing_font_collection.h】 头文件

drawing_color.h Overview Related Modules: [Drawing] Description: 文件中定义了与颜色相关的功能函数 Since: 8 Version: 1.0 Summary Functions FunctionDescription[OH_Drawing_ColorSetArgb] (uint32_t alpha, uint32_t red, uint32_t green, uint32_t blue)u…

webrtc Android源码分析一

nativeCreateVideoSource 初始化 PeerConnectionFactory(pc/peerconnectionfactory) 创建PeerConnection方法中: rtc::scoped_refptr<PeerConnectionInterface> PeerConnectionFactory::CreatePeerConnection(const PeerConnectionInterface::RTCConfiguration& c…

机器学习第四十九周周报 GT

文章目录 week49 GY摘要Abstract1. 题目2. Abstract3. 网络结构3.1 graphon3.2 框架概览 4. 文献解读4.1 Introduction4.2 创新点4.3 实验过程4.3.1 有效性4.3.2 可转移性4.3.3 消融研究4.3.4 运行时间 5. 结论6.代码复现小结参考文献 week49 GY 摘要 本周阅读了题为Fine-tun…

46、PHP实现矩阵中的路径

题目&#xff1a; PHP实现矩阵中的路径 描述&#xff1a; 请设计一个函数&#xff0c;用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。 路径可以从矩阵中的任意一个格子开始&#xff0c;每一步可以在矩阵中向左&#xff0c;向右&#xff0c;向上&#xff0c;向…

几个小创新模型,Transformer与SVM、LSTM、BiLSTM、Adaboost的结合,MATLAB分类全家桶再更新!...

截止到本期MATLAB机器学习分类全家桶&#xff0c;一共发了5篇&#xff0c;参考文章如下&#xff1a; 1.机器学习分类全家桶&#xff0c;模式识别&#xff0c;故障诊断的看这一篇绝对够了&#xff01;MATLAB代码 2. 再更新&#xff0c;机器学习分类全家桶&#xff0c;模式识别&a…

【四】jdk8基于m2芯片arm架构Ubuntu24虚拟机下载与安装

文章目录 1. 安装版本2. 开始安装3. 集群安装 1. 安装版本 如无特别说明&#xff0c;本文均在root权限下安装。进入oracle官网&#xff1a;https://www.oracle.com/java/technologies/downloads/找到最下面Java SE 看到java 8&#xff0c;下载使用 ARM64 Compressed Archive版…

vue3+vite纯前端实现自动触发浏览器刷新更新版本内容,并在打包时生成版本号文件

前言 在前端项目中&#xff0c;有时候为了实现自动触发浏览器刷新并更新版本内容&#xff0c;可以采取一系列巧妙的措施。我的项目中是需要在打包时候生成一个version.js文件&#xff0c;用当前打包时间作为版本的唯一标识&#xff0c;然后打包发版 &#xff0c;从实现对版本更…

五大设备制造商的 200 多种机型的安全启动功能完全失效

2012 年&#xff0c;一个由硬件和软件制造商组成的行业联盟采用了安全启动技术&#xff0c;以防范长期存在的安全威胁。这种威胁是恶意软件的幽灵&#xff0c;它可以感染 BIOS&#xff0c;即每次计算机启动时加载操作系统的固件。从那里&#xff0c;它可以保持不受检测和删除&a…

从零开始学Java(超详细韩顺平老师笔记梳理)08——面向对象编程中级(上)IDEA常用快捷键、包、封装、继承

文章目录 前言一、IDEA使用常用快捷键模板/自定义模板 二、包package1. 基本介绍2. 包的命名规范3. 常用的包和如何引入4. 注意事项和细节 三、访问修饰符&#xff08;四类&#xff09;四、封装Encapsulation&#xff08;重点&#xff09;1. 封装介绍2. 封装步骤3. 快速入门4. …

单链表的建立

一.前言 单链表的建立一共有两种方法&#xff0c;一种是头插法&#xff0c;将元素插入在链表的头部&#xff0c;也叫前插法。另外一种则就是尾插法&#xff0c;将元素插入在链表尾部&#xff0c;也叫后插法。 二. 头插法 首先从一个空表开始&#xff0c;重复读入数据&#xff1…

金蝶插件调用HTTP请求 并解析JSON

返回数据如下&#xff1a; { "mainTable": { "create_time": "2023-01-03", "RECORD_DATE": "2023-01-03", "id": "6", "ASSEMBLY_ITEM": ""…

SpringCloud Nacos的配置与使用

Spring Cloud Nacos的配置与使用 文章目录 Spring Cloud Nacos的配置与使用1. 简单介绍2. 环境搭建3. 服务注册/服务发现4. Nacos 负载均衡4.1 服务下线4.2 权重配置4.3 同集群优先访问 5. Nacos 健康检查5.1 两种健康检查机制5.2 服务实例类型 6.Nacos 环境隔离6.1 创建namesp…