一、度量、指标、指标器
度量和维度构成OLAP的主要概念,对于在事实表或者一个多维立方体里面存放的数值型的、连续的字段,就是度量。这符合上面的意思,有标准,一个度量字段肯定是统一单位,例如元、户数。如果一个度量字段,其中的度量值可能是欧元又有可能是美元,那这个度量没法汇总。
在OLAP中还有计算度量的说法,用一个总费用除以用户数,得到每户平均费用。但这究竟还算不算度量了呢?这已经不是原本意义上的度量了,只是为了称呼方便而已。
这就得说到指标,英文的Metric。在绩效管理软件里面,通常是有这个概念的。其定义可表述为"它是表示某种相对程度的值"。区别于度量概念,那是一种绝对值,尺子量出来的结果,汇总出来的数量等。而指标至少需要两个度量之间的计算才能得到,例如ARPU,用收入比上用户数,例如收入增长率,用本月收入比上上月收入。当然可能指标的计算还需要两个以上的度量。
而Indicator的字面意思为指示器,在KPI中,最后一个I就是它,但是用中文称呼它的时候,总是叫"关键绩效指标",而没有叫做"指标器",也就造成一些混乱。
我们身边充当指示器的有:红绿灯,提醒行人车辆是否等待或通行;监控室里的警报灯,提醒哪儿出现异常;汽车仪表盘,提醒驾驶员油是否足够,速度如何。它们起到的作用是传递一种宏观的信息,促使人的下一步行动。红灯停绿灯行;看到警报亮起要赶紧派人查看。目前常见的企业绩效管理软件中,仪表盘(有的地方称作驾驶舱)的展示界面也是必不可少,正是用这种直观而比较有象征性的指示器反映企业运营状况。
可以设想提出KPI的初衷,是希望企业通过一些粗略(非细节)的信息(而非数据)来为下一步的决策作出依据。导致不同的决策行为必定是离散的输入,最简单的就是一个开关,是或不是(例如警报灯)。如果说度量和指标是定量话,指示器就是一种定性的。
然而,这些系统中的KPI并非完全上面提到的指示器,很多系统建设称为度量系统或是指标系统。而对一个企业,哪些指标能够充分反映经营活动,这也是需要精心制定的,而不是让技术部门提出一堆似是而非的指标名称,诸如在网用户数、收入之类,这不是KPI。
三者区别的说明:
"度量"是绝对的定量值;
"指标"是基于两个或更多度量计算得出的相对值;
"指示器"是基于度量或指标,并依据某个基准值得到的定性结果。
二、维度中层与级的区别
在OLAP中定义维度时,层(Hierarchy)与级(Level)是比较让人迷惑的两个概念。简单的说,层就是一种维度成员的分类方式,级就是维度成员之间或维度成员属性之间的包含关系。
一个维度至少要包含一个层。以[产品]维度为例,可以创建一个[产地]层,可以创建一个[厂商]层,也可以创建一个[分类]层。在SSAS中,可以不定义层,此时维度的默认层为AllMembers层。在Mondrian的Schema定义工具中,则要求全部手工定义。
一个层至少要包含一个级,以[产品]维度为例,[产地]层可以包含省-市-县三个级别,[分类]层可以包含日用品-洗涤用品-洗衣粉三个级别。级别的定义有2种方式,一种是在一个维度成员的属性之间定义,例如[产品]维度的每个成员都有产品系列、大类、小类三个属性,这样定义[分类]层的级别时,直接利用这三个属性即可,即:每个级别都是一个成员的一个属性。另一种是在维度成员之间进行,例如HR中的上下级关系,每个级别都是一个具体的维度成员,即:每个级别都是一个或多个维度成员,每个级都包含多个属性。后一种级别在数据库中往往是以递归的方式进行保存的。
三、数据仓库相关术语
数据仓库:数据仓库是一个支持管理决策的数据集合。数据是面向主题的、集成的、不易丢失的并且是时变的。数据仓库是所有操作环境和外部数据源的快照集合。它并不需要非常精确,因为它必须在特定的时间基础上从操作环境中提取出来。
数据集市:数据仓库只限于单个主题的区域,例如顾客、部门、地点等。数据集市在从数据仓库获取数据时可以依赖于数据仓库,或者当它们从操作系统中获取数据时就不依赖于数据仓库。
事实:事实是数据仓库中的信息单元,也是多维空间中的一个单元,受分析单元的限制。事实存储于一张表中(当使用关系数据库时)或者是多维数据库中的一个单元。每个事实包括关于事实(销售额,销售量,成本,毛利,毛利率等)的基本信息,并且与维度相关。在某些情况下,当所有的必要信息都存储于维度中时,单纯的事实出现就是对于数据仓库足够的信息。