像ChatGPT玩转Excel数据
1.引言
最近ChatGPT的出现,把人工智能又带起了一波浪潮。机器人能否替代人类又成了最近热门的话题。
今天我们推荐的一个玩法和ChatGPT有点不一样。我们的课题是“让用户可以使用自然语言从Excel查询到自己想要的数据”。
要让自然语言可以从Excel中查数据,那我们得做点准备:
需要一个Excel文档
需要一个自然语言查询工具(这里我们推荐Smartbi NLA)
1.1.体验自然语言查询
老规矩,先上效果再说其他。
【使用录屏动画】
2.Excel说明
我们先准备一个Excel,这个数据是模仿一个企业的合同签订表数据造的一份随机数据,有些数字可能不大合理。不合理的地方,请自动忽略 _。
2.1.数据结构说明
2.1.1合同明细表
2.1.2.销售表
2.1.3.地区表
2.1.4.日期维
2.2.表关系图
【表关系图】
2.3.数据示例
【Excel详情】
3.数据导入与建模
数据情况介绍完了,我们要用上述的数据,做一个数据模型,下面主要介绍下建模的过程。
3.1.Excel导入
Smartbi中的Excel数据导入,非常简单,按照向导操作就可以了。
【Excel数据导入】
3.2.建立表关系
3.2.1.第一个表关系
数据导入完成后,我们先建立第一个表关系。鼠标放到《销售表》表上面后,会出现4个小圆圈。选择一个小圆圈,拖动到《合同表》上面,就会自动弹出表关系对话框。我们选择关联字段,然后选择“一对多”关系。
【《销售表》和《合同表》关系建立】
【完整表关系】
3.3.指标、维表和事实表处理
3.3.1.生成指标
【双击“合同金额”转指标】
从事实表中,找到需要转为指标的列,双击,就会自动生成指标。
3.3.2.处理维度
默认情况下,右侧栏的每一个字段,都会默认生成一个维度。但是有些字段(ID、编码等)在正常的查询中我们并不需要,所以建议将不需要的字段隐藏。同时为了让自然语言能够更好的识别到用户语言中的指标和维度,建议在设计模型的时候将指标和维度修改成用户常用的词语。
【隐藏“合同维表”】
【显示“合同名称”】
《合同维表》中,依次显示“合同名称”、“商机类型”、“合同类型”、“行业名称”,这些是需要转成维度的,其他的字段都不需要,所以其他字段都可以隐藏掉。其他表也做同样操作,隐藏掉编码字段。
3.3.3.创建时间维度
【创建时间维度】
在右键“日期”字段,选择“创建时间层次结构”,我们可以创建包含指定层次的时间维结构。
【选择时间层次结构】
根据查询需要,我们选择了“年”、“季”、“月”、“日”,4种层次结构。
【生成的时间层次】
如果觉得默认的名字不好,可以改名。不过为了能更符合常用日期说法,还是建议改下默认名字。如果有特殊需要,也可以修改需要显示的日期格式。
【修改季度名字】
【改名后的时间层次】
3.4.自定义指标
除了合同金额,如果我们还想知道“合同个数”,我们需要对“合同编码”做唯一计数。
【生成“合同个数”指标】
3.5.模型抽取
最后,我们需要对模型进行抽取,将Excel数据加载到高速缓存库中。
【模型抽取】
【点击:抽取并建宽表】
3.6.模型验证
模型做好以后,我们需要验证下模型是否正确。这里可以使用“自助仪表盘”完成模型的验证工作。
【新建-交互式仪表盘】
【查询验证】
把用到的维度和指标都拖上来,看看是否有数据,数据是否正确。
3.7.总结
以上是创建数据模型完整的过程。是不是很简单,手痒的同学可以先试试了。
Smartbi的数据模型建设过程非常简单,全程就是鼠标拖拽就实现了,除了改名,基本不需要使用键盘。更不需要写SQL语句或者其他程序语言。对用户的要求大大降低。就算稍微有点高级的–做计算指标,对用户的要求也只是:了解该指标的计算方法,然后基本也是全程鼠标就可以实现了。总之,使用Smartbi一切都太方便了!
4.自然语言查询
4.1.训练NLA模型
Smartbi自然语言查询,是在“数据模型”之上,再建立了一个知识模型(知识图谱)。这个知识图谱,需要有一个简单的训练过程。不过Smartbi已经把这些工作都包装好了,我们只需要点一个训练按钮就可以实现知识图谱的训练了。
【训练AI图谱】
【选择需要参与训练的维度】
日期维、ID、编码、数字这些一般是不需要参与训练的,也就是只训练有意义的字符串列。
【选择对话式分析-进入自然语言查询】
4.2.查询演示
4.2.1.语义场景自适应
【排名演示场景】
Smartbi的自然语言查询和同类产品有个不一样的地方就是,通常的自然语言查询工具,需要比较完整地说出数据库中的字段名,而Smartbi的自然语言查询是不需要的,用户可以按照常规的说法去说这个词语。系统会根据当前的语言场景匹配最合适的字段。
比如上述例子中的“广州分部合同金额排名前十销售”,系统会根据当前的语句自动识别是想要对“销售姓名”排名还是“销售分部”排名,在这句话中,系统给出的选择是使用“销售姓名”进行排序。
“合同排名”也是同样的意思。这里就不详细展开了。
4.2.2.自动生成计算指标
【动态生成计算指标】
Smartbi自然语言查询,还有一个显著特点是可以自动生成一些常用的时间计算指标(不需要预先在模型中做好)。比如:同比、环比这些。
Smartbi NLA支持的时间计算指标有:
同期比
环比
同期值
前期值
同期增量
前期增量
年累计
年累同比
季累计
季累同比
月累计
月累同比
占比
4.2.3.综合分析案例
【分析案例】
这个演示主要是介绍使用自然语言分析出“广州分部合同金额去年同比下降”的原因。最开始查的是“各分部的合同情况”,然后发现广州分部同比下降了37%。
然后继续问广州分部各行业的情况,只看行业数据看不出问题,我们加上了“同比”和“占比”,发现“占比”比较大的行业(零售、教育、旅游)的合同额都大幅下滑,特别是旅游行业下滑73%。
我们再从月份的角度看,基本看到4月、5月数据都下滑比较严重,到了下半年跌幅也比较巨大。
通过上述示例发现,在做数据分析的时候使用自然语言查询,要比传统的拖拉拽方式快速很多,比手写SQL更是进步了几代。所以使用自然语言做分析,将会给业务分析人员,带来更大的方便性。
👉感兴趣的朋友可点击链接,立即体验Smartbi智能问答
相关文章:

像ChatGPT玩转Excel数据
1.引言 最近ChatGPT的出现,把人工智能又带起了一波浪潮。机器人能否替代人类又成了最近热门的话题。 今天我们推荐的一个玩法和ChatGPT有点不一样。我们的课题是“让用户可以使用自然语言从Excel查询到自己想要的数据”。 要让自然语言可以从Excel中查数据&#…...

云原生之docker容器监控详解(cAdvisor、node exporter、prometheus)
docker容器监控一、前言二、cAdvisor2.1、安装cAdvisor2.2、使用Prometheus监控cAdvisor2.3、cAdvisor暴露的Prometheus指标三、Node Exporter3.1、安装Node Exporter3.2、指标四、Prometheus4.1、安装4.2、规则配置4.3、报警管理器五、grafana一、前言 cAdvisor源码 node exp…...

<Linux>进程概念
文章目录一、什么是进程1.进程概念2.进程描述 – PCB3.task_struct内容分类二、进程的基本操作1.查看进程2.结束进程3.通过系统调用获取进程标示符4.通过系统调用创建子进程(fork)三、进程状态1.普遍的操作系统状态2.Linux操作系统状态四、两种特殊的进程1.僵尸进程2.孤儿进程五…...

数据结构——顺序表
文章目录🐨0. 前言🎈1. 顺序表的概念及定义🪁2. 接口的声明🪄3. 接口的实现🍅3.1 为何使用断言?🍒3.2 初始化与销毁🍓3.3 尾插与尾删🍉3.4 头插与头删🍹3.5 指…...

闪存系统性能优化方向集锦?AC timing? Cache? 多路并发?
1. 从Flash系统的性能提升说起从消费级产品到数据中心企业级场景,NAND Flash凭借其高性能、大容量、低功耗以及低成本等特性大受欢迎,是目前应用最为广泛的半导体非易失存储介质。为了满足业务场景越来越严苛的性能要求,人们想了许多方法来提…...
【每日一题】——网购
🌏博客主页:PH_modest的博客主页 🚩当前专栏:每日一题 💌其他专栏: 🔴 每日反刍 🟢 读书笔记 🟡 C语言跬步积累 🌈座右铭:广积粮,缓称…...

百度终于要出手了?文心一言
文心一言 百度全新一代知识增强大语言模型,文心大模型家族的新成员,能够与人对话互动,回答问题,协助创作,高效便捷地帮助人们获取信息、知识和灵感。 前几天炒的风风火火的ChatGPT,虽然 ChatGPT 很强大&a…...

8年Java架构师面试官教你正确的面试姿势,10W字面试题带你成功上岸大厂
从最开始的面试者变成现在的面试官,工作多年以及在面试中,我经常能体会到,有些面试者确实是认真努力工作,但坦白说表现出的能力水平却不足以通过面试,通常是两方面原因: 1、“知其然不知其所以然”。做了多…...
Mybatis-Plus详解
简介MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。特性(官网提供)无侵入:只做增强…...

购物清单(蓝桥杯C/C++省赛)
目录 1 问题描述 2 文件的读取格式 3 代码实现 1 问题描述 小明刚刚找到工作,老板人很好,只是老板夫人很爱购物。老板忙的时候经常让小明帮忙到商场代为购物。小明很厌烦,但又不好推辞。 这不,XX大促销又来了!老板…...
【蓝桥杯集训·每日一题】AcWing 4496. 吃水果
文章目录一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解三、知识风暴求组合数一、题目 1、原题链接 4496. 吃水果 2、题目描述 n 个小朋友站成一排,等着吃水果。 一共有 m 种水果,每种水果的数量都足够多。 现在&…...

selenium(6)-----unittest框架
unittest框架 1)测试固件 1)setUp()是用来初始化测试环境所做的工作 2)tearDown()是用来清理环境所做的工作 2)测试套件 把不同的测试脚本,不同类中的测试用例给组织起来放到一个测试套中执行 3)测试用例的要以test_开头 4)如何使用unittest框架 只需要在脚本中定义…...

统计软件与数据分析--Lesson3
dataframe数据常用python操作dataframe数据常用知识点1.创建dataframe1.1使用字典创建DataFrame:1.2使用列表创建DataFrame:1.3使用numpy数组创建DataFrame:1.4从TXT文件中创建DataFrame:1.5从CSV文件中创建DataFrame:…...

竞赛无人机搭积木式编程——以2022年TI电赛送货无人机一等奖复现为例学习(7月B题)
在学习本教程前,请确保已经学习了前4讲中无人机相关坐标系知识、基础飞行控制函数、激光雷达SLAM定位条件下的室内定点控制、自动飞行支持函数、导航控制函数等入门阶段的先导教程。 同时用户在做二次开发自定义的飞行任务时,可以参照第5讲中2021年国赛植…...
oracle基础操作
oracle基础操作语法: 1、查询会话 SQL> select count(*) from v$session;2、增大连接数 SQL> alter system set processes5000 scope spfile;3、增大会话数 SQL> alter system set sessions7552 scopespfile;4、查询 参数: SQL> sho…...
python爬虫数据写入excel
在Jmeter118中描述了如何将接口请求的响应数据写入到csv中,同样的接口如果采用python写法,会简便很多,主要是用到了python中的pandas库#爬取展台数据import requestsimport pandas as pdurlhttps://ficonline.cfaa.cn/Exhibition/searchExhib…...

优思学院|六西格玛DMAIC,傻傻搞不清?
DMAIC还是搞不清? DMAIC是一个用于过程改进和六西格玛的问题解决方法论。它是以下五个步骤的缩写: 定义(Define):明确问题,设定项目的目标和目的。绘制流程图,并收集数据,以建立未来…...

【Linux】网络编程套接字(下)
🎇Linux: 博客主页:一起去看日落吗分享博主的在Linux中学习到的知识和遇到的问题博主的能力有限,出现错误希望大家不吝赐教分享给大家一句我很喜欢的话: 看似不起波澜的日复一日,一定会在某一天让你看见坚持…...

【Linux网络】网络编程套接字(上)
🎇Linux: 博客主页:一起去看日落吗分享博主的在Linux中学习到的知识和遇到的问题博主的能力有限,出现错误希望大家不吝赐教分享给大家一句我很喜欢的话: 看似不起波澜的日复一日,一定会在某一天让你看见坚持…...

十二、51单片机之DS1302
1、DS1302简介 (1)详情查看数据手册。 (2)管角描述 管教名称功能1Vcc2双供电配置中的主电源供电引脚2X1与标准的32.768kHz晶振相连。用于ds1302记时。3X24GND电源地5CE输入信号,CE信号在读写时必须保持高电平6I/O输入/推挽输出I/O,是三线接口的双向数…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...

JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...

大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...

linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...
Mysql8 忘记密码重置,以及问题解决
1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...

android RelativeLayout布局
<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...