zoukankan      html  css  js  c++  java
  • 如何组织维度

    两个特性在什么情况下可以放在一个dimesion中?

    customer与material可以放在一个维度中吗?

    从技术上来说,放在一个dimesion与分别放在不同的dimesion中都是可以的,

    但是从业务的角度来说,我们就需要考虑哪种方式更好。

    一般来说,当特性是1:N的关系时,可以放在一个dimesion中,当特性之间的关系时M:N时,放在一个维度中可能就不是那么好,这主要体现在性能方面。因为这样放置,维度表可能会很大。

    这要从cube的多维结构来分析。我们知道 cube是一种多维存储的数据结构,它的实现是基于多张关系表格,而维度表就是其中的一张关系表格。我们在设计cube的维度的时候,实际上设计的就是这个表的结构。一个维度中有几个特性,这个表就有几列来存储特性相应的SID, 外加一个DIMID。

    就拿customer与material来说,维度表可能会是这样

    | DIMID | SID_customer | SID_material |

    它有3个列。如果有1000个客户,分别对应1000个物料 M:N的关系,那这个表最多可能就会有 1000*1000=1 000 000条记录。 如果每个物料都对应不同的客户,客户与物料是1:N的关系,那么这个表最多会有1000条记录。

    所以说,这个问题是要和具体的业务情况相关联的。

    如果是大批量生产的产品,物料与客户最好分别放在不同的维度中,

    但是,如果是定制生产的产品,就可以把客户与物料放在一起。

    比如模具。我公司的模具,即使同一套模具,给不同的客户也会编制不同的物料编码。因为客户的使用环境不同,客户的打模产品设计也不一样,几乎不会存在不同的工厂使用同样的模具的情况。就好像哇哈哈集团,他各个工厂所用的矿泉水瓶子都是不一样的,那肯定他所用的模具也不一样。

    SE38 SAP_INFOCUBE_DESIGNS

    SE37 RSDU_INFOCUBE_TABLE_SIZES

    0

  • 相关阅读:
    抽象类的练习
    Java异常处理1
    接口的应用
    接口之代理模式
    接口之工厂方法的设计模式
    给ubuntu系统换新装
    2的幂次方表示(OJ 8758)
    Fibonacci【矩阵乘法】(POJ 3070)
    斐波那契公约数(luogu 1306)
    枪战Maf (bzoj 1124)
  • 原文地址:https://www.cnblogs.com/hanmos/p/2854142.html
Copyright © 2011-2022 走看看