This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
vba:tutorials:importwithstage [28.03.2017 10:33:35] yaslaw created |
vba:tutorials:importwithstage [18.06.2020 09:31:27] (current) yaslaw [Import] |
||
---|---|---|---|
Line 3: | Line 3: | ||
===== Ausgangslage ===== | ===== Ausgangslage ===== | ||
- | Ich habe ein Datenfile. In dem Fall als csv. Kanna ber auch Excel etc. sein. | + | Ich habe ein Datenfile. In dem Fall als csv. Kann aber auch Excel etc. sein. |
Dieses bekomme ich von einem anderen System. An den Datenfeldern und ihrer Formatierung kann man nicht rütteln. Leider | Dieses bekomme ich von einem anderen System. An den Datenfeldern und ihrer Formatierung kann man nicht rütteln. Leider | ||
Line 24: | Line 24: | ||
--------------|---------- | --------------|---------- | ||
11 | Hans | 11 | Hans | ||
- | 12 | Sandra | + | 12 | Sandra</code> |
- | 13 | Peter</code> | + | |
<code text TBL_DEALS>internal_id | external_id | user_id | deal_date | ccy | amount | <code text TBL_DEALS>internal_id | external_id | user_id | deal_date | ccy | amount | ||
--------------|-------------|---------|------------|---------|-------------- | --------------|-------------|---------|------------|---------|-------------- | ||
Line 34: | Line 33: | ||
3 | 5 | 12 | 16.02.2017 | EUR | -16'546'345.35</code> | 3 | 5 | 12 | 16.02.2017 | EUR | -16'546'345.35</code> | ||
- | Das gibt einiges zu tun um diese Date zu überführen | + | Das gibt einiges zu tun um diese Datei zu überführen |
Als erste erstelle ich eine Stage-Tabelle. Diese entspricht den Feldern der Quelldatei. Alle Felder sind einfach mal als Textfelder definiert. | Als erste erstelle ich eine Stage-Tabelle. Diese entspricht den Feldern der Quelldatei. Alle Felder sind einfach mal als Textfelder definiert. | ||
Line 61: | Line 60: | ||
Nun habe ich das folgende in meiner Tabelle STG_DEALS | Nun habe ich das folgende in meiner Tabelle STG_DEALS | ||
- | <code text STG_DEALS>id | user | deal_date | amount | + | <code text STG_DEALS>id | user | deal_date | amount | user_id |
- | ---|--------|-----------|------------------- | + | ---|--------|-----------|--------------------|--------- |
- | 3 | Hans | 20170207 | EUR 10.500,00- | + | 3 | Hans | 20170207 | EUR 10.500,00- | |
- | 4 | Peter | 20170208 | USD 5.454,00 | + | 4 | Peter | 20170208 | USD 5.454,00 | |
- | 5 | Sandra | 20170216 | EUR 16.546.345,35-</code> | + | 5 | Sandra | 20170216 | EUR 16.546.345,35- | </code> |
===== Normalisieren der User ===== | ===== Normalisieren der User ===== | ||
Line 92: | Line 91: | ||
Nun ist es an der Zeit, die Daten aus der STG_DEALS in die TBL_DEALS zu überführen. | Nun ist es an der Zeit, die Daten aus der STG_DEALS in die TBL_DEALS zu überführen. | ||
Ich verwende der Einfachheit 2 Funktionen, die ich bereits geschrieben habe: | Ich verwende der Einfachheit 2 Funktionen, die ich bereits geschrieben habe: | ||
- | - [[vba:cast:strtodate|strToDate()]] Parst einen String mittels eines Datumsformates in en Datum | + | - [[vba:cast:strtodate|strToDate()]] Parst einen String mittels eines Datumsformates in ein Datum |
- [[vba:cast:todoublegeneric|toDoubleGeneric()]] EIne Funktion die einiges mächtiger ist als cDbl() von Microsoft | - [[vba:cast:todoublegeneric|toDoubleGeneric()]] EIne Funktion die einiges mächtiger ist als cDbl() von Microsoft | ||