从零用低代码平台制作数据大屏(智表 + AJ-Report 实战)
本文记录我在公司实际项目中用智表SmartExcel 低代码平台配合 AJ-Report 制作业务数据大屏的完整流程。包含数据字典视图搭建、动态数据源配置、大屏组件使用以及我踩过的几个典型坑和解决办法。适合刚接触低代码 BI 的同学参考。一、背景我们要解决什么问题公司日常的业务数据采购、生产、库存、销售都躺在 SQL Server 里但业务部门想要一块实时可视化的数据大屏能随时看到业务动态而不是天天人工导 Excel。低代码方案的好处是不用写前端、不用写接口在平台上通过「配置数据源 拖拽组件」就能拼出大屏。本文用的两个工具工具角色说明智表SmartExcel低代码平台 / 数据源底座负责把业务数据库里的表结构、数据暴露成「数据源」AJ-Report开源 BI 大屏工具负责连接数据源、拖拽图表组件、生成可视化大屏⚠️ 说明AJ-Report 本身是开源项目非金蝶产品我们公司把它集成在智表环境里一起用所以文中会交替提到两者。二、环境准备前置条件开始前确认你有这些东西智表 Excel 客户端设计器能登录公司服务器AJ-Report 访问地址一般是http://你的服务器IP:端口/index.html#问公司要数据库账号通常是sa密码问管理员或者在「数据中心 - 数据源」里能翻到目标数据库本文示例库名TYX数据库是SQL Server端口默认 1433如果 AJ-Report 连数据库报「连接超时」基本是数据库服务器 1433 端口没对你开放直接找运维处理个人电脑上折腾不了。三、第一步在智表里搭「数据字典视图」大屏最终要展示的是业务数据但我们有几十张表、几百个字段先用智表把它们的结构整理成一张「数据字典视图」后续取数会方便很多。3.1 导出数据字典模板打开Excel 客户端进入「系统管理」右键点击公司的数据字典选择导出数据字典模板。3.2 建立内部数据源核心 SQL进入「系统管理 → 内部数据源 → 新增 → 通过 SQL 建立」把下面这段 SQL 粘贴进去。这段 SQL 的作用是从智表自己的系统表里把「每张表有哪些字段、每个字段是什么类型」查出来拼成一张数据字典。SELECTT2.tabIDAStabID,T2.tabNameAS表名,T2.sName2AS表别名,T1.fieldIDAS字段ID,T1.fieldNameAS字段名,T1.sName2AS字段别名,CONCAT(tabDIYTable,CAST(T2.tabIDASvarchar(50)))AS数据库表名,CONCAT(F,CAST(T1.fieldIDASvarchar(50)))AS数据库字段名,T3.TypeIDAS类型ID,T3.TypeNameAS数据类型,T3.OriginTypeAS数据库数据类型,T3.iLenAS数据长度FROMtabDIYTableAST2LEFTJOINtabDIYTableFieldAST1ONT1.tabIDT2.tabIDLEFTJOINtabDataTypeAST3ONT3.TypeIDT1.TypeID3.3 形成数据表保存后系统会生成一张内部数据表起名为数据字典视图。3.4 导入模板并检查相关性点击「系统管理 → 管理操作」下拉框选择导入模板点检查相关性。如果提示「未缺少」说明依赖关系都齐了没问题。3.5 关键一步设置返回值很多人卡在这如果你填了表名、公式也不报错但数据就是不出来八成是没设返回值。操作打开模板 →数据表管理 → …主表 → 右击设置返回值把id设置进去。再点「创建 SQL」复制出来后面 AJ-Report 里要用。我们可以发现这个SQL有问题from后面没有加表。我们可以检查一下公式。看数据库表名是否对照着。还有其他问题的话另一个公式也可看看是不是对应的。之后在生成这样就没问题。四、第二步登录 AJ-Report 创建大屏用公司给的地址登录http://你的服务器IP:端口/index.html#填入用户名和密码。进入后点击报表设计 → 报表管理 → 新增填写报表名称随意比如「生产数据大屏」报表编码必须唯一不能和已有的重复报表类型选大屏报表保存后点更多 → 设计进入大屏设计器。五、第三步配置动态数据源5.1 连接数据库在大屏设计器里点数据源新建连接。数据库一般选SQL Server账号sa密码问人要或在数据中心-数据源里找。点测试成功后点确定。测试通过的条件是AJ-Report 服务器能访问到数据库服务器的 1433 端口。如果超时见文末 FAQ。5.2 配置数据集点击数据集 → 新增选择SQL方式把第 3.5 步复制的 SQL 粘贴进去。数据源选刚才建的编码保持唯一即可名称随意。六、第四步使用大屏组件6.1 滚动表格最常用从文本栏拖一个表格组件到工作区右侧可以设置表头、表体样式。设置字段时宽度 100%表示把表格总宽按字段数平分后的单个宽度点「数据」绑定动态数据源刷新时间1 秒 1000 毫秒图里 30 秒即半分钟刷新一次绑定后如果数据框没出现去「配置」里编辑名字随便取但 Key 值必须和上面数据集返回的 Key 对应这样才能正确映射字段。6.2 大屏背景与图片点大屏空白处可以设置背景颜色也能插入图片。注意图片格式必须是 png其他格式可能不显示。整体刷新可以设 1800 秒30 分钟。6.3 其他组件平台还提供边框、地图、饼图、折线图等组件直接拖拽即可效果如下七、常见问题与排坑FAQ这部分是我实际踩过的坑建议重点看。Q1报SQL 执行结果的字段数量必须跟当前内部数据表的项目数量一致原因你的 SQL 查出来多少列对应的内部数据表就必须有多少个字段两边必须完全对齐。解决数一下内部数据表如「数据字典视图」的字段数把 SQL 的 SELECT 列数改到一致。Q2报列名 ‘tabID’ 无效原始出错信息来自某条取数公式原因公式里引用的字段名tabID但你的 SQL 里已经把它改名成表单ID或别的。解决SQL 返回的字段名 和 公式里引用的字段名必须完全一致。把公式里的tabID改成实际的列名即可。口诀SQL 列名 内部数据表字段名 公式引用名三者统一就不报错。Q3填了表名、不报错但数据不出来原因模板的「返回值」没设置导致上游查不到tabID/表单ID下游字段查询自然为空。解决见 3.5 节去「数据表管理 → 主表 → 设置返回值」把id设进去。Q4AJ-Report 连数据库超时原因数据库服务器 1433 端口没对 AJ-Report 服务器开放常见于内网隔离。解决个人无法处理把报错发给运维让他放行 1433 端口或确认真实端口号不一定是 1433。八、总结整个流程串起来就是业务数据库(SQL Server) ↓ 智表内部数据源(SQL) 暴露成「数据字典视图」 ↓ 导出/导入模板设置返回值 AJ-Report 动态数据源(连接SQL Server) ↓ 数据集(SQL) 大屏组件(表格/图表/地图) → 可视化大屏低代码做大屏的核心难点不在拖组件而在数据源和字段映射——只要 SQL 列名、内部表字段名、公式引用名三处对得上剩下的就是拖拽和美化了。希望这篇能帮你少走弯路。有问题欢迎评论区交流。附录完整数据字典 SQL可直接用SELECTT2.tabIDAStabID,T2.tabNameAS表名,T2.sName2AS表别名,T1.fieldIDAS字段ID,T1.fieldNameAS字段名,T1.sName2AS字段别名,CONCAT(tabDIYTable,CAST(T2.tabIDASvarchar(50)))AS数据库表名,CONCAT(F,CAST(T1.fieldIDASvarchar(50)))AS数据库字段名,T3.TypeIDAS类型ID,T3.TypeNameAS数据类型,T3.OriginTypeAS数据库数据类型,T3.iLenAS数据长度FROMtabDIYTableAST2LEFTJOINtabDIYTableFieldAST1ONT1.tabIDT2.tabIDLEFTJOINtabDataTypeAST3ONT3.TypeIDT1.TypeID

相关新闻

【无标题】C++3:拷贝构造以及编译器优化

【无标题】C++3:拷贝构造以及编译器优化

this指针 我们在创建变量时,如果名字与类的普通成员方法名字相撞,那我们应该如何区分到底是把哪个值赋给谁呢?这时候就引出this指针,可以区别 class Test { public:int num; // 成员变量void setNum(int num) {// this->num&am…

2026/10/15 4:22:46 阅读更多 →
VSCode配置ESP32 MicroPython开发环境:从零搭建到点灯实战

VSCode配置ESP32 MicroPython开发环境:从零搭建到点灯实战

在嵌入式开发领域,ESP32 凭借其强大的双核处理能力、丰富的无线连接选项(Wi-Fi 和蓝牙)以及极佳的性价比,已成为物联网和智能硬件项目的首选微控制器之一。而 MicroPython 作为一种在微控制器上运行的 Python 3 实现,极…

2026/10/11 2:01:12 阅读更多 →
Sentinel热点参数限流:从原理到实战的完整指南

Sentinel热点参数限流:从原理到实战的完整指南

1. 从一次线上“秒杀”故障说起:为什么需要热点规则?去年双十一大促前,我们团队负责的一个商品秒杀系统在压测时遇到了一个诡异的问题。系统整体QPS(每秒查询率)和CPU使用率都在健康范围内,但RT&#xff08…

2026/10/15 5:32:02 阅读更多 →

最新新闻

冒险岛WZ格式解析与自定义加密实战指南

冒险岛WZ格式解析与自定义加密实战指南

简介:这是一款面向《冒险岛》游戏开发者、MOD制作者及资深玩家的WZ资源编辑与加密工具集,专为破解、定制和重打包游戏核心资源(如图像、音效、脚本、技能配置)提供完整支持。资源包共34个文件,含17个DLL动态库&#xf…

2026/10/15 19:16:09 阅读更多 →
C罗半场被换下,利雅得胜利10人连进3球逆转

C罗半场被换下,利雅得胜利10人连进3球逆转

利雅得胜利主场,上半场0比2落后,门将早早被罚下。中场休息,主教练把C罗换了下来,转播镜头扫过他的脸,表情不太好看。下半场,没有C罗的利雅得胜利,10个人连进三球,3比2逆转。 同一周&…

2026/10/15 19:16:09 阅读更多 →
分销商城小程序打造高效社交分销与营销增长平台

分销商城小程序打造高效社交分销与营销增长平台

随着移动电商和社交营销的快速发展,传统商城获客成本不断增加,越来越多的企业开始布局分销商城小程序,通过社交分享、会员裂变、营销活动等方式,拓展销售渠道,实现客户资源与商品销量的双重增长。分销商城小程序定制开…

2026/10/15 19:16:08 阅读更多 →
从源头到应用,企业数据质量究竟该如何管控?

从源头到应用,企业数据质量究竟该如何管控?

数字化转型持续推进,数据已经成为企业经营决策、业务分析、系统协同的核心资产,但很多企业始终被数据质量难题困扰:客商信息重复、物料编码不统一、报表口径打架、跨系统数据对不上。不少团队投入了人力、预算做数据治理,却常常陷…

2026/10/15 19:16:08 阅读更多 →
2026年10月山西省联通宽带实测办理全流程避坑攻略

2026年10月山西省联通宽带实测办理全流程避坑攻略

昨天翻出上个月的手机话费单,看着宽带那一栏扣的钱,再看看业主群里邻居吐槽晚上看剧转圈圈,我实在忍不住了。对比了一下账单,我家现在用的宽带一个月大几十,网速却不如隔壁用山西省联通的邻居。为了搞清楚到底怎么回事…

2026/10/15 19:16:08 阅读更多 →
PHP众筹源码系统实战:多模式众筹平台部署与避坑指南

PHP众筹源码系统实战:多模式众筹平台部署与避坑指南

“PHP众筹源码系统”这个关键词,最近在几个站长社群里反复出现。说句实话,我第一次拿到这套源码的时候也没太当回事——市面上叫“众筹系统”的PHP源码一抓一大把,很多就是套个模板、挂个支付按钮就算完事。但真正把这套系统部署起来、跑完一…

2026/10/15 19:15:08 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/15 16:18:54 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 9:49:14 阅读更多 →