在 Power Query 中将负文本转换为十进制数
Posted
技术标签:
【中文标题】在 Power Query 中将负文本转换为十进制数【英文标题】:Convert negative text to decimal number in Power Query 【发布时间】:2021-05-25 15:03:34 【问题描述】:如何使用 Power Query 将存储为文本的负数转换为十进制?
我有从软件生成的这种格式的文本数据:
11334;- 6,200;10;"040";"MAT";11;"CLEANSORB CS3G";"Abgang in Produktion";"2-GR";ja;446,600;"MatSchein Abg in Fertig";"MAT";"";07.10.2020 08:13:49;"";"PPA";3646;10,0;02;17.529,820;07.10.2020;230;2.246,600;"99";17.529,820
11334;- 2,200;10;"040";"MAT";11;"CLEANSORB CS3G";"Abgang in Produktion";"2-GR";ja;446,600;"MatSchein Abg in Fertig";"MAT";"";07.10.2020 08:13:49;"";"PPA";3646;10,0;02;17.529,820;07.10.2020;230;2.246,600;"99";17.529,820
11334;- 126,200;10;"040";"MAT";11;"CLEANSORB CS3G";"Abgang in Produktion";"2-GR";ja;446,600;"MatSchein Abg in Fertig";"MAT";"";07.10.2020 08:13:49;"";"PPA";3646;10,0;02;17.529,820;07.10.2020;230;2.246,600;"99";17.529,820
11334;- 15,000;10;"040";"MAT";11;"CLEANSORB CS3G";"Abgang in Produktion";"2-GR";ja;446,600;"MatSchein Abg in Fertig";"MAT";"";07.10.2020 08:13:49;"";"PPA";3646;10,0;02;17.529,820;07.10.2020;230;2.246,600;"99";17.529,820
11334; 10,200;10;"040";"MAT";11;"CLEANSORB CS3G";"Abgang in Produktion";"2-GR";ja;446,600;"MatSchein Abg in Fertig";"MAT";"";07.10.2020 08:13:49;"";"PPA";3646;10,0;02;17.529,820;07.10.2020;230;2.246,600;"99";17.529,820
当我尝试将其与 Power Query 一起使用以转换为十进制数时,出现错误:
您可以注意到,(减号)符号后突然有很多空格,如果我尝试执行 >replace
有人可以帮助解释为什么以及是什么导致了这个问题吗?
p.s 使用生成此文本/csv 文件的软件下载此文件后,它首先(自动)以读取模式打开文件(看起来一切正常),但我需要将其保存在 .xlsx 中并使用电源查询...所以您可以想象这始终是手动工作...奇怪的是为什么 PowerQ 无法读取此文件 > 我也在 Power BI 中尝试过,但同样的事情...
提前致谢。
【问题讨论】:
请不要使用屏幕截图来获取数据,而是使用简单、可读、可复制的文本,以便在家中的每个人都可以跟进。 目前还不清楚为什么替换不起作用。可变数量的空格无关紧要 - 如果您只是告诉 Power Query 将单个空格替换为空,它会将 all 空格替换为空。至于为什么直接打开CSV可能无法直接工作,这里显示的还不够多。如果您可以使用由单行组成的 CSV 来复制问题,我们也可以。 @JeroenMostert 抱歉,我现在就编辑。 @JeroenMostert 嘿,它实际上正在运行!我的坏....替换其实很好!!! 【参考方案1】:试试这个:
= Table.TransformColumns(Source, "ColumnWithSpaces", each Number.From(Text.Remove(_," ")), type number)
【讨论】:
以上是关于在 Power Query 中将负文本转换为十进制数的主要内容,如果未能解决你的问题,请参考以下文章