1
Braisdom OP 近期在寻找落地实践,有兴趣的公司可以联系我:WX: braisdom
|
2
tlerbao 2023-02-26 23:06:33 +08:00
好像挺牛逼的样子,但是还不是完全知道这东西干什么用的。
|
4
beneo 2023-02-27 12:15:23 +08:00
你说你看过了 BI ,请问你这个,和 BI 到底有啥区别?
我们来根据你的 demo 一步一步分析 1. 连数据库,配置主键,配置现实字段,几个表之间的链接,这些部分全部等于 BI 的数据源、数据集 2. 1:24 秒开始,Agile 选择显示名称来输出数据,BI 是选择拖来拽,BI 还分类了维度和度量 3. 1:53 秒开始,功能能等同 BI 的计算字段 4. 4:03 秒开始,功能等同于 BI 的分组字段 我感觉就是一个简单的 BI ,而且很浅。现在支持了一种数据库。如果要支持多数据库,你的 UI 抽象逻辑要牛逼,这也是 BI 的难点之一,后面的联邦查询,查询加速也需要考虑,可视化部分也没有。你牛逼的一套语法支持多个数据库的 AST 在哪里体现? 如果把人群,按照 code 能力分成:甲方爸爸(代码能力 0 ),数据分析师,数据开发者,开发,你这个系统介于数据分析师,数据开发者之间,数据分析师用,他觉得这套系统 UI 能力弱于 BI ,如果数开来用,他 SQL 创建数据集而不是拖来拉。 之前你一直说自己不是 BI ,但就 DEMO 来看,看上去就是要做 BI 的事情,但是离 BI 还有很长的路要走 |
5
Braisdom OP @beneo 看得很仔细呀,我尝试一下回答您的问题。
1 )一般的 BI 是不需要配置这些的,因为他们都是基于加工后的数据 2 )本来没有维度和度量值,这是纯粹的人为制造的概念,Agile Query 会识别用户的意图,维度和度量值只是内部的概念,不会显示出来。 3 ) 4 )计算字段要分清楚,是纯字段计算,还是各种聚合值计算,多个聚合值计算,是需要分成多个不同的子查询的。如果是纯字段,还要看是否在同一张表,如果多张表的字段进行计算,也会涉及聚合的。 |
6
Braisdom OP @beneo 还有,是否是 BI 系统,这个问题我也没想好,至少我能明白一点,我的系统解决的是各种复杂的查询,不需要写 SQL ,也不需要预先按各维度去加工数据。这算不算 BI 我也说不好。
|
7
Braisdom OP @beneo 仔细看了您的回复,我的公式就是可会编译成不同数据库的 SQL ,就是用统一的语法,实现不同数据库 SQL 的查询的。
|
8
aw2350 2023-02-28 16:59:13 +08:00
你目前这个功能,几乎国内 BI 产品都有,大同小异;建议你自己做一套简单的 BI 产品,这个功能当作一个模块集成进去。单一弄这么个图形化的界面,适用面太窄了
|
9
boshok 2023-02-28 17:07:25 +08:00
@Braisdom u1s1 ,加工数据本身就是 BI 很重要的一环。正好现在服务的公司刚上线了一套类似的东西,但感觉流畅度上不如你这个,不确定是否是用开源的东西拼出来的。至于你说的不算 BI ,我觉得可以算作是 BI 中的语义层。
|
10
Braisdom OP @boshok 加工数据有两个原因,1 )查询效率不足,2 ) SQL 太复杂,维度成本太高,所以才会产生大量过程中的表,有些公司有好几千张,我的产品本质上就是为了解决这个两个问题。
|
15
beneo 2023-03-01 12:29:42 +08:00
我看出来了,你没有用过 BI ,也不懂 BI 。阿里云 quick bi 免费一个月,建议你注册并试用。你 demo 展现的功能叫做即席分析,你的计算能力和分组能力都属于数据集。
|
16
Braisdom OP @beneo 感谢提醒,您说的 BI 中的数据集概念是否有必要存在呢,如果完全没有数据集概念的 BI 会是个什么样的呢?这样的 BI 对数据工程师的工作会有什么样的影响
|
19
beneo 2023-03-01 16:11:00 +08:00
你很有勇气,也有行动力。但就你这个项目来说,你还有很长的路要走
|
20
Braisdom OP @beneo 感谢,之前花了一年半时间解决了最复杂的 SQL 编译,现在只有 UI 这块的开发工作了。近期会出第一个可用版本,支持部分数据库。
|
21
boshok 2023-03-01 17:09:39 +08:00
@beneo 赞同。OP 有技术人员的执着,从上下文来看对 BI 的理解的确不太够,可以找一两本经典的书看看,再结合实际的项目对比下可能更好一些。另外,九几年的商用产品就有这些功能了。
|
22
Braisdom OP |
23
Braisdom OP |
27
boshok 2023-04-21 12:54:32 +08:00
@Braisdom #26 彼此对“复杂查询”的定义不同,你认为你演示的是复杂查询而已,实际还是要将基础逻辑放在语义层吧?恰好做过头部零售企业的项目,包含百货、奥莱、购物中心、免税、超市、便利店、电商复合业态。简单举例几个指标:不同等级会员的同店、跨店、折扣、看了又看、买了又买、跨渠道、遗失销售等。这些能体现在你的演示中可能更加有说服力。
|
28
Braisdom OP @beneo 可以的,Agile Query 的函数是一种抽象的语义表达,我只是列举了几个常见的示例,您说的这些业务我后面会完善起来的,本质上这些统计都是不同维度的数据,聚合后进行的运算,基本上灵活的聚合+窗口,基本就可以实现了。
|
29
gaobh 2023-04-21 16:01:27 +08:00
接入 gpt 吧,你的功能都 out 了
|
30
Braisdom OP @gaobh 是的,我们正在深试通过 GPT 生成 Agile Query 的统计公式(各和聚合函数),直接生成 SQL 难度比较大。
SQL 的编译还是必要的。 |
31
xenme 2023-04-21 17:54:04 +08:00 via iPhone
BI 连接数据库,拖一个 chart ,所谓的复合函数简单的 rank ,percentile ,MoM 啥的不都算是 table calculation 么,点一点 chart 和 table 数据都有了,也不需要写 sql
但上面几位提到的 BI 相关的 datasource/dataset 想换概念还是有的。确实没看出来有啥用。 最终也就简单的,复杂点还是得手写,AIML 相关的语义分析等,商业 BI 基本都开始标配了。 没啥用 |
32
Braisdom OP @xenme 理论上再复杂的查询,也不需要写 SQL ,都可以通过 Agile Query 的函数实现,目前实现了 group_count, group_sum...,count_if, sum_if...,还有 growth_of 系列,rank_of 等这些很快也会实现,这些函数都可以内部嵌套普通聚合函数的运算。
还有,生成的 SQL 是比较复杂的,理论上可以实现所有复杂查询。 |
33
xenme 2023-04-21 18:13:11 +08:00 via iPhone
@Braisdom 常用的一个 BI 提供的内置函数:
Aggregate functions ,如 avgif,以及你说的 countif, sumif Conditional functions , 如 coalesce, ifelse, switch Date functions Numeric functions Mathematical functions String functions Table calculations 如 percentDiff, AvgOver, rank, runningAvg 这都是 BI 最基本的,这些做不了的。 |
34
xenme 2023-04-21 18:14:52 +08:00 via iPhone
打了一半,感觉楼主还是找个 BI 工具试试比较好。盲目造车没必要
|
35
Braisdom OP @xenme 传统 BI 中的 countIf, sumIf 内部是不能嵌套其它聚合的,例如:
count_if(group_count(orders.id, customer.id) >= 2) sum_if(group_count(orders.id, customer.id) >= 2, order_details.quantity * ordertails.unit_price) 单表,多表的运算都可以在一个公式中实现,Agile Query 可以动态的 join 多张表,进行计算,这是传统 BI 无法做到的。 |
36
Braisdom OP @xenme 目前的 BI ,针对单表运算是足够了,如果同一个表达式中涉及多张表,目前我还没有看到。大都数是将多张表的数据合并到一张表中,然后再进行运算,这样数据工程师的工作量就大很多。Agile Query 本质上就解决任意多张表的数据运算,在同一个指标公式中,可以多张表同时运算,内部拆分不同的子查询和 Join
|
37
xenme 2023-04-21 18:25:22 +08:00 via iPhone
但也不是所有都不能嵌套,有些嵌套有冲突,所以不行。另外多表动态 join 不就是 dataset ,BI 也一样是定义关系,并不是提前 join 了大宽表(有性能要求场景有些会提前 join 缓存)
|
38
Braisdom OP @xenme 多表 join 时,Agile Query 会自动处理 double-counting 的问题,会智能拆分子查询,传统的 BI 是需要数据工程师手工处理的,如果表比较多,数据工程师的工作量会非常大。
|
39
Braisdom OP @xenme 多表 join 时,一对多,多对多这些问题都需要数据工程师自己处理,进行数据去重,而在 Agile Query 中,这些问题都是智能处理的。数据工程师完全不需要考虑这些事件,只需要知道指标是哪几个字段计算的就可以了。
|
40
xenme 2023-04-21 18:32:46 +08:00 via iPhone
@Braisdom 你的数据库连接和关系配置在 BI 里面叫 data source/connection 和 dataset ,并不是定义完了就是 join 好的。
你的数据库连接已经是所谓的处理好的数据了。数据库工程师处理只是把一些半结构化、非结构化的处理成结构化方便查询的,大宽表这种所谓计算好的也更多是因为类似数据需求多,处理好后性能更好,提供给更多的业务方,不单是给 BI 用,偏数仓了。 到现在没看到楼主的优势和应用场景 |
41
Braisdom OP @xenme 如果做数据报表,出现的最多的问题就是因为一对多,多对多产生的数据重复计算的问题吧,而这些问题在 Agile Query 中,你可以完全忘记它。这就是 Agile Query 最大的优势。
大宽表是一种畸形的设计,对低层数据的变化,数据的一致性,数据的实时性响应都非常差,是由于针对技术实现的一种折中的做法。 |
42
Braisdom OP @xenme 如果没有大宽表,不用关心数据的重复计算,性能也特别高,当然也不需要写复杂的 SQL ,这难道不是一种更好的选择吗?
|
43
Lilacs 2023-04-21 18:44:52 +08:00
metabase 看一看
|
45
Braisdom OP @Lilacs
superset, metabase, tableau, qulik, looker 这些 BI ,当然也包括国内的 BI ,目前都没办法解决关系数据库中 chasm & fan trap 。 |
46
Braisdom OP @Lilacs
@xenme 在不用人工干预的情况下,智能解决关系数据中的,Chasm & Fan Trap 是 Agile Query 最核心的能力,有兴趣的可以看一下: https://docs.sisense.com/main/SisenseLinux/chasm-and-fan-traps.htm 这篇文章。 |
47
youngce 2023-04-21 19:17:29 +08:00
mongodb 、es 这种 nosql ,是不是没有 Chasm & Fan Trap
目前开源的 bi 基本也都支持 nosql |
48
Braisdom OP @youngce 只有没有 JOIN 的数据库才会没有 Chasm 和 Fan Trap ,如果有 JOIN 就无法避免
|
49
ervqq 2023-04-21 20:01:04 +08:00
可以实现销售数据同比增长计算和环比增长计算吗?
|
50
Braisdom OP @ervqq 视频中有详细的介绍,
销售额同环比增长,客户数量同环比增长,销售量同环比增长都是通过 monthly_growth_of ,系统里还有 yearly_growth_of ,daily_growth_of 这些函数,都是很方便使用用的。 示例: MONTHLY_GROWTH_OF( SUM(order_details.quantity * order_details.unit_price), orders.order_date, 1 ) 第一个参数支持各种聚合函数,第二参数是日期字段,第三个字段是窗口大小和距离,如果是月,1 就代表一个朋的比较,12 就意味着去年的相同的月份。 |
51
Braisdom OP @ervqq 当然这些指标公式可以和任意的维度进行组分析,例如:供应商,客户,员工,商品,品类等,像这些维度的分析在传统 BI 中,都需要使用不同的大宽表,而在 Agile Query 中,只需要输入一个关键字。
|
52
ervqq 2023-04-21 23:42:27 +08:00
感觉这个软件应该适用在中小企业,而且 IT 力量相对薄弱,并且业务逻辑表相对简单的企业。对有一定规模的企业,本来业务数据库逻辑就相对复杂,可以梳理出「大宽表」的企业,一般已经有能力自己写 sql 搞 BI 。如果直接面向有一定数据分析需求的业务用会挺不错的,向低代码平台方向搞(譬如支持 excel 到导入导出之类的)。
|
53
Braisdom OP @ervqq Agile Query 本质上就是面对复杂业务的,能够让中大型企业,不需要大宽表,不需要写 SQL 就能完成所有的数据分析。
|
55
Braisdom OP |
59
beneo 2023-09-26 18:47:53 +08:00
@Braisdom 国内 BI 这个赛道上面,走云我有 quickBI ,走本地部署我可以 FineBI ,还有一堆名气不大,但是价格便宜的 BI ,所以兄弟,真看不明白,你这个赢利点在哪里,为什么非要用你的系统?
|
60
Braisdom OP @beneo
让大数据的个性化分析,像 Excel 一样简单 * 高级分析型查询语言 FlatQL 、分析意图识别、自动连接表 & 拆分子查询、SQL 查询性能优化 * 智能解决断层和扇形陷阱、数十种聚合函数、跨表计算公式 * 支持所有 MPP 型数据库 SQL 生成 |
62
Braisdom OP |
63
leechen 2023-10-09 13:08:00 +08:00
1:加上文本类型的数据集管理,有些公司根本就没有数据库,或者没存在数据库里面
2:分析后不能形成报告,分析的和决策的可能是两个人 |
64
Braisdom OP @leechen 你说的很对,Agile Query 不可能适用于所有场景,前期数据是经过结构化处理的,无论是 Excel 或数据库,抽象为关系型模型,这是 Agile Query 数据分析的前提。
|