Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure data factory ADF字符串到十进制返回空值_Azure Data Factory_Azure Data Flow - Fatal编程技术网

Azure data factory ADF字符串到十进制返回空值

Azure data factory ADF字符串到十进制返回空值,azure-data-factory,azure-data-flow,Azure Data Factory,Azure Data Flow,我有一个带有字符串值的导入CSV文件。 在这个文件中有一些金额,其中几行等于0,00 我想通过在表中添加几个字段并将其转换为数值来创建TotalCA列 我使用toDecimal函数,所有值都返回NULL,并且创建的列显示为灰色 我做了很多研究,但找不到解决办法。你能帮我吗 多谢各位 Lea如果我正确理解您的意思,我会举一个csv数据示例: 正如您所说,某些行使用大于0的值进行了丰富,而其他行在值为零时包含“0.00”。实际上,行数据包含不同的数据类型,int和decimal 由于这些原因,正如

我有一个带有字符串值的导入CSV文件。 在这个文件中有一些金额,其中几行等于0,00

我想通过在表中添加几个字段并将其转换为数值来创建TotalCA列

我使用toDecimal函数,所有值都返回NULL,并且创建的列显示为灰色

我做了很多研究,但找不到解决办法。你能帮我吗

多谢各位


Lea

如果我正确理解您的意思,我会举一个csv数据示例:

正如您所说,某些行使用大于0的值进行了丰富,而其他行在值为零时包含“0.00”。实际上,行数据包含不同的数据类型,
int
decimal

由于这些原因,正如我所测试的,无论是
toDecimal()
toFloat()
还是
toDouble()
,所有函数都不能工作。我使用派生列表达式进行数据转换

我们无法保存这些数据,只能选择其中一种类型。如果您选择十进制或浮点,其他行数据将转换为'11.0',我认为这也不是您想要的

源投影:我将列类型预设为双精度:

(十进制不能保留“0.00”,它只返回“0”)

总之,唯一的方法是使用字符串数据类型来保存数据。还可以使用字符串数据类型接收接收器数据集中的数据


嗯。

谢谢大家的回答

如果我转到源投影模块并将我的列LFC1_UM01S的类型更改为decimal,这就是我得到的结果:

为什么有些值被视为空值


有点困惑,csv文件列数据是否包含“0”、“00”或“0,00”?哪个是正确的?你想把它转换成数字吗?是的,没错。我的CSV文件包含多个列,它们是金额。某些行的值大于0,而其他行的值为零时包含“0.00”。我的目标是导入我的源代码,因此字符串形式的CSV文件和数据流内部使用我的列进行求和,例如,我希望将它们转换为数字(导入我的文件后)。如果您更方便,可以让ADF为您进行转换。在源代码转换中,单击投影>“检测数据类型”。您可以使用“定义默认格式”按钮设置要转换为的默认数字格式类型。