- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在PowerQuery中我需要导入一个固定宽度的txt文件(每一行都是一些字段的串联,每个字段都有固定的特定长度)。当我导入它时,我得到一个表,其中包含一个包含 txt 行的单列,例如采用以下格式:
AAAABBCCCCCDDD
我想通过这种方式添加更多列:
Column1: AAAA
Column2: BB
Column3: CCCCC
Column4: DDD
换句话说,组成源列的字段的长度是已知的,但所有字段的长度并不相同(在上面的示例中,长度为:4、2、5、3)。
我想使用“拆分列”>“按字符数”实用程序,但我一次只能插入一个长度,要获得所需的输出,我必须重复该过程 3 次,每次添加一列并使用“拆分列”>“按字符数”实用程序的“一次,尽可能左”选项。
我的真实案例有许多不同的行类型(文件)要导入和转换,每个行类型(文件)都有超过 20 个字段,因此需要较少的手动方法;我想以某种方式指定记录结构(每个字段的长度)并自动拆分行:)
可能需要一些 M 代码,我对此一无所知:谁能指出正确的方向?
谢谢!
最佳答案
使用以下公式创建查询。我们将此查询称为 SplitText:
let SplitText = (text, lengths) => let LengthsCount = List.Count(lengths), // Keep track of the index in the lengths list and the position in the text to take the next characters from. Use this information to get the next segment and put it into a list. Split = List.Generate(() => {0, 0}, each _{0} < LengthsCount, each {_{0} + 1, _{1} + lengths{_{0}}}, each Text.Range(text, _{1}, lengths{_{0}})) in Split, // Convert the list to a record to ListToRecord = (text, lengths) => let List = SplitText(text, lengths), Record = Record.FromList(List, List.Transform({1 .. List.Count(List)}, each Number.ToText(_))) in Recordin ListToRecord
然后,在您的表格中,添加一个使用此公式的自定义列:
每个 SplitText([Column1], {4, 2, 5, 3})
第一个参数是要拆分的文本,第二个参数是要拆分的长度列表。
最后,展开该列以将拆分文本值放入您的表格中。您可能想要重命名这些列,因为它们将被命名为 1、2 等。
关于text - powerquery 按可变字段长度拆分列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32247086/
我正在尝试运行一个返回具有相应日期索引和日期文本的表的函数。这样我就可以在教程屏幕中显示信息。但是,我对如何访问以前的记录感到困惑。这是我的伪代码: ForAll( Tweets (sorted by
在 Microsoft Excel 2013 中使用 Power Query,我创建了一个如下所示的表格: // To insert this in Power Query, append a '='
如何间接指代任何事物?在我的情况下,它是一个列名。语言文档的“现场访问”部分让我一无所知。 例如 let OriginalStrings = "some string with {tkn1}
我想在电源查询中选择某些列,但不使用它们的名称。前任。我可以在 R 中通过命令执行此操作:select。我想知道如何在电源查询中做到这一点。找了些资料here ,但不是我需要的全部。 任何想法,如果我
鉴于以下 JSON,我正在尝试将其加载到 Excel 中。我想将“评级”部分格式化为单个分隔字符串/单元格。我对 PowerQuery 还很陌生,所以我很难做到这一点。我已经设法将记录列表格式化为
有没有一种使用 PowerQuery 的简单方法来计算一个文本字符串在另一个文本字符串中的出现次数? 例如,如果我有字符串“敏捷的棕色狐狸跳过懒惰的狗而懒惰的狗没有注意到”,我如何轻松确定词懒惰和狗出
这应该是一个简单的问题。我是 Power Query 的新手。 我有一个报告表,有一列“查询”是我工作簿中的查询名称。我想添加一列来计算查询中的行数。 我使用的公式是 =Table.AddColumn
我已经根据我的源数据在 PowerQuery 中构建了几个额外的列。这包括两个“TextContains”列,它们只返回“TRUE”或“FALSE”。我现在想要一个额外的列来突出显示不同的服务类型并使
简单介绍。 最近的任务:添加 15 个具有相同值的列。 解决方案:我没有连续使用 Table.AddColumn,而是应用了以下方法。 = Table.RemoveColumns( Table
我正在反透视和转置(输入),以便为内部系统格式化(输出)。 @RonRosenfeld 在 solution 中提供的解决方案解决了这个问题。 但是,输出的年份被硬编码为 2022,这很好,直到我们到
如果我创建了一个从文件夹导入 XML 的 PowerQuery 函数,当文件夹中有新文件以仅包含来自这些新文件的数据并将数据附加到当前表时,如何在同一个 excel 文件中重用查询? 最佳答案 如果您
如何避免从例如完全重新加载SQL Server 每次我在 PowerQuery 中添加/更改自定义列时? 我希望 PowerQuery 仅使用本地(数据模型)数据,除非我点击刷新按钮。 最佳答案 您可
我正在尝试将 Power Query 与此表一起使用: 我的目标是在第 1 列和第 2 列的第 3 列“GRPEFFDTE”中找到最大值。如果这是正常的 excel,我会使用: =+IF(MAXIFS
我正在通过 Powerquery 将大量表格从 pdf 文件导入 Excel - 效果很好。 除了其他几个迁移之外,我还有以下我无法解决的任务: 在某些情况下 - 特别是。分页符后 - 应该进入单个单
我正在使用 Excel powerquery 从 Elasticsearch 中提取数据。对于一个结果来说效果很好,但我想得到很多结果。从最初的 ES 查询中,我得到了一个 json 对象列表,我可以
在PowerQuery中我需要导入一个固定宽度的txt文件(每一行都是一些字段的串联,每个字段都有固定的特定长度)。当我导入它时,我得到一个表,其中包含一个包含 txt 行的单列,例如采用以下格式:
是否有任何可靠的方法可以从此查询中获取 PowerQuery 查询所在工作簿的完整文件名? 我尝试通过在隐藏工作表中插入公式 =CELL("filename") 来实现此目的,但这并不可靠。当我切换工
如果我有下表(如下图所示),我如何编写一个分组查询来连接分组结果? 对于此示例,我希望按 LetterColumn 进行分组并连接 NumberColumn 所以期望的结果是: 最佳答案 您可以使用
我想在 json 响应中展开所有列表和记录。列就像例如(这是动态的,也可以是10条记录5个列表): 文本,文本,[列表],[列表],文本,[记录],[记录],字符串,[记录] 我写了一个函数来获取特定
我有一系列通过 PowerQuery 导入数据的工作簿。 源文件只有 Date字段每第 4 行完成一次。每个日期有 3 个特定于站点的条目。 下面的 Markdown 表显示了当我通过 PowerQu
我是一名优秀的程序员,十分优秀!