当前位置: 首页 > news >正文

1. 准备工作---数据分析编程 - 从入门到精通

1.1 下载与安装

使用 SPL 的免费桌面版就可以了。

下载地址:桌面版 产品下载 | 润乾 - 高性价比报表工具 | 高性能大数据计算 | 一键式自动建模

下载后按照向导操作安装即可,安装完毕,运行 SPL IDE,界面如下:

点击 Tool/Options, 配置主目录

配置完主目录后,本文档中用到的所有数据文件和脚本文件只要放置于主目录下,则脚本中引用时均可不必指定目录名,脚本更简洁易读。

1.2 网格式编程

在 SPL IDE 主界面上点击 File/New,可以看到一个类 Excel 的网格式界面如下:

SPL 采用类 Excel 的网格式编程,这是一种创新的数据计算方式,它将传统的文本代码编写方式转变为直观的二维网格布局。这种编程模式特别适合处理复杂的数据计算任务,具有以下显著特点:

  • 直观可视:计算逻辑以网格形式展现,每个单元格独立又相互关联
  • 模块化设计:每个单元格可视为独立计算单元,便于维护和复用
  • 顺序可控:通过网格布局自然体现计算顺序,逻辑清晰可见
  • 即时反馈:每个单元格计算结果即时显示,调试过程直观高效

1.2.1 所见即所得的计算界面

在 SPL 的网格界面中,每个单元格的代码和计算结果可以同时呈现。编写代码后无需运行整个程序,可以只计算并显示当前单元格的结果。这种即时反馈机制极大提升了开发效率。

如上图,在 A1 单元格中键入 =3+5 ,然后选中 A1 单元格,点鼠标右键,点击 Calculate active cell 或键 Alt+Enter,即可计算当前选中的单元格。

这里的表达式 =3+5 和 Excel 比较像,常规 Excel 支持的四则运算在这里都可以直接运行。不妨尝试一下其它的四则运算,体会一下两者的相似之处。

界面查看结果:在网格中,每个单元格右侧会直接显示该单元格的计算结果,包括标量值、表格数据或图形输出,可以一目了然地掌握每个计算步骤的输出状态。

知识点:Excel 和 SPL 的异同

相同点:

  • 都是网格式界面
  • 支持常规四则运算表达式
  • 可以只计算单个单元格

不同点:

  • Excel 在单元格中键入完表达式按回车或鼠标离开,即会自动计算当前单元格;SPL 则必须选中当前单元格点鼠标右键,点击 Calculate active cell 或键 Alt+Enter 才会计算。
  • Excel 单元格的计算结果直接显示在单元格中,SPL 则显示在界面的右侧。

1.2.2 单元格命名与变量化使用

单元格命名

SPL 采用与 Excel 类似的网格坐标系统来标识和引用单元格,每个单元格由其列标(字母)和行号(数字)唯一确定

示例:

  • A1:第 A 列第 1 行的单元格
  • B3:第 B 列第 3 行的单元格
  • AA100:第 AA 列第 100 行的单元格

单元格引用:

1. 直接坐标引用

在 A2 单元格中引用 A1 的值

知识点:

单元格可在其他单元格中作为变量被引用或赋值,从而少了很多为变量命名的烦恼,对于一些有规律的数据或者变量,直接引用单元格而不需要另外命名会非常方便。

2. 区域引用

计算 A1 到 B4 这片单元格的和

知识点:Excel 和 SPL 的异同

相同点:

  • 单元格的命名规则一致
  • 用 A1:B4 表示 A1 到 B4 这片矩形单元格区域
  • 可以用 sum 函数对单元格片区进行聚合运算

不同点:

  • Excel 中对单元格片区求和的表达式语法为 =sum(A1:B4),SPL 中为 =sum([A1:B4]) 或 [A1:B4].sum()

1.2.3 独立的计算单元

每个单元格都是独立的计算单元,支持:

  • 简单计算
  • 复杂数据处理
  • 条件分支
  • 循环处理

单元格计算结果会自动传递给依赖它的下游单元格,形成完整的数据流。

1.2.4 单元格计算顺序

SPL 网格的计算顺序遵循从左到右、从上到下的规则:

从上图中 [A1:B4] 的返回值可以看出,单元格的计算顺序是从左到右、从上到下。

知识点:Excel 和 SPL 的不同

Excel 中不能在单元格中单独显示 A1:B4 这样的数据集合,必须聚合成单个值才可以展现;SPL 中可以在单元格里展现 =[A1:B4] 这样的数据集合,且该数据集合是有次序的,上图红框里的 Index 列就是数据的序号,在 SPL 中将这样有序的数据集合称为序列

SPL 的网格式编程重新定义了数据处理的体验,将编程的精确性与电子表格的直观性完美结合,为您提供了一种更高效、更可控的数据计算解决方案。

1.3 本文档用到的数据文件

点击下载

1.4 一个最简单的分析案例

从 sales.csv 中读取销售数据,按销售员分组统计销售数量,并按结果排序,结果写回 salesGroupSum.csv 文件中

A
1=file(“sales.csv”).import@tc(sales,quantity)
2=A1.groups(sales;sum(quantity):totalQuantity)
3=A2.sort(totalQuantity:-1)
4=file(“salesGroupSum.csv”).export@tc(A3)

A1 从 sales.csv 文件中读取 sales、quantity 列的数据。

A2 将 A1 中读取的数据按 sales 分组汇总统计 quantity。

A3 将 A2 中的分组结果按 totalQuantity 逆序排序。

A4 将 A3 中的排序结果写出到 salesGroupSum.csv 文件中。

可以暂时不去理解这些代码的含义,只是抄过来执行感受一下 SPL 程序。我们在后续章节中会逐步讲述相关的语法。

上述代码在网格中运算后,可以直接在网格的右侧看到 A3 单元格的值:

打开主目录,可以看到主目录下多了 salesGroupSum.csv 文件,打开此文件,可以看到:

csv 文件中看到的结果,和界面上看到的 A3 单元格的结果一致。

http://www.dtcms.com/a/342489.html

相关文章:

  • uniapp 自定义组件封装、easycom匹配规则
  • Go语言变量声明与初始化详解
  • TDengine IDMP 运维指南(管理策略)
  • CRII-Net
  • 【领码课堂】让Java数据检索更智能——Bean Searcher全景解读
  • 从”0“开始学JAVA——第九节下 泛型和集合框架
  • #运维 | 前端 # Linux http.server 实践:隐藏长文件名,简短路径 (http://IP:port/别名 ) 访问
  • AI研究引擎的简单技术实现步骤
  • Web 安全之 HTTP 响应截断攻击详解
  • JavaScript 系列之:图片压缩
  • 微信小程序设计的请求封装方案(request.js)
  • NPM模块化总结
  • DINOv3 重磅发布
  • 计算机网络技术学习-day6《三层交换机配置》
  • python发布文章和同步文章到社区的工具小脚本
  • 第三阶段数据库-6:sql中函数,多表查询,运算符,索引,约束
  • 智慧城管云平台源码,微服务vue+element+springboot+uniapp技术架构,数字化综合执法办案系统
  • 数据结构之排序大全(4)
  • 苷类成分通过 PI3K/AKT 信号通路促进内皮祖细胞来源外泌体修复受损血管内皮
  • 基于YOLO11的茶叶病害智能检测系统
  • 组态软件——工业监控“大脑”
  • leetcode-python-242有效的字母异位词
  • 代码随线录刷题Day39
  • 【uni-app】自定义导航栏以及状态栏,胶囊按钮位置信息的获取
  • Java的运行时数据区
  • Notepad++换行符替换
  • 机器学习——AdaBoost算法
  • 基于YOLO11的水稻叶片病害检测项目
  • 面试压力测试破解:如何从容应对棘手问题与挑战
  • (第二十期上)HTML 超链接标签 a