我正在创建一个多维数据集,编写软件的人在数据中创建了一个productSize字段,而不是数字数据类型。例如,它可能包含9或4.5x2,这也是不寻常的。在这种情况下,计算的度量可以将varchar转换为小数吗?
编辑:现在我意识到我可以通过右键单击DSV中的表格列来创建命名计算。我仍然需要弄清楚如何编写表达式。这就是我到目前为止所做的一切......
CASE
WHEN SUBSTRING(ProductSize, 2,1) = 'x' THEN 0 // detects an 'x' in char 2 but I need to detect an x anywhere, and verify the string can be converted to a number
ELSE
cast(ProductSize as DECIMAL)
END
答案 0 :(得分:1)
我的问题的答案很简单,我只是使用SQL在DataSet视图中创建命名计算。如上所述,只需使用SQL语法创建解析语句即可。以下表达式现在有效。
CASE
WHEN ISNUMERIC(ProductSize)<>1 THEN
0 // zero for now, later figure out SQL to parse alpha data
ELSE
cast(ProductSize as INT)
END