前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >【SaaS金羊毛】CelonisEMS_流程运行分析

【SaaS金羊毛】CelonisEMS_流程运行分析

原创
作者头像
郑超
发布于 2022-08-19 14:15:57
发布于 2022-08-19 14:15:57
37701
代码可运行
举报
文章被收录于专栏:SaaS金羊毛SaaS金羊毛
运行总次数:1
代码可运行

听说Celonis是号称SAP后德国最重要的软件公司,在之前对RPA和iPaaS的研究中经常听说,因为UiPath等RPA厂商的Processing Mining模块都是没有免费试用的,所以之前认为流程挖掘这样重度的产品应该无法薅羊毛。

这几天登录了Celonis官网,看到有个醒目的Free Account按钮,赶紧点进去,原来是开放了它的新产品EMS-Execution Management System的试用。Celonis是2011年成立的,之前主打都是Process Mining,据说EMS是十年磨一剑的产品,看名字可能和BPM软件的自动工作流差不多。在G2Crowd上也搜不到EMS这个类目,我只能认为是Celonis自创了,我根据后面的试用总结为“流程运行分析”。

Quickstarts支持对接Oracle、SAP、Salesforce、ServiceNow。在这4种对接系统中,其它的都有sample data,只有SAP需要Celonis客服提供一个ABAP report获取数据,并且因为有知识产权的缘故,还需要是企业账号,所以我无法试用。。。老东家的门槛就是高!

除了这些对接系统,还支持从文件中导入数据,XES文件貌似是该领域的业界标准。

除了文件外,还有个很有特色的Capture with Task Mining,看说明是可以在员工的桌面上装个监控,来分析流程上的问题。不知道在GDPR个人隐私保护盛行的欧洲,有多少员工愿意让雇主装这么个监控。

看起来CSV/XLSX文件是最容易试用的。点进去后会有个弹框提示整个流程约5-10分钟,并且可以用sample data试用。

sample data下载下来是92行的事件日志,

导入后可以自动识别表头和字段类型。

下一屏我就懵逼了,要选一列唯一标识ID,但是文件里并没有这样一列。。。就不能自动生成一列嘛。

于是我在csv文件里手动加了一列。继Case ID之后,还要陆续定义Activity Name, Timestamp, Sorting(可选)。

点Next就开始处理数据了。后面两步的持续时间是有点长的,各10多秒。

处理完成后自动跳转回Studio的Analyze界面。这个界面的结果就没啥逻辑可言了,OK 92个事件中占比最高的是17个Check-in,但说明什么?这个sample文件给得很敷衍。。。

好吧连接数据源到此为止,那切换到已有的Demo Package - Order Management. 它下面分了Order Management Process, Labor Productivity, Customer Satisfication, Revenue 4类流程。

默认展示的是Most common variant,可以在右侧切换为Least common variant, Longest throughput time, Shortest throughput time,则会展示相应的不同流程。

下图的流程就能清楚地看出业务意义了,404562次从Receive Order开始,经过不到1天到Confirm Order,再3天到Generate Delivery Document, 再1天到Ship Goods, 再不到1天到Send Invoice,再12天到Clear Invoice,这是最长的一段子流程所以也被加亮标示了。这样就很容易地看出在整个流程中哪一段失败率高、耗时长。

也可以手动的加variable步骤到总体流程中,查看它相关的数据。右下角还能通过filter进行深度下钻分析。大体上核心功能就这样了。

Demo本质上也是EMS Studio里的一个package,具体的说是一个Analysis文件。在Package内可以建View、Analysis、Knowledge Model、Action Flow这几种文件,每种感觉都需要些该产品的平台知识,后面就不再试用了。

除了上面的Package,在下面的Automation中,还能选择Connections、Webhooks、Keys、Data Structures、Agents这几种实体。但是现在都选不到,并且神奇的是,既然Connections也要选Package,为啥不直接挂在Package里面呢?因为可以跨Package重用?不解。。

总体上产品的体验还是比较粗糙的,比如有很多是免费版不能用的功能,但是不是在菜单中直接显示,而是点进去之后报错。。。这方面感觉还是美国SaaS的积淀更深,也有可能这是个大学教授的创业产品、而不是年轻人。但是作为德国企业,在数据安全和隐私保护的方方面面功能就很完善。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
你不知道的Golang map
在开发过程中,map是必不可少的数据结构,在Golang中,使用map或多或少会遇到与其他语言不一样的体验,比如访问不存在的元素会返回其类型的空值、map的大小究竟是多少,为什么会报"cannot take the address of"错误,遍历map的随机性等等。 本文希望通过研究map的底层实现,以解答这些疑惑。 基于Golang 1.8.3
sunsky
2020/08/20
1.2K0
你不知道的Golang map
深入理解Go语言中的map
哈希表和数组是最常见的数据结构,几乎所有的语言都会有数组和哈希表两种容器类型 。哈希表表示的是键值对之间映射关系,在Go语言中,通过map来表示哈希表。 本文将深入浅出介绍map的概念、使用方式、底层结构、性能、最佳实现等话题,帮助开发更好的理解和使用map。
windealli
2024/03/21
2370
深入理解Go语言中的map
由浅到深,入门Go语言Map实现原理
本篇文章主要以Map的读来展开分析,因为读弄明白了,其他的写、更新、删除等基本操作基本都可以猜出来了,不是么。
twelvecoder
2021/12/24
4100
由浅到深,入门Go语言Map实现原理
Golang map 三板斧第三式:实现原理
Go map 底层实现方式是 Hash 表(C++ map 基于红黑树实现,而 C++ 11 新增的 unordered_map 则与 Go map 类似,都是基于 Hash 表实现)。Go map 的数据被置入一个由桶组成的有序数组中,每个桶最多可以存放 8 个 key/value 对。key 的 Hash 值低位用于在该数组中定位到桶,而高 8 位则用于在桶中区分 key/value 对。
恋喵大鲤鱼
2020/11/12
7.3K0
Golang map 三板斧第三式:实现原理
GO语言之分析常用类型的数据结构
此文是个人学习归纳的记录,腾讯云独家发布,未经允许,严禁转载,如有不对, 还望斧正, 感谢!
言志志
2023/12/13
1790
GO语言之分析常用类型的数据结构
由浅到深,入门Go语言Map实现原理
把自己学习知识进行一个总结。同时把一些可能困难、复杂难以理解的东西自我消化吸收后,简单化输出,降低他人的学习成本,提高他人的学习效率,主要为如下两点:
用户1093396
2020/12/23
9290
由浅到深,入门Go语言Map实现原理
真希望你也明白runtime.Map和sync.Map
One of the most useful data structures in computer science is the hash table. Many hash table implementations exist with varying properties, but in general they offer fast lookups, adds, and deletes. Go provides a built-in map type that implements a hash table.
面向加薪学习
2022/12/13
3820
真希望你也明白runtime.Map和sync.Map
深入理解 Go map:初始化和访问元素
从本文开始咱们一起探索 Go map 里面的奥妙吧,看看它的内在是怎么构成的,又分别有什么值得留意的地方?
李海彬
2019/05/08
1.4K0
深入理解 Go map:初始化和访问元素
Golang Map
渐进式扩容:扩容并非一次性完成所有桶迁移,而是在map操作时分多次完成迁移,防止性能瞬时抖动
Arata
2022/10/25
2540
Go Map(集合)和sync.Map
Go语言中的Map是一种无序的键值对集合。Map可以通过key在O(1)的时间复杂度内进行查询、更改、删除操作,key到value间的映射由哈希函数实现。Go的Map相当于C++的Map,Java的HashMap,Python的Dict。
Steve Wang
2020/12/23
1.9K0
深度解密Go语言之map
这篇文章主要讲 map 的赋值、删除、查询、扩容的具体执行过程,仍然是从底层的角度展开。结合源码,看完本文一定会彻底明白 map 底层原理。
梦醒人间
2019/05/23
1.2K0
go map 原理与并发安全map
go map 整体和 java hashmap 差不多, 只是源码阅读的位置不太方便
leobhao
2024/11/29
1110
go map 原理与并发安全map
2万字图解map
上面引用的是维基百科对map的定义,意思是说,在计算机学科中,map是一种抽象的数据结构,它由key和value组成组成键值对的集合,在集合中每个key最多出现一次。像关联数组、符号表、字典数据结构都是map的一种具体实现 map数据结构在实际的项目使用的非常频繁,很多语言都提供了mpa数据结构,像Java语言的HashMap,Go语言中的map和sync.Map数据类型。map基本操作包含添加key和value键值对,获取key对应的value, 删除key,遍历操作。
数据小冰
2022/08/15
1K0
2万字图解map
2020-11-25:go中,map的底层数据结构是什么?
福哥答案2020-11-25: 简单回答:hmap映射头、bmap桶、mapextra溢出额外信息 中级回答: // 映射头 type hmap struct { // Note: the format of the hmap is also encoded in cmd/compile/internal/gc/reflect.go. // Make sure this stays in sync with the compiler's definition. count int // map
福大大架构师每日一题
2020/11/25
6870
为什么说Go的Map是无序的?
Go源码版本1.13.8 系列导读 本系列基于64位平台、1Page=8KB 前言 是的,我也是一个PHPer,对于我们PHPer转Gopher的银?,一定有个困扰:Go语言里每次遍历Map输出
用户1093396
2021/03/11
1.2K0
为什么说Go的Map是无序的?
GO 中 map 的实现原理
要是对 GO 的slice 原理还有点兴趣的话,欢迎查看文章 GO 中 slice 的实现原理
阿兵云原生
2023/02/16
4510
go 高并发下的数据结构是怎样?
0 字节的变量在内存中的地址是相同的,称为 zerobase,这个变量在 runtime/malloc.go 文件中
阿珍
2024/07/21
680
go 高并发下的数据结构是怎样?
Golang map 并发读写问题源码分析
map主要用来存储kv数据,其底层使用的是开链法去冲突的hashtable,拥有自动扩容机制。使用map最方便的一点是可以O(1)快速查询(目前slice并没有提供查询接口,只能通过自己写算法实现某个元素是否存在)。
Lynalmost
2022/06/27
1.5K0
hash 表在 go 语言中的实现
哈希表,是根据 key 值直接进行数据访问的数据结构。即通过一个 hash 函数,将 key 转换成换成数组的索引值,然后将 value 存储在该数组的索引位置。如下图:
Go学堂
2023/01/31
6920
golang 系列:深入认识 map!
map 通过 hasTable 实现了我们最常见的 key-value 存储,能快速的对数据集增删查改。同时 Go 里的 map 也有很多特殊的地方,比如它的无序性、并发不安全等。今天,就让我们对 map 进行深入研究,看看它是怎么设计的。
lincoln
2021/08/04
6590
相关推荐
你不知道的Golang map
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档