James.Lv 发表于 2023-7-18 14:06:42

【Wyn V7.0】嵌入式增强:更灵活的嵌入式分析能力(1):自定义报表板设计器

本帖最后由 James.Lv 于 2023-7-28 11:43 编辑

背景介绍
为了支持和管理企业运营的业务需求和管理需求,企业的各个部门和业务场景都有不同的应用系统,随着企业数据量的增加和企业用户需求的增加,用户对数据的分析和报表功能的需求也日益增加,管理层,业务层都需要能够对数据进行分析和可视化,以便更好地理解数据并做出相应的决策。嵌入式BI报表提供了一种集成的方法,可以将数据分析功能直接嵌入到应用程序中,无需用户离开应用程序进行数据分析,能够让用户在一个平台上完成数据的收集分析和报告,而不需要多个系统间来回切换。同时嵌入式BI报表提供给客户完全定制化,个性化的系统配置,提高用户的工作效率和体验。用户在完全熟悉的应用程序界面上使用报表功能来满足自己的数据分析的需要;为了满足用户能够在同一平台上完成数据分析和报告,Wyn V7.0进一步增强嵌入式能力,满足不同业务系统需要增加数据分析模块的需求,Wyn V7.0支持用户自定义集成报表设计器,集成报表查看器,并且开放接口满足用户个性化定制化系统风格调整,同时支持通过API去动态创建报表,控制报表设计器以及查看器相关功能组件,完全融入第三方业务系统,提高用户体验和工作效率;

应用场景
Wyn嵌入式BI为应用软件打造全新竞争力,能够提升应用软件产品的差异化,提升软件开发效率,帮助软件公司更快更高质量交付项目;以下简单列举了几个场景:

[*]企业管理系统:嵌入式报表可以在企业管理系统中使用,例如ERP系统、CRM系统和人力资源管理系统。它可以展示关键业务指标(KPIs)和数据分析结果,帮助管理人员了解组织的绩效和业务情况,支持决策制定和监控业务趋势。


[*]数据分析平台:嵌入式报表可嵌入到数据分析平台中,例如数据仪表板和数据可视化工具。它可以将数据以图表、图形和表格等形式进行可视化展示,帮助用户快速洞察数据,发现关联和趋势,并支持数据驱动的决策和战略。


[*]电子商务平台:在电子商务平台中,嵌入式报表可用于展示销售数据、库存情况、用户行为等关键指标。这可以帮助电商企业了解销售业绩和运营情况,优化产品定位、促销策略和供应链管理。


[*]健康医疗系统:在医疗行业,嵌入式报表可以用于医院管理系统、病历系统和医疗保健分析平台等。它可以展示医疗数据、患者信息、医疗资源利用情况等,帮助医疗机构进行业务分析、资源调配和病例研究。


[*]教育管理系统:在教育领域,嵌入式报表可以应用于学校管理系统、学生成绩管理系统和培训管理系统等。它可以展示学生的学业表现、教师评估结果和教学资源利用情况,支持学校和教育机构进行教育质量评估、课程改进和资源规划。


[*]物流和供应链管理:嵌入式报表可用于物流和供应链管理系统,帮助企业监控货物流转情况、仓储和配送效率。它可以提供实时的物流数据和分析结果,帮助企业优化供应链运作和库存管理。


功能介绍
Wyn V7.0新版本对报表设计器集成增强了哪些功能呢?接下来我们就上干货


1.自定义报表设计器关闭按钮事件
开发设计器关闭按钮事件,用户可自定义关闭按钮触发的事件,可以在关闭操作中进行更多的逻辑处理,例如页面跳转,关闭时进行是否保存提醒,也可以获取到当前设计器里面的内容进行逻辑判断等。
onClose: function() {
      // ... specify on-closing logic
      // ... destroy Designer
      // ... specify on-closed logic
},

2.创建报表提供API接口
可以由用户动态控制创建空白RDL报表,创建空白页面报表,基于某个报表模板来创建一个新的报表,或者创建一些自定义的报表,例如创建报表时默认指定报表的数据集和参数等任意的自定义报表内容;方便集成时,根据业务需求动态创建任意的预设好一些信息的报表;

[*]使用现有报表模板创建报表
ins.api.createReport({
      templateInfo: { id: 'your-template-id' },
}).then(function(result) {
      if (result.type === 'error') {
                console.error(.join('\n'));
                return;
      }
      console.log('Report is created successfully.');
});
[*]创建自定义内容的报表
ins.api.createReport({
      templateInfo: { content: { <your-custom-content> } },
}).then(function(result) {
      // ...
});当前正在编辑的报表内容也可以通过设计器API获取
const content = ins.api.getReportContent();
[*]创建报表时添加共享数据集
ins.api.createReport({
      dataSets: [
                { id: 'your-server-data-set-id', name: 'your-server-data-set-name', version: 1 },
      ],
}).then(function(result) {
      // ...
});
3.报表设计器数据绑定,属性设置以及工具箱开放API进行动态控制

[*]数据绑定区域可以控制数据源,数据集,报表参数等是否可见,是否可以修改
dataTab: {
      dataSources: {
                visible: true,
                canModify: false,
      },
      dataSets: {
                visible: true,
                canModify: false,
      },
      parameters: {
                visible: true,
                canModify: false,
      },
      commonValues: { visible: false },
},


[*]用户可以根据自己的需求,来动态进行筛选或者重新排序报表组件的属性设置中属性
filterProperties: function(descriptors, reportItem) {
      const filteredDescriptors = descriptors.filter(desc => {
                if (desc.valuePath === 'Style' || desc.valuePath.startsWith('Style.')) return false;
                if (reportItem.Type === 'textbox' && desc.valuePath === 'Value') return false;
                return true;
      });
      return filteredDescriptors.sort((d1, d2) => d1.category.localeCompare(d2.category));
},


[*]用户可以动态控制报表工具箱的组件顺序,以及组件是否可用
调整设计器组件顺序
reportItems: 'Table,TextBox,Image,Shape',控制设计器组件的可见性
reportExplorer: { visible: false },
groupEditor: { visible: false },
layersEditor: { visible: false },
toolBox: { visible: false },
parametersView: { visible: false },
aboutButton: { visible: false },
propertiesTab: {
      visible: false,
      // When mode is Basic/Advanced, Properties Mode button in Status Bar is hidden.
      mode: 'Basic',
},
dataTab: { visible: false },
infoTab: { visible: false },
// Hides only Grid Size editor in Snap Editor.
gridSize: { visible: false },
// Hides entire Snap Editor.
snapEditor: { visible: false },
showGrid: { visible: false },
showRulers: { visible: false },
zoomEditor: { visible: false },
// If units are specified explicitly, to in/cm, Units toggle in Status Bar is hidden.
units: 'in',

效果如下:



页: [1]
查看完整版本: 【Wyn V7.0】嵌入式增强:更灵活的嵌入式分析能力(1):自定义报表板设计器