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

  • 相关阅读:
    golang 数据结构 优先队列(堆)
    leetcode刷题笔记5210题 球会落何处
    leetcode刷题笔记5638题 吃苹果的最大数目
    leetcode刷题笔记5637题 判断字符串的两半是否相似
    剑指 Offer 28. 对称的二叉树
    剑指 Offer 27. 二叉树的镜像
    剑指 Offer 26. 树的子结构
    剑指 Offer 25. 合并两个排序的链表
    剑指 Offer 24. 反转链表
    剑指 Offer 22. 链表中倒数第k个节点
  • 原文地址:https://www.cnblogs.com/hanmos/p/2854142.html
Copyright © 2011-2022 走看看