2015-12-06 48 views
0

只是想知道...數據的消毒/清理

我們有一個表,其中在特定的字段中的數據是字母數字,包括一個1-2位的字母后跟一個1-2位數字例如x2,x53,yz1,yz95

數字之前添加的字母數量可以由字段確定,以便某些字段總是在數字之前添加相同的1個字母,而其他字母將始終使用相同的2個字母。

對於每個字段,實際的字母和添加的字母數量(1或2)總是相同的,因此,我們總是可以通過字段名稱分辨出哪些字母出現在數字之前。

出於所有下游數據分析的目的,它只是字符串中的重要數值。

SQL查詢是在用戶表單後面動態構建的,其中最終的sql可以採用多種形式,具體取決於用戶選擇哪種選擇和切換。有了這個,生成sql結構的VBA就相當複雜了,它包含了許多最終的sql結構的條件/變量路徑。 因此,它會使VBA和sql更容易編寫,讀取,調試,並且可能增加sql的執行速度等。 - 如果我們只處理數字數據類型,例如我不會需要適應的「STRSQL = STRSQL & ......」無數的線

由於本身所分析的數據是,威盛普通的.csv提取物進口從活源副本內的許多單引號,將它可以通過將數據轉換爲數值和字段數據類型來清理/清理導入階段周圍的這些字段嗎? - 可能是通過修改用於生成提取的sql或通過修改用於將提取導入到分析表中的schema/vba過程例如使用諸如「= Replace(OriginalField,」yz「,」「)」之類的替換函數來去除yz字符。

回答

1

是,鏈接CSV「原樣」,併爲每個鏈接表創建一個具有消毒,如直選擇查詢:

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

然後用這個查詢整個應用程序時,你需要的數據。