数据清理/清理

时间:2015-12-06 17:07:22

标签: sql ms-access sanitize

只是想知道......

我们有一个表,其中某些字段中的数据是字母数字,包括1-2位数字后跟1-2位数字,例如x2,x53,yz1,yz95

在数字之前添加的字母数可由字段确定,以便某些字段在数字前总是添加相同的1个字母,而其他字段将始终具有相同的2个字母。

对于每个字段,实际字母和添加的字母数(1或2)总是相同的,因此,我们总是可以通过字段名称告诉数字出现在数字之前。

出于所有下游数据分析的目的,它只是字符串中的重要数值。

在用户表单后面动态构造SQL查询,其中最终的sql可以采用多种形式,具体取决于用户选择的选项和开关。有了这个,生成sql结构的VBA相当复杂,包含许多条件/变量路径到最终的sql构造。 有了这个,它将使VBA和sql更容易编写,读取,调试,并且可能增加sql执行速度等 - 如果我们只处理数值数据类型,例如我不需要在“strSQL = strSQL& amp;”的众多行中容纳许多撇号。 ......”

鉴于正在分析的数据本身是通过常规.csv从实时源提取导入的副本,是否可以通过将数据转换为数值来预先清理/清理导入阶段周围的这些字段和字段数据类型? - 可能通过修改用于生成提取的sql,或者通过修改用于将提取导入分析表的schema / vba过程,例如,使用诸如“= Replace(OriginalField,”yz“,”“)之类的替换函数来删除yz字符。

1 个答案:

答案 0 :(得分:1)

是的,链接csv"按原样#34;,并为每个链接表创建一个执行清理的直接选择查询,如:

 Select
      Val(Mid([Field1], 2)) As NumField1,
      Val(Mid([Field2], 1)) As NumField2,
        etc.
      Val(Mid([FieldN], 2)) As NumFieldN
 From
      YourLinkedCsvTable

然后在需要数据时在整个应用程序中使用此查询。