产量分析

写在前面

研究主题:状态点和缓存点的产量计算

攻克难点:SAP HANA参数的使用

计算工具:SAP HANA

引子

灭霸用行星飞船炸毁了复仇者联盟基地,企图毁灭宇宙,建立新宇宙……

钢铁侠站在屋脊的最高处,满面疲倦,凝神仰望三万五千里英尺外的繁星点点。向上看,那里一望无垠,不是安详静谧,而是腥风血雨;向下看,有这个夜里最挑动他内心深处所有情绪的那根琴弦,他的女儿,摩根,长长的眸子在月光下闪动,仿佛记录了这世间所有的单纯与美好。“爱你,三千万次”,钢铁侠在心中默念……

“这个假期休的够久了吧,老兄”,钢铁侠突然觉得天地在晃动,回头一看,原来是大块头浩克,没等钢铁侠开口,浩克继续说道:“听着,至少为这个小天使,你必须重新战斗!”

钢铁侠抬头看着他,“我的手炮和我一样,度假太久了,故障停机了,你至少得给我的武器一点时间吧”。浩克松了一口气,笑道:“早已准备就绪”。

钢铁侠和浩克来到萨哈尔拉工厂,这里生产复仇者联盟的所有武器,萨哈尔拉是隐藏在新基地的地下工厂,24小时不间断生产,为复仇者们提供最强大的战斗武器。

屏幕上实时展示每个车间的生产情况,钢铁侠十分好奇,向浩克询问细节,浩克娓娓道来:

萨哈尔拉工厂共有3个生产车间,所有武器的加工过程都依次经过1号、2号、3号车间,生产工序由小到大递增,工序划分如下:

工序划分

每个武器经过每个生产工位都会添加一条记录,记录各种武器在各个工位的生产日期,形成总体生产信息记录,如下:

总体生产信息记录

目标结果:输入指定任意日期或者默认当前时刻,计算该日期或当前时刻的各车间进出入产品数量和缓存产品数量。

计算思路

零部件按照1号车间、2号车间、3号车间的顺序进行生产,不同产品的加工工位可能不同,但都必须通过每个车间的起始和结束工位。

首先,对工位进行分类和定义,将工位分为两种类型:

1.状态工位:每个生产车间的起始/结束工位,计算每日通过起始/结束工位的产品数量。

2.缓存工位:每个生产车间的非起始/结束工位,计算每日最后状态位于各个车间内的产品数量。

工位划分

在计算时,需要注意一个十分重要的问题:

状态工位的数量计算是每日开始到每日结束,缓存工位的数量计算是从过往到每日结束。

产生这种差别的原因是,对于缓存工位的计算来说,可能出现产品一整日都没有生产的情况,它停在了某一生产车间,但是因为没有生产,所以生产信息记录表里没有那一日的数据,而实际上它仍然停留在车间内。

计算过程

状态工位的计算

1.计算视图-STATUS_BASE:获取每日各车间进出入工位的产品数量,如下图:

STATUS_BASE

该计算模型可分为两步:

步骤1:生产信息记录表与工位划分表进行关联(实际并没有关联的字段),join_1的结果类似于两者的笛卡尔积;判断工位是否等于车间起始/结束工位(判断条件如下)。计算结果如下图。

判断条件
步骤1计算结果

步骤2:筛选出位于车间起始/结束工位的数据,即TYPE为进入/离开的数据。

最终得到结果:

STATUS_BASE计算结果

2.计算视图-STATUS:添加参数INPUT_DATE,输入指定日期或默认当前日期,得出指定日期的各车间进出入数量。

STATUS

筛选出日期等于INPUT_DATE的数据(INPUT_DATE默认当前日期),根据日期、车间、类型(进入/离开),对产品进行聚合(count),得到以下计算结果(输入日期为2015-08-06为例)。

STATUS计算结果

缓存工位的计算

1.计算视图-PROCESS_BASE:获取每日各车间内部的产品数量,计算方法与状态工位基本类似,区别在于步骤1TYPE的判断方式不同。

PROCESS_BASE

步骤1:计算思路与状态工位基本相同,区别在于TYPE的判断方式不同,缓存计算时,认为当工序介于某个车间的起始和结束工位时,则表明该产品位于该车间内。

判断条件

步骤1计算结果:

步骤1计算结果

步骤2:筛选出位于车间内的缓存数据,即TYPE为1的数据。最终结果如下:

PROCESS_BASE计算结果

2.计算视图PROCESS:添加参数INPUT_DATE,输入指定日期或默认当前日期,得出指定日期的各车间缓存数量。

PROCESS

步骤1:添加参数INPUT_DATE(默认当前日期);筛选数据,此处有别于状态工位的计算,时间不是等于INPUT_DATE,而是小于,是为了避免上文提到的产品一整天都并未发生工位变化的情况。

步骤2:选出每种产品的最后状态(工序最大)

步骤3:因为步骤2丢失了最后状态对应的车间,步骤三再次关联,找回车间。

最后根据车间,对产品进行聚合(count),得到以下计算结果(输入日期以2015-08-06为例)。

PROCESS计算结果( 输入参数2015-08-06 )

说明

1.本例中没有将起始和结束工位看做车间内的缓存工位,即左右全开,可以根据实际情况设为左开右闭或左闭右开,将会影响计算结果。

2.本例的应用场景是无需同时获得每日生产数据的情况,比如生产车间的LED大屏,仅需实时显示当前生产数量,这种情况可以采取输入参数的形式,可以大大提高计算速度。

3.为避免篇幅较长和偏离重点,本文未将状态和缓存二者计算结果合并。实际上,为了能提供给前端干净整齐的计算结果,应当将二者合并。


“嘿,你还在听吗?老兄”,浩克飞快的瞥了一眼钢铁侠。

钢铁侠一时语塞,转过身去,他脑子里只有一个念头,无奈的开了口:“我只关心什么时候才能和我的手炮一起战斗,这些,是你这个物理学家该担心的事情!”

浩克笑笑,“没办法,四肢发达,头脑更发达。”

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,110评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,443评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,474评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,881评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,902评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,698评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,418评论 3 419
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,332评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,796评论 1 316
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,968评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,110评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,792评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,455评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,003评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,130评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,348评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,047评论 2 355

推荐阅读更多精彩内容