Hej,
Jag har ett kundregister med cirka 1,8 miljoner kunder (ja, det är ett stort företag). I kundregistret finns i dag information om kundernas namn, hemadress, vilka produkter kunderna köper, hur länge de har varit kund hos företaget, etc. samt ett unikt KundID.
Till detta vill jag koppla demografiska data som vi har köpt in, där vi har sannolikheten för om personen t.ex. bor i lägenhet eller villa och har 0, 1 eller 2 bilar -- allt baserat på hemadress.
Kundregistret och de demografiska data vill jag sammanföra i en gemensam tabell, för att kunna göra analyser i Excel (med hjälp av tillägget PowerPivot för att kunna hantera fler än 1 miljon rader). Problemet är att den resulterande databasen (jag skapar tabellen i en ny databas) snabbt når taket på 2GB varpå körningen avbryts med följande felmeddelande:
Cannot open database ''. It may not be a database that your application recognizes, or the file may be corrupt.
SQL-frågan är en simpel JOIN:
SELECT [Kundregister].KundID, [Kundregister].Hemadress, [... alla fält i kundregistret ...],
[Demografidata].Boendeform, [Demografidata].AntalBilar, [... alla fält i demografidatatabellen ...] INTO [NyTabell]
FROM [Kundregister].KundID
LEFT JOIN [Demografidata].KundID
Även om det är 1,8 miljoner rader och 40 kolumner motsvarar det "bara" 72 miljoner celler i tabellen. Med en begränsning på 2GB borde varje cell kunna innehålla 30 bytes, vilket låter ganska mycket.
Finns det något sätt att åtgärda det här problemet?
- Ändra datatyper i tabellerna (har inte full koll på detta, typ Text vs. Integer)?
- Byta DB-hanterare till något annat än Access (som inte kostar multum)?
- Andra förslag?
Det enda jag vill ha är en Access-tabell eller textfil som jag sedan kan importera till Excel (via PowerPivot) för att sedan analysera resultaten där. Access är alltså enbart till för att sammanfoga data från flera källor.
Stort tack på förhand!