[已解决] 请问:PQ中如何取得当前记录的行号

  [复制链接]
查看175831 | 回复152 | 2021-2-19 00:10:44 | 显示全部楼层 |阅读模式
1、表函数是ROW(),请问:PQ中取得当前记录的行号怎么描述?
谢谢!
回复

使用道具 举报

8A机头 | 2021-2-19 00:17:44 | 显示全部楼层
先添加索引列
回复

使用道具 举报

【壟】 | 2021-2-19 00:20:44 | 显示全部楼层
先添加索引列


谢谢回复。为了实现不断地追加合并,PQ查询的数据源修改为“该查询的加载表”。PQ查询有添加索引列的语句,所以该表已经有了索引列,而再次刷新查询,运行到添加索引列语句时就报错。我的设计需要要有总序号列,由于不断追加合并,需要1、或者更新索引列,只是不知有没有更新语句的写法。2、或者获得行号,替换索引列的值。我现在是这样暂时实现总序号列:查询开头写 删除索引列,查询结尾再添加索引列。不知还有没有其他方法实现。
回复

使用道具 举报

梦幻芭蕾 | 2021-2-19 00:25:45 | 显示全部楼层
,看不懂,还没达到你们说的地步
回复

使用道具 举报

樱子 | 2021-2-19 00:33:45 | 显示全部楼层
谢谢回复。为了实现不断地追加合并,PQ查询的数据源修改为“该查询的加载表”。PQ查询有添加索引列的语句 ...


我猜应该是你加索引的步骤有问题,没看到数据,所以不太明白。
回复

使用道具 举报

nomadii | 2021-2-19 00:39:45 | 显示全部楼层
谢谢各位高手耐心解答。不用考虑我的表的计算方法。

问题这样问:
想获得当前记录的行号(记录号、偏移量,总之要反映当前记录在整列的顺序号),不用索引列的方法,有没有其他方法?
回复

使用道具 举报

sivayang | 2021-2-19 00:42:45 | 显示全部楼层
我猜应该是你加索引的步骤有问题,没看到数据,所以不太明白。


感谢您!我这几天的提问,归根结底是要实现:增加一列,该列是另一列的错1位的数值。比如:原来的列是{10,20,80,100},新增的列是{x,10,20,80},(x是最初的起始值,由计算得出)
想了好多思路,所以问了几个看似没有关联的问题。目前,该问题我通过以下方法实现了,其中的 List.Sum(List.RemoveNulls({[借方发生额],-[贷方发生额],[余额]})) 公式还是您教我的。
麻烦看看程序是不是有些繁琐、绕弯了。有没有一个函数、一行命令就搞定的方法。再次感谢!

let
  源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
  更改的类型 = Table.TransformColumnTypes(源,{{"序号", type number}, {"借方发生额", type number}, {"贷方发生额", type number}, {"余额", type number}}),


  定义偏移值 = Table.AddColumn(更改的类型, "偏移值", each [序号]-2, type number),

  原来的余额列=Table.Column(定义偏移值,"余额"),       //取得“余额”列的各个值

  添加期初余额列 = Table.AddColumn(定义偏移值, "期初余额", each if [偏移值] >=0 then 原来的余额列{[偏移值]} else List.Sum(List.RemoveNulls({[借方发生额],-[贷方发生额],[余额]})), type number)

in
  添加期初余额列
回复

使用道具 举报

东莞高步康 | 2021-2-19 00:49:46 | 显示全部楼层
本帖问的行号、顺序号的问题,倒不是真要得到行号,而是要得到 原来的余额列{[偏移值]}  中的{[偏移值]}这个写法。
回复

使用道具 举报

肥宝 | 2021-2-19 00:53:46 | 显示全部楼层
我觉得可以通过把原来的表ToColumns,然后加上新列,再FromColumns解决
回复

使用道具 举报

毛小子 | 2021-2-19 00:59:46 | 显示全部楼层
我觉得可以通过把原来的表ToColumns,然后加上新列,再FromColumns解决


好的,我上班后试试。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则