浅谈使用轻分析的那点事

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

浅谈使用轻分析的那点事

小弟不才,在各位大佬面前班门弄斧一下,抱着交流的心态,分享一些我个人的整理和总结,供大家参考和指正。 本文从一下几个方面重点阐述: **1.认识轻分析以及学习的相关链接汇总;** **2.关于轻分析整体的重点整理;** **3.常见问题和技巧;** ------ ## 一、认识轻分析 轻分析提供面向业务用户的数据分析和数据可视化能力。 ![上传图片](https://wenku.my7c.com/download/0100ae12753bef80461c94fbf4c19ad4fe77.webp) ------ ### 1.1 轻分析学习资源: #### 1.1.1【文档】轻分析用户手册 https://q.kingdee.com/support/index.html?product=qing-analysis&docId=Txdser612 #### 1.1.2【知识】金蝶云星空轻分析配置 https://wenku.my7c.com/questions/135435095930145037/answers/135435142134597947?productLineId=1&isKnowledge=2&lang=zh-CN #### 1.1.3【课程】敏捷的数据可视化智能应用—轻分析(一) **课程地址**:https://wenku.my7c.com/school/liveCourse/360 **课程PPT**:https://wenku.my7c.com/school/6086 #### 1.1.4【课程】敏捷的数据可视化智能应用—轻分析(二) **课程地址**:https://wenku.my7c.com/school/liveCourse/362 **课程PPT**:https://wenku.my7c.com/school/6159 #### 1.1.5【课程】敏捷的数据可视化智能应用—轻分析(三) **课程地址**:https://wenku.my7c.com/school/liveCourse/363 **课程PPT**:https://wenku.my7c.com/school/6312 #### 1.1.6【[功能介绍全](https://wenku.my7c.com/knowledge?productLineId=29&productId=87&domain=DATA&lang=zh-CN)】 星空的资料比较少,可以看看苍穹的比较多一点,虽然存在产品功能差异,但是基本上大部分功能和使用都是通用大差不差。 ### 2.需要掌握哪些基础? - 了解各种业务对象(单据、单据列表、基础资料、动态表单、报表等)。 - 了解系统数据在数据库表中的存储关联逻辑。 - 使用SQL的能力,最好能熟练使用SQL语句对系统的数据进行查询等操作。 ## 二、整体介绍 轻分析分为嵌入式分析和主题式分析,两者的区别是进入的==入口不一样==,以及==数据范围不一样== 嵌入式分析的数据来源是当前单据列表及单据关联的基础资料,不能再选择其它数据 [嵌入式说明配置](https://wenku.my7c.com/article/170354?productLineId=1&isKnowledge=2&lang=zh-CN) ![image.webp](https://wenku.my7c.com/download/0109aaf5cda9313d472ebf5404e542e14326.webp) 主题式分析的数据来源是建模,可以任意选择单据实体、数据库表甚至EXCEL文件(PS:需要掌握的要求高) ![image.webp](https://wenku.my7c.com/download/0109047541043ae444899537e37164275882.webp) ### 2.1 数据准备 数据准备我挑重要的内容进行说明:新建数据表、关联关系、提取设置 ![](C:\Users\赖勇\Desktop\数据准备的原理.webp) #### 2.1.1 新建数据表 新建数据表包含数据源以及设置数据表 数据源可以取自业务实体、当前数据中心、账表、数据库、平面文件、OpenAPI、超级查询 - 业务实体:直接抓取系统前台的单据实体作为数据源,自行选择需要的单据和字段;缺点:如果涉及多表关联以及复杂的计算,直接通过业务实体不太好实现或者说压根实现不了,由于业务实体只支持N-1层关联关系,需要进行多层关联无法实现,举个例子,业务实体取采购订单关联收料通知单,只能写==一层==关联关系,按照系统的表结果涉及,应该用采购订单的明细内码关联下有的源单分录内码。 - 当前数据中心:来源于当前数据中心对应的数据库,既从数据库取数,当前数据中心又包括表、自定义SQL、自定义KSQL及存储过程。 - 表:就是数据库中的表名,可以直接选择自己需要的表名作为数据源 - 自定义SQL:编辑SQL语句作为数据源,==仅支持查询语句==,目前实测出不支持Order By和WITH公共表达式。 - 自定义KSQL:编辑SQL语句作为数据源,和上面类似。 - 存储过程:一言难尽不是很好用,我也预计类似的需求需要前台传几个参数,所以想到存储过程,存储过程在数据准备就得提前传参数,用户无法通过前台数据斗方、数据分析、仪表板进行传参,固无法满足客户的需求;除非用户愿意每次手动去数据准备修改传入的参数,或者说传参数之后参数不再变,否则不建议使用存储过程。 - 账表:即系统前台的报表,缺点是取账表必须有一个过滤方案,也可以理解为有些是死数据,有些特殊需求需要人工干预调整过滤方案,和存储过程缺点类似,若是需要修改需要人工介入,无法直接前台筛选修改。 - 数据库:点击所需要的数据库,输入数据库的连接信息,包括服务器、端口及登录用户名和密码,从金蝶外的第三方数据库取数。 - 平面文件:可以引入外部文件,缺点:文件是死数据,若有数据变动则需要人工进行引入,非必要也不建议使用文件作为数据源。 - OpenAPI:目前只支持RESTful数据集和JAVA程序数据集这两种类型。 - 超级查询:目前只有苍穹支持,对苍穹实体进行SQL跨库查询。 设置数据表主要对新建计算字段和合并数据表进行说明。 - 新建计算字段:数据准备和数据分析数据斗方中都可以新建计算字段,他们的区别就是在数据准备中,新建计算字段没有聚合函数,以及数据准备中不能跨单据和实体进行计算。 - 合并数据表:可以理解为数据库中的UNION ALL,逻辑是一样的,合并的数据表字段要一致。 #### 2.1.2 关联关系 关联关系中又包含设置关联关系、保留无法关联的行以及一对一or一对多or多对一。 - 设置关联关系:只允许设置N-1层关联关系,即两张表只能设置一层关系,以此类推,那么有人会问了如果需要多层关联怎么办,我后面会解答。 - 保留无法关联的行:设置关联关系的表下方通常会存在一个选项,两个表下方各有一个保留无法关联的行,其实很好理解,转换成SQL中的JOIN理解即可,是否保留无法关联的行取决于多表关联之后实际要的数据中是否要保留。 - 两边都不勾选=INNER JOIN(内连接) - 两边都勾选=FULL OUTER JOIN (全连接) - 左边勾选=LEFT JOIN (左外关联) - 右边勾选=RIGTH JOIN (右外关联) ![image.webp](/download/0100ed8996f13ad64c0bb549a12b813444b1.webp) - 一对一or一对多or多对一:无法以偏概全,取决于业务场景和表设计,以上下游单据关联为例,正常上下游都是一对多,以单据关联基础资料为例,正常是多对一。 #### 2.1.3 提取设置 提取设置包括实时提取和定时预提取。 - 实时提取:顾名思义每次打开页面时提取最新的数据,和系统打开单据和报表一样,若是数据量太大或者涉及的表太多加载打开需要较长的时间。 - 定时预提取:适用数据量太大加载缓慢且不需要看最新的实时数据,设置调度,打开轻分析页面时使用的是最后一次调度生成的数据。如果用户在建模层设置了定时预提取,制作好分析方案,将其发布后,那么发布的方案都会根据作者用户设置的定时预提取时间来取数(适合数据量大加载缓慢的需求)。 ### 2.2 数据分析/数据斗方 数据分析和数据斗方点击路径如下图: ![image.webp](/download/01003c442513962c4dc790f51fa4bf423282.webp) 数据分析 - 优点:表哥图表可以展示多维度数据展示,可支持10种图表类型。 - 缺点:==不支持自定义的条件样式==,且因为背景是白色,结合仪表板使用的话效果图有点丑。 数据斗方 - 优点:内置28种图表类型,切换图表类型后,横轴、纵轴、系列等功能区域中的字段也会相应调整,从而在卡片预览区域呈现出不同的数据可视化结果;部分图表支持自定义的条件样式。 - 缺点:一维表,==不支持多维度数据展示==。 #### 2.2.1 创建图表 ![image.webp](/download/01009763354d3dd34ab9ab2e04d7d12c954c.webp) ![image.webp](/download/0100ae46835cdfef41969bf991e535094d04.webp) 图表的选择由客户分析的要求自主选择,具体各图表的差异参考帮助手册。 #### 2.2.2 计算字段 内置了几种函数类型,字符串、日期时间、逻辑、数学与三角、类型转换、聚合,相信EXCEL玩的6的人一定用起来不会陌生,我觉得用的比较多的就是日期、逻辑以及聚合了,每个函数旁边都有介绍说明以及案例,可以按需修改。 ![image.webp](/download/01008b6c727e56eb4ac3a7d92fc1ad7f34a5.webp) 常见公式用法,以下函数用到的字段全部替换成表中实际字段,关于运用的场景也不会绝对,只是我在项目中常见整理: 日期函数 - 计算两个日期天数,常用于计算逾期天数:DATEDIFF(创建日期, 审核日期, "MD") - 得到当天日期,常用于某个日期和当天日期比较天数差:NOW() 字符串 - 截取物料编码前两位:LEFT([明细信息.物料编码],2) - 去除字符串前后空格:TRIM(" ABD ") 聚合函数 - 计算采购订单单号个数:COUNT(采购订单单号) - 计算采购订单中供应商出现的个数:COUNTD(供应商) (PS:COUNTD去重计数) 逻辑函数 - 计算区间或者写死数据:CASE ​ TPPF.FALLAMOUNT >= 500000 THEN '战略' ​ 200000 <=TPPF.FALLAMOUNT <499999 THEN '优秀' ​ 50000 <=TPPF.FALLAMOUNT <199999 THEN '良好' ​ '一般' - 已审核的采购订单号个数:COUNT(IF([采购订单.单据状态]='已审核',[采购订单.单据编号],NULL)) - 已审核的采购订单采购数量:SUM(IF([采购订单.采购数量]='已审核',[采购订单.单据编号],0) - 供应商是A的且已审核的采购订单单号个数:COUNT(IF(AND([采购订单.单据状态]='已审核',[采购订单.供应商]='A'),[采购订单.单据编号],NULL)) 补充:逻辑函数可以多重嵌套,只不过容易把直接绕晕,必须理好计算思路,逻辑函数可以结合聚合函数一起使用,也可以嵌套日期函数一起使用,基本运算理解后可以进阶复杂的嵌套运算,可以看下面的计算公式,没有炫技的意思不要误会,非必要的话不要一直嵌套。 COUNTD([明细.明细PK])-COUNTD(IF(AND(IF([明细.合格品入库数量]<>null,[明细.合格品入库数量],0)+IF([明细.不合格品入库数量]<>null,[明细.不合格品入库数量],0)+IF([明细.报废品入库数量]<>null,[明细.报废品入库数量],0)+IF([明细.返工品入库数量]<>null,[明细.返工品入库数量],0)>=[明细.数量],生产.最新创建日期]<=[明细.计划完工时间]),[明细.明细PK],null))-COUNTD(IF(AND(IF([明细.合格品入库数量]<>null,[明细.合格品入库数量],0)+IF([明细.不合格品入库数量]<>null,[明细.不合格品入库数量],0)+IF([明细.报废品入库数量]<>null,[明细.报废品入库数量],0)+IF([明细.返工品入库数量]<>null,[明细.返工品入库数量],0)<[明细.数量],[生产订单.当天日期]<=[明细.计划完工时间]),[明细.明细PK],null)) #### 2.2.3 发布管理 可以发布到应用菜单、数据分析中心、移动轻应用和卡片库,发布的位置由实际情况来定,没有标准说法。 - 应用菜单:即发布到功能菜单目录下,可设置发布名称、选择发布路径、授权可查看该发布方案的用户和角色等。 - 数据分析中心:发布显示路径如下,可设置发布名称、选择发布路径、授权可查看该发布方案的用户和角色等。 ![image.webp](/download/0100851d3f29e14a4f1cbcd5104088086733.webp) - 移动轻应用:发布在移动办公平台(云之家、钉钉、企业微信等) 补充:需要配置,有点麻烦就是,具体链接参考帮助手册 ![image.webp](/download/01001f32ad65bb9f4cce9aff78fe40568de4.webp) - 卡片库,和数据分析中心、应用菜单类似,只是发布后显示的路径不一样。 ### 2.3仪表板 简称大屏看板,可有用户自由布局,支持可自定义的外观,将各种可视化元素整合在一个界面中,以直观地展现关键的业务信息。 #### 2.3.1 设计器界面 仪表板设计器的界面,划分为工具栏、状态栏、组件工具箱、内容大纲、设计区、属性设置区等部分 ![image.webp](/download/0100a3566c55e98e41388859b4f565444fef.webp) #### 2.3.2 页签 在仪表板中,“页签控件”和“页签”是相关的两种不同组件,其实和单据中的页签类似,这里补充一个知识点可以通过文本控件点击跳转指定页签。 ![image.webp](/download/010007fb3f4701c44134942dfe46e0798ca2.webp) #### 2.3.3 常用控件 - 图片:将需要用到的素材图片上传图片库,可用于存放看板公司logo,或者看板背景图片,以及类似在某种看板需要前面加小图标; - 实时时间:用于看板显示实时时间的电子钟,可自定义日期格式; - 文字:可用于显示标题或者内容,当然我更习惯作为点击跳转; ![image.webp](/download/0100a901683261e0445fa6968b092923968d.webp) ![image.webp](/download/010001deaf41d5ff42d88fb041ef913bce7e.webp) - 下拉列表:个人觉得常用于枚举值少的字段做为筛选,比如说单据类型、单据状态,这种值比较少的效果更好; - 按钮组:和下拉列表类似,只是组件是按钮; - 弹窗选择器:支持多选和单选,个人觉得常用于基础资料这种数据量大的字段绑定作为筛选,没有绝对因人而异,因需求而定; - 常用于多种相关需求放到一个容器内展示,可以理解为将几个东西放入一个盒子内; - 日期:用于筛选时间过滤数据 大部分组件都需要绑定字段的数据源以及作用于某个内容 ![image.webp](/download/0100de52dc4445124fee862b967baa6686fd.webp) ![image.webp](/download/01009a2e7b7f3a414aa88fbc0614a09930fd.webp) ## 三、常见问题和技巧 以下我是整理的一些常见的问题和技巧,欢迎补充和纠正。 ### 3.1 常见问题 Q1:轻分析取数慢、加载耗时 A1:原因无非就是数据量太大关联表太多导致数据读取加载较慢,若是数据准备取的是业务实体,建议新建数据表的时候不需要用到的页签表或者字段不要勾选;或者在数据准备先过滤调一部分数据,比如说只要已审核的数据则过滤单据状态等于已审核(和sql里面的where FDOCUMENTSTATUS = ‘C’一样) ![image.webp](/download/01008cf107f3670b45a98d8a8254413e157b.webp) 建议点:虽说取得业务实体,但是最终底层还是转换成sql取数加载,所以建议操作时不需要用到的页签表或者字段不要勾选。 Q2:数据表之间缺少关联关系 A2:数据准备来源多个表,表之间的关系未建立或者建立错误,会导致数据分析时,拉取多个表的字段后,无法找到关联关系而有此提示 建议点:关联关系只支持N-1层,回到我上面讲到关联关系抛出的问题,那么有人会问了如果需要多层关联怎么办?可以考虑用组合字段进行关联,也就是做辅助字段即计算字段进行字符串拼接,然后用拼接的字段进行关联,如下图中SQL里面的两个关联条件,在数据准备用过拼接来满足这种需求,但是这种需求有一种弊端就是我数据准备介绍中说的,新建计算字段不能跨单据和实体,两个业务实体取两张表,需要用两个字段来关联,第一张的两个字段分别在单据头和单据体,第二张表的两个字段在明细,这个时候用组合字段行不通,因为选不到字段! ![image.webp](/download/01004ae1e41c9f9041e1aab6e76206e7ab49.webp) ![image.webp](/download/010033c03d9fe7ae4b318f6843b406c1afdd.webp) ![image.webp](/download/0100b43ba235924742f9a4e4b4718b8d34e4.webp) Q3:不想显示小于0的数量,可是数量筛选<0的话每次都得认为勾选。 A3:可以考虑做一个字段字段用于过滤,IF(数量<0,'不显示','显示',),将该字段用户筛选过滤选择显示即可。 ![image.webp](/download/0100fc5fba83a58547948908f020de344e29.webp) 建议:相关需求都可以参考该方案进行过滤。 Q4:为什么用内置的同环比公式,筛选本年之后没有数据了 A4:内置的同环比可以使用,但是有局限性,前提就是筛选条件不能过滤日期,如果你在筛选器里面过滤了日期,如果想看本年或者本月那你的同环比数据就出不来了,往期的数据被你过滤了,所以这个时候同环比就出不来了。这种时候可以用自定义sql作三个数据准备,将你的涉及到的表字段数据通过sql查出来,这三个都是一样的sql,底层数据语句都是一样的,一个作为原始数据,一个作为同比数据,一个作为环比数据,然后分别在同比环比的表各做一个辅助字段算出对应的同环比日期出来,然后再根据分组的维度拼接将三个表关联起来,但是这里有很重要的一点,拼接的维度其实就是分组的维度保证这个数据有且只有一条,否则同环比数据会错误。 ![image.webp](https://wenku.my7c.com/download/0109ae9b8fab966b4898b394980fde70f77c.webp) ![image.webp](https://wenku.my7c.com/download/010913b898eb324447dfbbe6581f07cd773c.webp) ![image.webp](https://wenku.my7c.com/download/0109526d63a15a224757b4a285ddf1460691.webp) 这里我举两个截图例子代表我关联的维度,具体维度根据实际需求和数据来确定,保持一点要求,**保证有且只有一条数据就不会错。** ![image.webp](https://wenku.my7c.com/download/0109a86d0d5ac16947879018197ea972af0c.webp) ![image.webp](https://wenku.my7c.com/download/0109ce6607454aa6482d8a9bde574149a940.webp) (PS:可能不是最优解,但是确实可以实现) Q5:不允许混合聚合运算与数据行取值。 A5:当使用非聚合度量计算时,计算使用的是最基础的明细数据,一次处理一行; 当使用聚合度量时,是将多行数据合并为一行,所以二者不能混合计算。 Q6:计算两个日期天数差发现不对。 A6:可以查看数据准备中日期字段格式是否为日期,而不是长日期。 ![image.webp](/download/01002f98506a980445eb84fc2840c1971ef3.webp) 建议:如果涉及今天日期和某个日期进行比较天数差的话,又不考虑时分秒的影响,可以将今天的日期在数据准备的时候先加一个今天的计算字段,同时将比较日期字段的格式调整为日期。 Q7:计算公式字段报错数据类型不一致。 A7:常见于逻辑函数,以IF为例,返回的两个参数字段类型一样,要么都是文本即字符串,要么都是数值即INT类型,IF([采购订单.供应商]='A',[采购订单.单据编号],0)一个返回文本,一个返回数值,直接报错,可以修改为IF([采购订单.供应商]='A',[采购订单.单据编号],'0'),将0转成字符串,正常不会这样去写返回值的。 ![image.webp](/download/010041c27ff2ce0a42d3b023a98fe0fca030.webp) Q8:数据斗方和数据分析自定义的日期格式就是无法显示时分秒。 A8:日期维度会影响自定义的日期格式,如果要显示长日期则在数据准备将日期格式调整为文本。 ![image.webp](/download/0100f21e75f447a449efac6bde3c82aff4b3.webp) ### 3.2 常见技巧 注意和技巧: - 多个相同相关需求可以放入一个主题,方便后期的维护,也提高了效率,不需要要一个需求建一个主题; - 多个需求做不同方案且有相同之处可以通过另存方案的方式快速修改,不需要再新建一个方案从头开始; - 业务实体存在局限性,多表关联复杂计算建议通过自定义SQL取数计算,然后轻分析做最后的加工展示; - 涉及仪表板用到的组件和数据过多,建议养成良好的习惯给每个组件命名,方便维护和阅读; ![image.webp](/download/01008661f07fe0b44c889e10ca31eb1b057b.webp) - 既然做看板,不可避免用户前台肯定手动筛选时间做过滤,这边建议斗方也好数据分析也罢,底层时间筛选最好放开不要过滤,前台才能更好的调用时间; - 一个看板内容多的可以考虑我上面文字控件所说的做文字跳转,看板设计因人而已,客户喜欢才重要,可以考虑做总分的模式,首页显示总数据,然后根据文字跳转分详情页签查看明细数据; ![image.webp](/download/010009c0767c7dc4427d9a325926fee98cbb.webp) 补充附件里画了一个大纲,不嫌弃的话可以下载看看。 ![image.webp](/download/0100a73bd10611de4d96987c4a03454de8ad.webp)

轻分析.zip


有真料的贴子,捧起来


点赞收藏,向大佬学习 轻分析的帖子非常少。谢谢大佬

点赞收藏,向大佬学习


总结的很详细,谢谢


写的很好,优点和缺陷都体现了


写的很好,高质量的帖子

浅谈使用轻分析的那点事

小弟不才,在各位大佬面前班门弄斧一下,抱着交流的心态,分享一些我个人的整理和总结,供大家参考和指正。本文从一下几个方面重点阐述:**...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息