使用Power Query将格式化字符串解析为货币(MS Excel)

chy5wohz  于 12个月前  发布在  其他
关注(0)|答案(3)|浏览(159)

我试图从REST API导入数据到MS Excel工作表。货币字段格式为“December Number| ISO 3字符货币代码”,如123.45|USD678.90|EUR等。
如何将这些值解析到Currency(Excel类型)列中?我尝试将管道字符替换为空格并选择自定义货币格式类型,但没有效果。我认为它需要货币符号,而不是货币代码。

fae0ux8s

fae0ux8s1#

在powerquery中您可以转换一个列以提取管道之前的所有内容并将其转换为货币值,但是货币字符在加载回excel时将不会持久

Split = Table.TransformColumns(#"PriorStepNameHere",{{"ColumnNameHere", each Number.From(Text.BeforeDelimiter(_,"|")), Currency.Type}})

字符串

zf9nrax1

zf9nrax12#

这里有一个完全独立的查询,选择“new query => blank file”,然后点击高级编辑器,粘贴这个。
@horseyride使用了类似的路线。我保留了货币类型以供使用。
Currency参数很重要,它改变了数字的转换方式。否则,它将使用运行查询的系统上的默认值。
您可以从“add column”或“Transform column”调用transform函数。主要区别是一个替换原始列,另一个保留原始列。
你可以使用函数的回退,或者像这样设置一个区域性:

AsCurrency( row[Text] )
AsCurrency( row[Text], [ Culture = "de-de" ] )

个字符

vmdwslir

vmdwslir3#

我假设你正在使用PQE转换脚本?如果是这样,你可以使用Transform > Extract > Text Before Delimiter来分割管道上的单元格并忽略货币代码字段。将剩余的字段转换为Currency。
Screen shot of Transform step

相关问题