首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

尝试使用变量作为Excel Power Query SelectRows行中的字段名称时出错

在Excel Power Query中,使用变量作为SelectRows函数的行字段名称时可能会出错。这是因为Power Query在编译查询时无法识别变量作为字段名称。

解决这个问题的方法是使用动态查询。动态查询是指在查询中使用表达式来构建查询语句。通过将变量嵌入到查询表达式中,可以实现动态选择行字段名称。

以下是一个示例,展示了如何使用动态查询来解决这个问题:

  1. 首先,创建一个变量来存储要选择的字段名称,例如:fieldName = "字段名称"
  2. 然后,在SelectRows函数中使用表达式来构建查询语句,例如:#"选择行" = Table.SelectRows(#"上一步的查询名称", each [fieldName] = "要选择的值")

在这个示例中,fieldName是一个表达式,它将变量的值作为字段名称进行选择。

通过使用动态查询,您可以根据变量的值选择行字段名称,从而解决使用变量作为SelectRows行字段名称时出错的问题。

关于Excel Power Query的更多信息和示例,请参考腾讯云的相关产品和文档:

请注意,以上答案仅供参考,具体实现方式可能因Excel版本和具体需求而有所不同。建议您根据实际情况进行调整和实验。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

常见9种错误提示、原因及解决办法!|PQ实战

很多朋友在使用Power Query过程,经常会碰到一些感觉看不懂错误提示,现总结9种常见情况收藏如下,也方便大家碰到问题可以搜寻得到: 1、找不到名为“示例操作数据源!..._FilterDatabase”Excel表 原因:Power Query查询步骤引用表被删除,或表名被变更。...、提升标题后出现数据转换错误 这一般都是数据类型转换错误,当出现错误不多是,可以直接点击链接生成错误明细表,进入Power Query查看每一出错具体情况然后做相应处理。...8、枚举没有足够元素来完成该操作 原因:要从表或列表里提取或项不存在。比如,经过筛选后表或列表为空,这个时候要通过标号进行数据提取,将出错。...解决办法:使用Table.SelectRows等函数代替列值引用法 Power Query错误提示其实非常多,而且同样一个错误,往往可能在不同场景下出现,还有一些错误是某些版本bug或特定电脑环境下出现问题

3.4K20

Power Query匿名函数是什么鬼?这个例子最典型了。

小勤:我现在有个按营业额不同等级提成比例表,怎么用Power Query读到营业额数据表里?如下图所示: 大海:这个问题如果是在Excel里的话,用Lookup函数非常简单。...虽然PQ里没有Lookup函数,但是,用PQ处理也不复杂,主要是使用Table.SelectRows和Table.Last函数来实现。...: 1、用Table.SelectRows函数筛选提成比率表里营业额小于数据源表当前行营业额所有数据,类似于在Excel做如下操作(比如针对营业额为2000,到提成比例表里取数据):...那么,Table.SelectRows结果如下图所示: 2、在Table.SelectRows得到相应结果后,我们就可以用Tabe.Last该结果最后一,即: 3、得到筛选表最后一后,要取提成比例...大海:这其实是Table.SelectRows进行筛选表操作条件,这相当于将一个自定义函数用于做条件判断,其中(t)表示将提成比例表作为参数,而t[营业额]表示提成比例表里营业额列,而最后面的[

57040

PQ-M及函数:实现Excellookup分段取值(如读取不同级别的提成比例)

小勤:我现在有个按营业额不同等级提成比例表,怎么用Power Query读到营业额数据表里?如下图所示: 大海:这个问题如果是在Excel里的话,用Lookup函数非常简单。...虽然PQ里没有Lookup函数,但是,用PQ处理也不复杂,主要是使用Table.SelectRows和Table.Last函数来实现。...Table.SelectRows函数筛选提成比率表里营业额小于数据源表当前行营业额所有数据,类似于在Excel做如下操作(比如针对营业额为2000,到提成比例表里取数据): 那么,Table.SelectRows...结果如下图所示: 2、在Table.SelectRows得到相应结果后,我们就可以用Tabe.Last该结果最后一,即: 3、得到筛选表最后一后,要取提成比例,即可以直接用“提成比例”字段名来得到...大海:这其实是Table.SelectRows进行筛选表操作条件,这相当于将一个自定义函数用于做条件判断,其中(t)表示将提成比例表作为参数,而t[营业额]表示提成比例表里营业额列,而最后面的[

1.7K20

这个用Power Query操作步骤太多了,还不如用VBA?

说实话,步骤真是特么多(TMD),不计算开始数据导入Power Query和最后结果返回Excel,步骤仍然有11个之多,能静下心来看完朋友,真是给了我莫大鼓励…… 所以,难怪我好友都看不下去了...然后,再回到这个问题,如果是Power Query解,又不想用那么多步骤,怎么办——那就用函数写个公式呗: try Table.SelectRows( 对照表, (...t)=>Text.Contains([物料名称],t[关键词]) ){0}[分类] otherwise "其他" 公式思路: 尝试(try)用物料名称是否包含关键词条件(Text.Contains...)对表进行筛选(Table.SelectRows) 对筛选结果取第一({0})([分类])列内容 如果没找到(otherwise),就填“其他” 复杂吗?...在线M函数快查及系列文章链接(建议复制到浏览器打开后收藏使用): https://app.powerbi.com/view?

1.5K30

一次性学懂ExcelPower QueryPower Pivot使用

点击“博文视点Broadview”,获取更多书讯 传统Excel单表虽然可以有100万数据承载量,但是在实际分析,20万数据就已经让传统Excel非常吃力了。...但是,如果使用ExcelPower QueryPower Pivot商务智能组件,即使是上百万行数据,也可以在短时间内快速完成处理和分析。...那么,有没有一本书可以一次性讲解Power QueryPower Pivot在Excel使用呢?...5.3 获取和删除各种数据实战 5.3.1 使用Table.Skip函数和Table.SelectRows函数筛选 5.3.2 获取和删除指定文本值指定字符 5.3.3 获取和删除列表元素...“条件格式” 9.2 在DAX中使用VAR变量 9.2.1 关于VAR变量 9.2.2 使用变量应该避免错误 9.3 常见DAX函数和实际案例应用 9.3.1 实例1:使用CONCATENATEX

8.8K20

BI错误处理。

Excel 和 DAX 语言具有IFERROR函数方式类似,Power Query具有自己语法来测试和捕获错误。...备注为了演示此概念,本文将使用 Excel 工作簿作为其数据源。 此处展示概念适用于Power Query所有值,而不仅仅是来自 Excel 工作簿概念。...将此表导入Power Query编辑器,下图显示了表外观。请注意 Excel 工作簿错误如何随每个单元格值一起 [Error] 显示。本文介绍如何将错误替换为另一个值。...使用本文中介绍概念,可以从错误记录定位所选任何字段。选择错误值旁边任意空格,将获取屏幕底部详细信息窗格。...此操作将公开三个新字段:所有 Errors.HasError - 显示 标准速率 列值是否出错

2.7K30

Power Query 系列 (12) - Power Query 结构化列应用案例

本篇数据处理来自一个实际处理数据简化。下图中,假设左边是一个直观 BOM 结构展示,数据在 Excel 存储格式如中间部分所示:第一列为物料编码级别,第二列为物料编码。...数据处理任务:需要在 Excel 增加一列输出物料编码上一级物料编码(目标为黄色部分)。...Query (PQ) 做相同处理。...将 Excel 工作表 BOM 数据通过 Ctrl + T 变成 Excel Table,加载到 Power Query 查询编辑器(操作过程可以参考我之前博客),此时界面如下。...我们后面可以对结构化列进行展开 (expand),获得我们想要数据,这种数据处理方法跟 Excel 有着天壤之别,后面我们还将通过其它示例,领会和掌握结构化列使用方法。

1.1K50

只是一个简单分区间问题?No,我要告诉你更通用表间数据匹配方法!

大海:类似这种分区间问题,我一般建议作为数据预处理一部分,即放在Power Query里进行处理,在Power Pivot里即可以用于做相应计算。...所以,我在以前Power Query方面的文章《PQ-M及函数:实现Excellookup分段取值(如读取不同级别的提成比例)》里讲过类似的解法。...(“单价_min”和“单价_max”)进行筛选(函数FILTER),得到产品单价归属区间; 通过VALUES函数取回对应区间列数据。...小勤:这个其实跟Power QueryTable.SelectRows筛选得到某行然后再取值思路很像啊。 大海:对,实际思路都是差不多,就是公式写法不一样而已。...在线M函数快查及系列文章链接(建议复制到浏览器打开后收藏使用): https://app.powerbi.com/view?

98140

Power Query 真经 - 第 1 章 - 基础知识

使用第 1 内容作为各自列标题,取代了之前无意义 Column1、Column2 等列标题,如图 1-8 所示。...Power Query 操作可以大胆尝试,不会出现任何风险。从这个意义上:单位时间内尝试次数决定了学习掌握 Power Query 学习时间。)...要重命名 “Source” 步骤,需要编辑查询 M 代码。 1.4.2 重命名查询 默认情况下,一个查询步骤会使用数据源名称作为查询名称。...不幸是,当一个新 Excel 文件被启动,【查询 & 连接】窗口需要手动打开,这可能会使人们出错。...图 1-21 数据已经从 4,575 加载到 4,921 1.7 Power Query 价值 一旦习惯使用 Power Query,会发现它会对工作流程产生巨大影响。

4.7K31

读取上一数据好卡啊!怎样能快一点儿? | Power Query案例实战

做数据处理时候,会经常遇到在当前行读取上一数据问题,在Excel里,可以直接通过单元格相对引用来实现。 但是,在Power Query里,这个问题处理起来需要通过表索引来实现。...具体如下: Step-01 添加从0开始索引列 Step-02 添加自定义列,通过索引筛选上一数据并取值 = try Table.SelectRows( 已添加索引,...这两个查询如果放在Power BI运行,你会发现,索引筛选法会不断地读取excel文件数据,显示接入数据不断增大!...10000,合并查询法接入数据仅518KB,而索引筛选法接入数据更是增长到1.1GB,是合并查询法接入数据近2000倍!...在使用Power Query或者Power BI过程,尤其是数据量较大情况下,的确可能会碰到数据刷新较慢情况,这时,我们就可以多想一下,在哪些方面可能可以适当改进?是否可能换个更好方法?

2.2K20

怎么剔除部分列求和?1个小问题,8集免费视频 | PQ基础到实战

- 1 - 日常使用Power Query过程,大家可能会对表(Table)、列(List)筛选部分数据比较熟悉,但是,如果是对于一(Record),要筛选(或剔除)部分列(字段)进行计算,那该怎么办呢.../Z以外其他列进行求和,那么,当仓库发生变化时,就极可能出错——仓库多了,有部分没算上;仓库少了,会因为找不到列而出错: - 2 - 实际上,要解决这个问题并不难,以下提供两种方法供大家参考。...QueryPower Pivot里,对于同一个问题,往往有很多不同解法,这些都依赖于对基础知识熟练掌握。...针对本文问题,虽然看起来最终使用方便并不复杂,但是,其背后需要对分组、透视等操作,以及对Power Query数据结构、行列数据提取、筛选等都熟练掌握。...| PQ重点函数 透视与逆透视 不到20分钟,彻底理解PQ表、、列及相互转换方法 很多朋友在学PQ、PP时候,经常会感觉:别人给出解决办法,看起来倒挺简单,但自己一动手,却感觉没有思路,无法下手

79520

Power Query 系列 (17) - BOM数据展开应用案例(2)

在本系列第 14 篇,我介绍了类似 BOM 数据应该怎么存储,以及在 Power Query 如何展开。那篇文章使用创建辅助查询方法,从而简化了在查询编辑器操作,小白都是可以理解和掌握。...在编程语言中,循环是一种基础控制结构,是基础东西,但在 PQ 却没有直接循环语句,需要通过函数辅助来实现。...所以,首先考虑将这些重复代码封装在一个函数。在 Power Query ,如果能借助查询编辑器操作地方,尽量在 UI 中进行操作,没必要手写代码。...为了简单,我用查询转换为函数方式来操作: 新建一个空查询,在高级编辑器输入下面的代码: let Level1Table = Table.SelectRows(Hierarchy, each...: - parentTable:父表,尽管现在连接是根据 level 就可以确定,但后面需要迭代逐步变化,所以作为参数 - linkFieldInParent: 父表关联字段,子表关联字段是固定

75160

怎么直接对未展开数据表进行筛选操作?含函数嵌套使用易错点。

小勤:Power Query里,怎么对表中表数据进行筛选啊? 大海:你想怎么筛选? 小勤:比如说我只要下面每个表里单价大于10部分: 大海:这么标准数据和需求,直接展开再筛选就是了啊。...因为你可以通过表(Table)相关函数分别针对每一个表进行,比如筛选可以用Table.SelectRows,筛选列可以用Table.SelectColumns……可以非常灵活地组合使用。...小勤:可是我用Table.SelectRows怎么出错了? 大海:这样当然会出错啊。你在外面这个表里哪里有“数量”这一列? 小勤:外面这个表?...Table.SelectRows不是引用了“订单明细”那一列里每个表吗? 大海:嗯。所以,你想一下,如果你外面大表里也有一列叫“单价”,那,你说这个公式里这个单价,指的是谁呢?...大海:关于each以及函数嵌套参数用法的确是Power Query进阶一个比较难理解点,后面可能需要结合更多例子来训练。 小勤:好。我先理解一下这个。

1.3K40

没有SUMIFS,就不会多条件跨表求和了?

对于很多使用Power QueryPower Pivot朋友来说,工作很容易碰到一个情况就是——按条件求和!...对于这个问题,在Excel很简单,用SUMIFS函数即可,或者如果版本比较低,没有SUMIFS函数,那可以用SUMPRODUCT函数来实现。...其实,这也比较简单,PQ常规解法就是按求和所在行相应数据作为条件对表进行筛选(Table.SelectRows),然后对筛选结果进行列求和(List.Sum)。...如下所示: Power Pivot里实现思路也是一样,通过FILTER函数筛选符合条件数据,然后用SUMX函数进行求和。...其实,对于这个问题解法,无论是ExcelPower Query还是Power Pivot,核心思路都是一样:即通过条件筛选出符合条件数据,然后求和。

3K20

怎么只读取文件夹中最近一天表格?PQ里这个筛选真方便!

但是,即使案例再多,也仅能作为参考,最关键还是要自己把基础知识掌握并熟练运用,这样,再多情况,都可以自己按需处理了——基础和思路是最重要。...实际上,我们如果在用Power Query汇总文件夹数据时候,仔细观察从文件夹读出来相关信息,就可以发现,在文件列表,存在文件对应创建时间、修改时间和访问时间,如下图所示: 那么...“最近一天”不一定是昨天…… 实际上,这个在Power Query里非常简单,因为针对日期/时间筛选,PQ提供了多种筛选方式,大家点开列筛选按钮即可查看。...我们要选择最近一天,即可以选择“最晚”选项,如下图所示: 从简单解决问题角度,上面的筛选非常简单,但是,从学习角度来说,我建议再仔细观察一下Power Query对这个“最晚”选择实现方法...当然,你可以对这个公式进行一定简化,比如改成这样: 即将List.Max所取得最大值直接用作筛选条件,不需要经过先设定变量然后引用过程。 为什么可以这样?

74110

使用Power Query之前一定要这样设置你Excel

Power Query堪称神器,以极低学习成本帮我们在ExcelPower BI自动化很多数据处理工作。但是,稍微不注意,你制作自动化工具可能就会埋下地雷,在下次刷新数据爆炸。...1.埋雷过程 ---- 假设有以下储存在Excel销售数据源,我们将其导入Power Query处理成标准格式。...Excel 2016从“数据”选项卡导入,Excel 2013从"Power Query"选项卡导入,Power BI Desktop在“主页”选项卡“获取数据”导入。...Excel 2016导入界面 在Power Query后台,只需点击“将第一用作标题’,表格即变为规范格式。 "将第一用作标题”动画 设置完成后,尝试刷新,非常顺畅。...遗憾是目前该设置只支持当前工作簿,也就是说你有另外工作任务需要使用Power Query要重新设置。 最后还有一个问题,更改数据类型有没有必要?有。但不是系统帮我们改,而是我们自己改。

1.7K20

Power Query按全级、单位、班别排名

Power Query按全级、单位、班别排名 【问题】 【题前话】:上一次学习了 PQ-计算总分再国际排名中国排名 关键是:List.PositionOf(List.Sort(总分[总分],Order.Descending...),[总分])+1 解析:先把上一步骤:总分列[总分]以列表形式放入每一,再List.Sort降序,再List.PositionOf本行数据在整个列表位置,再加1 例如:100,在[100...,80,60]位置是0,+1,就是第一名啦 今天学习一种新方法 【代码】 let 源 =Excel.CurrentWorkbook(){[Name="表4"]}[Content],...全级排名 =Table.AddColumn(源, "全级排名",each Table.RowCount(Table.SelectRows(源,(r)=>(r[总分]>[总分])))+1), 单位排名...=Table.AddColumn(全级排名, "单位排名", each Table.RowCount(Table.SelectRows(源,(r)=>(r[单位]=[单位]and r[总分]>[总分]

62630
领券