已收录

不会编程怎么写M代码?用自然语言让灵犀帮你搞定WPS QUERY——以城市销售额汇总为例

临商珑胜
临商珑胜 WPS产品体验官Lv.3 优质创作者

Lv.3 优质创作者

  不会编程也能玩转 WPS QUERY 的 M 语言代码?把需求说给灵犀AI听,代码它来写、你只管贴——本文以"按城市汇总销售额"为例,全流程实战演示,附可直接复制的完整 M 代码。

  一天,小白探头问我:"哥,我不会编程,WPS QUERY 的界面操作也只懂个皮毛。听说 M 语言函数功能更强大,有没有最简单方便的方法,让我也能写 M 代码完成数据分析任务?"

  "有。"我把他的椅子拉过来,"灵犀AI,直接用对话写——你说人话,它出代码。你刚才那句'我不会编程',本身就是最好的提示词。"

  小白眼睛一亮:"你是说,我只要把需求告诉灵犀,M 代码它来写?"

  "是的。不太复杂的数据分析活儿,会和它'说话'就行。"

  "那你一定要教教我!"小白一副迫不及待的表情,已经掏出了手机准备录屏。

  我把他手机按下去:"别急,先听我讲完——不然我啰嗦半天,你录完一分钟就忘。"

一、先弄明白:M语言是个啥,为啥不用怕

  一句话:M 语言是 WPS QUERY 背后的"指令语言"。你在查询界面上点的每一下,其实都被翻译成了一行行 M 代码。

  打个比方:图形界面是"自动挡",M 代码是"手动挡"——手动挡更灵活,能干自动挡干不了的精细活。以前不会开手动挡只能干瞪眼,现在不一样了,灵犀帮你踩离合,你只管说去哪儿。

  其实核心就三句话,我竖起三根手指:

步骤

你要做的

谁替你干

第一步

用自然语言把需求说清楚

你自己,要会说话,不能是哑巴

第二步

把需求翻译成 M 代码

灵犀AI

第三步

把代码贴进高级编辑器,运行、上载

WPS QUERY

📌

你不会写代码,灵犀来帮忙,生成代码替你干活。

二、实战:一句话,灵犀替你写出汇总代码

  1. 准备练习数据

  我打开电脑,在桌面的"WPS_Query练习数据"文件夹里找到一个名为"1月销售.xlsx"的文件,双击打开。

  "今天就拿这个练手。"我指着屏幕上的销售明细表,"1月份销售数据,字段有日期、城市、产品、销量、销售额。我试试用灵犀写一段 M 代码,把每个城市的销售额汇总算出来。"

  1. 把需求说给灵犀听

关闭工作表,我打开灵犀,上传"1月销售.xlsx"文件,然后切换到对话模式。

  我把光标定位在灵犀的输入框里,对小白说:"看好了,就这么简单的一句话。"

  小白凑近屏幕,看着我在灵犀对话框里敲下一行字——

帮我写一段M代码,统计1月销售表中每个城市的销售额总和。

  灵犀几乎没有停顿,不到三秒就返回了一段整洁的 M 代码。

  1. 灵犀给出的完整代码(可直接复制)
let
    // 1. 从工作簿读取"1月销售"工作表(路径请按实际文件位置修改)
    源 = Excel.Workbook(File.Contents("C:\Users\Administrator\Desktop\WPS_Query练习数据\1月销售.xlsx"), null, true),
    数据 = 源{[Item="1月销售", Kind="Sheet"]}[Data],

    // 2. 提升首行为标题
    提升标题 = Table.PromoteHeaders(数据, [PromoteAllScalars=true]),

    // 3. 确保销售额为数值类型
    更改类型 = Table.TransformColumnTypes(提升标题, {{"销售额", type number}}),

    // 4. 按城市分组:汇总销售额
    分组的行 = Table.Group(更改类型, {"城市"}, {{"销售额汇总", each List.Sum([销售额]), type number}}),

    // 5. 按销售额降序排列
    排序 = Table.Sort(分组的行, {{"销售额汇总", Order.Descending}})
in
    排序

  你看,灵犀不但把活干了,还自动加了分步注释,连变量名都用中文——源、提升标题、更改类型、分组的行、排序,跟说明书似的。更贴心的是,我只说"汇总",它顺手把结果按销售额从高到低排了序。

  1. 这段代码怎么解读?小白也能看懂

  小白盯着代码看了几秒,问我:"这些 let、in、Source 都是啥意思?"

  "别急,一步一步来。"我指着代码第一行,"let 是整个查询的起点,in 是终点,中间每一步都像搭积木,只依赖上一步。你看'源'那行,就是告诉 WPS QUERY 从哪个工作簿取数据的入口。"

代码关键词

白话解释

let … in

查询的起点和终点,中间按顺序搭积木

源 = Excel.Workbook(File.Contents(路径))

告诉 WPS QUERY 从哪个文件取数据(入口)

Table.PromoteHeaders

把表格第一行提升为列标题

Table.TransformColumnTypes

把"销售额"列规定为数值类型

Table.Group + List.Sum

按城市分组,各组销售额求和

Table.Sort

按销售额汇总降序排列

  1. 贴进高级编辑器,运行出结果

  我把它复制下来,重新打开"1月销售.xlsx",点击**"数据"选项卡 →"来自表格/区域"**,进入 WPS QUERY 的图形操作界面。

  接着打开高级编辑器——里面是 WPS QUERY 自动生成的初始代码。 全选删掉,或直接CTRL+V覆盖把灵犀那段 M 代码整个粘贴进去,点"保存"。

 

  代码贴进去之后,右侧预览区立刻刷新出结果——广州、北京、上海、成都、深圳、杭州这六个城市各自的销售额汇总,整整齐齐排成一列,从高到低一目了然。

三、数据变了怎么办?改个路径就能复用

  小白盯着结果看了半天,突然问我:"哥,那要是数据变了——比如2月份又来了新销售数据,我还得重新让灵犀写一遍代码吗?"

  "不用,那多笨。"我摇摇头,"在 M 代码里改一下文件路径就好了!"

  我从桌面文件夹里找到"2月销售.xlsx",按住 Shift 键右键点击文件,选择"复制文件地址"(Windows 实用小技巧),把路径 C:\Users\Administrator\Desktop\WPS_Query练习数据\2月销售.xlsx 替换到代码里的 File.Contents("……") 参数中;再把工作表名改成"2月销售"(如果工作表名和上一个相同,这步连改都不用改),刷新查询——2月的数据自动跑出来了。

  改动总共就两处:

改哪里

怎么改

File.Contents("……1月销售.xlsx")

换成新文件的完整路径

[Item="1月销售", Kind="Sheet"]

换成新工作表名(同名可不改)

  小白又看呆了:"就改个路径,换个月份,代码不用动?"

  "对,代码逻辑是通用的,数据随便换。"

四、记个用灵犀写M代码三步口诀:

最后,我给小白总结了个口诀:

一说需求,二拿代码,三贴进去跑一跑;
月月换数据,只改路径不用愁。

  三个提醒,帮你少走弯路:

  1. 需求要对灵犀说清楚:数据在哪个文件、有哪些字段、要按什么汇总——说得越具体,代码一次到位;

  1. 复杂需求多聊几句:一次不满意,就接着让灵犀在上一版代码上继续改,比如加个"只看销量前3的城市";

  1. 路径按实际改:代码里的文件路径要换成自己电脑上的真实位置,查询结果才能正常刷新。

  "行,我回去就拿这个月的报销单数据试试灵犀!"小白心满意足地收拾东西,"搞定请你喝奶茶。"


📌

总结:用灵犀写 M 代码,不需要特别精通M语言编程——说清楚需求,复制粘贴代码,改个路径就能复用。会"说话"就能做数据分析,门槛就这么被踩平了。

临商珑胜WPS知识库
@孙胜龙
山东省
浏览 237
收藏
13
分享
13 +1
4
+1
全部评论 4
 
拾光漫行
老师又出教程了,还这么早的时间,这么早就能吸取到老师的知识,美好的一天
   重庆
举报
0
1
临商珑胜
临商珑胜WPS产品体验官Lv.3 优质创作者

Lv.3 优质创作者

年纪大了,在宾馆睡不着,早早醒了
· 山东省
举报
0
0
 
HC.旋
HC.旋 WPS资深用户Lv.3 优质创作者WPS寻令官KVPWPS产品体验官

Lv.3 优质创作者

给孙老师点赞,还能配合灵犀这样用,厉害了
   福建省
举报
0
1
临商珑胜
临商珑胜WPS产品体验官Lv.3 优质创作者

Lv.3 优质创作者

本事不够,灵犀来凑!以后还得好好向洪老师学习专业的WPS QUERY知识!
· 山东省
举报
0
0