Power Query中如何删除列内每个列表的第一行?
Power Query中如何删除列内每个列表的第一行?
嗨,这个问题很好解决,我给你两种针对性的方案,看哪种更贴合你的需求:
方案一:直接处理已有的custom列
如果你已经有了包含custom列的表格,想要批量删除该列中每个列表的第一行,可以用Table.TransformColumns配合List.Skip()函数来实现,代码如下:
let Source = 你的数据源名称, // 替换成你实际的数据源 RemoveFirstListItem = Table.TransformColumns( Source, {{"custom", each List.Skip(_, 1)}} // 对custom列的每个列表跳过第一个元素 ) in RemoveFirstListItem
简单解释下:
Table.TransformColumns用于指定要转换的列,这里我们锁定custom列;List.Skip(_, 1)里的参数1表示跳过列表的第一个元素,也就是直接删掉第一行啦。
方案二:修改你生成列表的代码
看你贴的这段代码是用来生成日期列表的,如果这个列表就是custom列里的元素,那可以直接在生成列表后加上List.Skip,一步到位得到去掉第一行的结果,修改后的代码如下:
let StDt = [start], AllDates = {Number.From([start])..Number.From([end])}, StoMonthDates = List.Distinct( List.Select( List.InsertRange( List.Transform(AllDates, each Date.StartOfDay(Date.From(_))), 0, {[start]} ), each Number.From(_) >= Number.From(StDt) ) ), // 新增步骤:删除列表的第一行 FinalDates = List.Skip(StoMonthDates, 1) in FinalDates
你也可以更简洁一点,直接把in后面的内容改成List.Skip(StoMonthDates, 1),效果是完全一样的。
备注:内容来源于stack exchange,提问作者doraemon
相关产品推荐
相关产品推荐

