非专业人员学习 SPL 的路径

编程学习

SPL 程序设计 开始,还有个 视频课程

这本书就是面向非专业人员编写的,不需要编程经验,有高中数学基础就可以了。
第 1-4 章介绍基本的程序逻辑(变量、分支、循环等),也是大多数编程语言都有的内容。除了 4.4 节对象理解有些深度需要多花些时间理解外,其它部分学习难度不大,有 Excel 基础的同学很容易掌握。
第 5 章开始介绍 SPL 编程的一些特有风格,这是和其它程序语言不同的地方,理解掌握后,你就可以写出优雅的代码了。最后 5.7 节 Lambda 语法对于非专业人员来讲有些深度,感觉理解困难也可以略过,不会影响后续学习。
第 8-11 章结构化数据是重点,这里讲述的结构化数据概念知识比专业的数据库教科书还要更广泛深入,即使有过 SQL 经验者也需要重新学习,不过这部分理解难度并不大,特别是有了前面对象概念之后。而且 SPL 的结构化数据运算具有很好的一致性,概念和风格在整个 SPL 体系中是统一的,而且和前面讲过的集合运算的理念也是一脉相承的。相比之下,Python 发明出太多种适应不同场景的不同对象,让人很难记忆和理解。
第 12 章图形可以作为选读内容,现在可视化工具很多,也不一定需要用 SPL 绘图,不过理解这些绘图原理后可以画出一些自己发明的特色统计图表。

上面的图书链接中在每章后都附有一些练习题,习题 中有更多综合性的练习,跟贴中有例子数据集供下载。
SPL 常规数据表运算 SPL 游标上的常规运算 介绍了针对文本文件的常用 SPL 函数。
进一步,运算示例 还有更多的示例代码可供练习和参考。其中的 文件处理 列举了一些针对数据文件的常见任务。

关于 Excel 用户和数据分析人员

对于日常处理 Excel 的表哥表姐和某些数据分析人员,大部分工作是写公式做计算和变换,反而很少会涉及到有流程的程序代码。这种情况下,一方面可以不用学习前面的程序逻辑(SQL 就是这样,使用它不需要理解变量、分支、循环这些概念),另一方面,常见程序语言学以致用的难度确实很大,导致很多人听到编程就会自认为学不会而放弃,总觉得像 Excel 那样写几个公式要比学会编程容易得多,希望能跳过这部分能直接学一种不用编程就能做 Excel 处理或数据分析的技能。
其实,这些程序基础逻辑并不难,比掌握 Excel 的 VLOOKUP 都要容易,难度更远远低于数据分析中会用到复杂函数(比如 DAX)。而且有了这些知识后,写公式做计算时也会更得心应手(比如可以引入中间变量)。之所以觉得难,是因为流行的程序语言不够简易,人为把这个难度拔高了。对于 SPL 则并没有这个问题,所以,建议仍然以上面的次序学习,而不要跳过基础部分。

Excel 示例集 的第一章介绍了一些常见的 Excel 文件处理和运算方法,这是日常数据处理中经常碰到的任务;第二章介绍了 SPL XLL 的用法,使用这个插件可以直接在 Excel 中编写 SPL 代码来强化 Excel 的计算能力;第三章介绍利用剪贴板和 Excel 交互的方法;之后是收集整理了上百个 Excel 计算示例,涵盖了日常工作的各个方面,熟悉这些示例就能对 SPL 函数有更全面的掌握,技能需要在实践中练习。
桌面处理板块 将持续收集桌面数据处理的相关问题并做解答,可用为进一步的代码参考。