首页
学习
活动
专区
工具
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或特定电脑环境下出现的问题

7.2K20
  • 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[营业额]表示提成比例表里的营业额列,而最后面的[

    60840

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

    小勤:我现在有个按营业额不同等级的提成比例表,怎么用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.9K20

    这个用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.6K31

    一次性学懂Excel中的Power Query和Power Pivot使用

    点击“博文视点Broadview”,获取更多书讯 传统的Excel单表虽然可以有100万行数据的承载量,但是在实际分析时,20万行的数据就已经让传统的Excel非常吃力了。...但是,如果使用Excel中的Power Query和Power Pivot商务智能组件,即使是上百万行数据,也可以在短时间内快速完成处理和分析。...那么,有没有一本书可以一次性讲解Power Query和Power 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

    9.3K20

    BI错误处理。

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

    2.8K30

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

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

    90020

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

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

    1.3K51

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

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

    1.1K40

    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,会发现它会对工作流程产生巨大的影响。

    5.1K31

    读取上一行数据好卡啊!怎样能快一点儿? | 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.9K22

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

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

    83060

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

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

    1.4K40

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

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

    3.5K21

    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[总分]>[总分]

    75230

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

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

    81510

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

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

    1.9K20
    领券