PowerQuery动态加载M公式
Power Query 是Excel中的强大数据处理与转换工具,如果需要“动态”处理数据,大家第一时间想到的是可以使用VBA,利用代码创建M公式,进而创建PQ查询,但是复杂的M公式可能有很多行, 使用VBA处理起来并不是很方便,并且用户打开工作簿文件时必须启用宏功能,代码才能发挥作用。
其实无需借助VBA,PQ内置功能就可以实现动态加载M公式,接下来使用一个简单的PQ示例进行演示。这个技巧通常用于动态执行Power Query脚本或表达式,允许在运行时构建和执行Power Query代码,以满足特定的需求。
基础原始数据保存在A列和B列中,使用PQ按照第一列统计汇总销售额,结果保存在E1开始的单元格区域,效果如下图所示。

PQ公式如下。
let源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],更改的类型 = Table.TransformColumnTypes(源,{{"Date", type date}, {"Sales", Currency.Type}}),分组的行 = Table.Group(更改的类型, {"Date"}, {{"TotalSales", each List.Sum([Sales]), type nullable number}})
in分组的行
新建一个文本文件,将PQ公式保存为文本文件,此处文件名称为TotalSales.m,保存在D:\Temp目录中,如下所示。

新建一个PQ查询,在【高级编辑器】中替换为如下公式。
letSource = Text.FromBinary(File.Contents("d:\temp\TotalSales.m")),EvaluatedFormula = Expression.Evaluate(Source, #shared)
inEvaluatedFormula
如下图所示。

保存查询,关闭PQ编辑器并上载至H1单元格开始的区域,如下图所示。

【代码解析】
使用 File.Contents 函数从文件 d:\temp\TotalSales.m 中读取文本内容,然后将这个文本内容作为表达式传递给 Expression.Evaluate 函数。同时,#shared 作为第二个参数传递给 Expression.Evaluate,以便表达式能够访问Power Query中共享的函数和变量。
注意:使用 Expression.Evaluate 时要小心,确保表达式的来源可信,以避免潜在的安全问题。
相关文章:
PowerQuery动态加载M公式
Power Query 是Excel中的强大数据处理与转换工具,如果需要“动态”处理数据,大家第一时间想到的是可以使用VBA,利用代码创建M公式,进而创建PQ查询,但是复杂的M公式可能有很多行, 使用VBA处理起来并不是很方…...
2分钟搭建FastGPT训练企业知识库AI助理(Docker部署)
我们使用宝塔面板来进行搭建,更方便快捷灵活,争取操作时间只需两分钟 宝塔面板下安装Docker 在【软件商店中】安装【docker管理器】【docker模块】即可 通过Docker安装FastGPT 通过【Docker】【添加容器】【容器编排】创建里新增docker-compose.yaml以下…...
TDengine函数大全-字符串函数
以下内容来自 TDengine 官方文档 及 GitHub 内容 。 以下所有示例基于 TDengine 3.1.0.3 TDengine函数大全 1.数学函数 2.字符串函数 3.转换函数 4.时间和日期函数 5.聚合函数 6.选择函数 7.时序数据库特有函数 8.系统函数 字符串函数 TDengine函数大全CHAR_LENGTHCONCATCONCA…...
part-02 C++知识总结(类型转换)
一.C常用的类型转换函数 在C中,有几种自带的类型转换函数可以用于不同类型之间的转换。以下是其中一些常用的自带类型转换函数: 1.隐式转换(Implicit Conversion) 数字类型之间的隐式转换,例如将int转换为float、do…...
stable diffusion实践操作-图生图
本文专门开一节写图生图相关的内容,在看之前,可以同步关注: stable diffusion实践操作 正文...
Jtti:Ubuntu18.04如何修改远程ssh端口号
要在Ubuntu 18.04上修改SSH的远程端口号,您需要编辑SSH服务器配置文件并指定新的端口号。以下是具体的步骤: 以root或具有sudo权限的用户登录到您的Ubuntu服务器。 备份SSH配置文件(可选): 在进行任何更改之前&…...
微软表示Visual Studio的IDE即日起开启“退休”倒计时
据了解,日前有消息透露称,适用于 Mac平台的Visual Studio集成开发环境(IDE)于8月31日启动“退休”进程。 而这意味着Visual Studio for Mac 17.6将继续支持12个月,一直到2024年8月31日。 微软表示后续不再为Visual Studio for Mac开发…...
好马配好鞍:Linux Kernel 4.12 正式发布
Linus Torvalds 在内核邮件列表上宣布释出 Linux 4.12,Linux 4.12 的主要特性包括: BFQ 和 Kyber block I/O 调度器,livepatch 改用混合一致性模型,信任的执行环境框架,epoll 加入 busy poll 支持等等,其它…...
element——switch接口成功后赋值打开开关
应用场景 基本用法使用v-model双向绑定值,进行开关控制 例子1:需求: **点击switch,出弹窗,点击弹窗保存按钮调接口成功后再赋值(row.orderButtonValue“1”)打开switch开的状态变颜色。 在vue 中使用 :va…...
WPF Border设置渐变色
背景色渐变 <Border> <Border.Resources> <Style TargetType"Border"> <Setter Property"Background"> …...
SAP_ABAP_OLE_EXCEL批导案例
SAP ABAP顾问能力模型梳理_企业数字化建设者的博客-CSDN博客SAP Abap顾问能力模型https://blog.csdn.net/java_zhong1990/article/details/132469977 一、OLE_EXCEL批导 1.1 下载按钮 1.2 选择EXCEL上传,解析EXCLE数据, Call屏幕。 1.3 实现效果 1.4…...
MySQL以及版本介绍
一、MySQL的介绍 MySQL数据库管理系统由瑞典的DataKonsultAB公司研发,该公司被Sun公司收购,现在Sun公司又被Oracle公司收购,因此MySQL目前属于 Oracle 旗下产品。 MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用…...
stm32 iap sd卡升级
参考:STM32F4 IAP 跳转 APP问题_stm32程序跳转_古城码农的博客-CSDN博客 app程序改两个位置 1.程序首地址: 2.改中断向量表位移,偏移量和上面一样就可以 然后编译成bin文件就可以了...
D358周赛复盘:哈希表模拟⭐⭐+链表乘法翻倍运算(先反转)⭐⭐⭐
文章目录 2815.数组中的最大数对和思路完整版 2816.翻倍以链表形式表示的数字(先反转,再处理进位)思路完整版 补充:206.反转链表(双指针法)完整版 2817.限制条件下元素之间的最小绝对差(cpp不知…...
java八股文面试[数据库]——索引的基本原理、设计原则
索引的设计原则 索引覆盖是什么: 索引(在MySQL中也叫做“键(key)”) 是存储引擎用于快速找到记录的一种数据结构。这是索引的基本功能。 索引对于良好的性能非常关键。尤其是当表中的数据量越来越大时,索引…...
2023年京东方便食品行业数据分析(京东数据报告)
疫情中方便食品的销售一度火爆,但随着当前消费场景的开放,方便食品销售又恢复常态并开始下滑。根据鲸参谋电商数据分析平台的相关数据显示,今年7月份,京东平台方便食品的销量为800万,环比降低约23%,同比降…...
无涯教程-Android - Style Demo Example函数
下面的示例演示如何将样式用于单个元素。让我们开始按照以下步骤创建一个简单的Android应用程序- 步骤说明 1 您将使用Android Studio IDE创建一个Android应用程序,并在 com.example.saira_000.myapplication 包下将其命名为 myapplication ,如中所述您好世界Example一章。 2 …...
【算法训练-字符串 二】最长回文子串
废话不多说,喊一句号子鼓励自己:程序员永不失业,程序员走向架构!本篇Blog的主题是【最长回文子串】,使用【字符串】这个基本的数据结构来实现,这个高频题的站点是:CodeTop,筛选条件为…...
结合OB Cloud区别于MySQL的4大特性,规划降本方案
任何一家企业想要获得持续性的发展与盈利,“降本增效”都是难以绕开的命题。但是“一刀切”的降本影响往往不太可控,成本的快速收缩往往会给业务带来低效运营和增长缓慢的风险。所以我们所说的降本,是指在成本降低的同时,效率不降…...
题目有点太简单了,不知道怎么选了
有个公司给了下面一个题目,看了下太简单了,都怕选错了。 后来拿着程序跑了下,就是这个意思嘛。 结论 程序跑出来的结果就是对输入的列表进行倒序排列。 public void testGetPut() throws Exception {List<Integer> numbers List.of(…...
当Abaqus自带模型不够用:3D Hashin失效准则VUMAT开发心路与参数调试经验谈
突破Abaqus复合材料仿真边界:三维Hashin失效准则开发实战全解析 当面对纤维增强复合材料的复杂失效行为时,Abaqus内置的二维Hashin准则常常显得力不从心。作为一名长期深耕复合材料损伤模拟的工程师,我曾花费六个月时间从理论推导到代码实现完…...
STM32F103 平行替代方案全面分析(2026 年最新)
STM32F103 作为全球最经典的 Cortex-M3 MCU,凭借成熟的生态和广泛的应用基础统治了中低端嵌入式市场十余年。但近年来受国际供应链波动影响,其价格持续走高(2026 年 5 月 STM32F103C8T6 批量价约 8-12 元,部分型号甚至超过 20 元&…...
APK Installer:在Windows上轻松安装Android应用的完整指南
APK Installer:在Windows上轻松安装Android应用的完整指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer APK Installer是一款专为Windows系统设计的Andro…...
ADF4350频点锁定与电源滤波实战:为什么你的VCO输出有噪声?加个钽电容试试!
ADF4350频点锁定与电源滤波实战:为什么你的VCO输出有噪声?加个钽电容试试! 在射频电路设计中,ADF4350作为一款集成VCO的宽带频率合成器,因其出色的性能和灵活性广受工程师青睐。然而,许多开发者在实际应用中…...
Linux GPIO框架深度解析:从用户空间到内核驱动的完整路径
1. 项目概述:为什么要在Linux下研究GPIO?搞嵌入式开发的朋友,对GPIO(通用输入输出)肯定不陌生。它就像芯片的“手脚”,负责最简单的电平控制和信号读取。在单片机时代,我们通常直接操作寄存器&a…...
基于RK3568的智能家居控制器:硬件选型、架构设计与软件实现全解析
1. 项目概述:为什么选择RK3568作为智能家居控制器的“大脑”?在智能家居这个赛道里摸爬滚打了十来年,我经手过不少方案,从早期的单片机到后来的ARM Cortex-A系列,再到如今百花齐放的各类SoC。每次做产品选型࿰…...
FPGA设计避坑指南:Vivado里那些红色和橙色的时钟交互框到底意味着什么?
FPGA设计避坑指南:Vivado里那些红色和橙色的时钟交互框到底意味着什么? 在FPGA设计的世界里,时钟信号就像城市交通系统中的红绿灯,协调着数据流的行进节奏。而当多个时钟域交汇时,就如同多个交通系统试图相互对接——如…...
九成中老年为之困扰:隐秘的足部护理刚需,正催生一条翻倍增长赛道
拆解银发足部经济的掘金逻辑作者 | AgeClub任子勋前言中老年足部护理,这个长期游离在大众视野之外的隐秘需求,正促成一桩热门生意。在城市商圈、社区街道上,路人经常能遇到大小不过10余平米的足部护理店。这些门店鲜有网络营销造势࿰…...
阿里云峰会大切换:云计算三十年首换用户,全栈重做能否驱动飞轮?
【阿里云峰会现场,信息量惊人】5月20号,在杭州举办的阿里云峰会,场馆外早已排起长队。原本以为只是例行发布会,进去后却发现展区密度远超预期。AI原生应用全家桶、合作伙伴展台,还有超节点服务器实体,一路看…...
5015系列圆形连接器选型避坑指南
【导语】 在做工业设备或者车载系统时,连接器看似一个小零件,却往往是整个系统失效的重灾区。最近在复盘几个项目故障案例时发现,很多工控设备在振动和潮湿环境下宕机,根源都出在连接器选型不当上。今天我们就来深扒一下业内经典的…...
