像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,是三线接口的双向数…...
C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)
要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...
Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...
