Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[Excel]Probleem preparatie spreadsheet voor import Oracle

Pagina: 1
Acties:

  • Arrahant
  • Registratie: September 2007
  • Laatst online: 25-08 10:53
Beschrijving:
Ik zit met het volgende probleem. Wellicht dat iemand een oplossing weet.

Ik heb een spreadsheet waarin 10 kolommen data bevatten en iedere case (student) een regel inneemt. Nu wil ik deze data naar een Oracle database gaan importeren en loop ik tegen enkele problemen aan bij het prepareren van deze data.

Het probleem heeft feitelijk te maken met de manier waarop Excel met de 'automatisch doorvoeren' functie omgaat. Althans, ik denk dat dit de enige manier is om de data te prepareren.

Omdat ik in de toekomst vaker soortgelijke spreadsheets voor import moet prepareren zou ik graag willen dat dit geen handwerk wordt en ik gewoon gebruik kan maken van automatisch doorvoeren om netjes alle studenten met hun bijbehorende data in het import tabblad te krijgen. |:(


Data in de spreadsheet:
Eerst de data zoals deze nu in de spreadsheet staan, de vierkante haakjes hieronder staan voor een kolom.
Zoals je hieronder kunt zien wordt aan de hand van de eerste kolom iedere case geidentificeerd (studentnummers), met erachter 9 kolommen die informatie over de student bevatten. In totaal gaat het om een stuk of 250 cases.

[studentnummer][data1][data2][data3][data4][data5][data6][data7][data8][data9]


Gewenste formatting voor data import:
Voor de import moeten de gegevens uit de bovenstaande spreadsheet op de volgende manier naar 4 kolommen in een ander tabblad worden gekopieerd:

Kolom A:
studentnummer

Excel moet in cellen A1 t/m A9 het studentnummer van de eerste student zetten, in A10 t/m A18 het studentnummer van de tweede student, enz.
Om dit te bereiken dacht ik dat ik simpelweg 9 keer onder elkaar naar het studentnummer van de eerste student kan verwijzen, daaronder 9 keer verwijzen naar het studentnummer van de tweede student, al deze cellen selecteren en die vervolgens automatisch doorvoeren. Maar dit werkt niet omdat Excel dan steeds de 8 tussengelegen cases/studenten gaat overslaan. Ik krijg dus alleen de studenten die in de originele spreadsheet op regels 2, 11, 20, 29, enz, staan in kolom A in het tabblad voor de data import.



Kolom B:
Rubrieknaam in de database (is altijd hetzelfde want alle data vallen onder dezelfde rubriek)

Deze kolom vormt geen probleem omdat iedere cel in deze kolom precies dezelfde informatie bevat.


Kolom C:
Steeds per student/case alle 9 veldnamen die onder de rubriek vallen, oftewel de kolomnamen in de originele spreadsheet. Steeds weer opnieuw dezelfde 9 kolomnamen/veldnamen.

Deze kolom vormt geen probleem omdat dezelfde informatie iedere 9 cellen in deze kolom wordt herhaald en dit via automatisch doorvoeren in Excel direct kan worden bereikt


Kolom D:
Steeds per student/case de inhoud van de 9 velden. Dus [data1] tot en met [data9] per student onder elkaar en dit herhalen.

Excel moet dus in cel D1 data1 van de eerste student zetten, in cel D2 data2 van de eerste student zetten, enzovoorts, en in cel D9 data9 van de eerste student zetten. Vervolgens wordt dit herhaald: in cel D10 data1 van de tweede student, D11 data 2 van de tweede student, enz.
Hier loop ik tegen hetzelfde probleem als bij kolom A aan. Ook hier worden steeds 8 tussengelegen studenten/cases overgeslagen. Ik krijg dus alleen de data over de studenten die in de originele spreadsheet op regels 2, 11, 20, 29, enz, staan in kolom D in het tabblad voor de data import.



Iemand een idee?

[ Voor 13% gewijzigd door Arrahant op 21-06-2014 15:55 ]

Steam: Arrahant | PSN: Arrahant84 | XBL: Arrahant | Origin: Arrahant | Nintendo: Arrahant


  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 19:06
Met een macro een loop schrijven waarin alles gegenereerd wordt is het makkelijkst hierin

  • Arrahant
  • Registratie: September 2007
  • Laatst online: 25-08 10:53
Dank voor het antwoord! Maar eens kijken of er bij de IT iemand te vinden is die de macro kan schrijven.

Steam: Arrahant | PSN: Arrahant84 | XBL: Arrahant | Origin: Arrahant | Nintendo: Arrahant


Verwijderd

Wanneer je de beschikking hebt over PowerPoint Query kun je dit in een handomdraai doen via de zogenoemde UNPIVOT functionaliteit zonder gebruik te hoeven maken van macro's gebruik

  • Arrahant
  • Registratie: September 2007
  • Laatst online: 25-08 10:53
Ik neem aan dat je Power Query voor Excel bedoelde? Ik heb het geinstalleerd en dit ziet er zeer werkbaar uit! Bedankt weer!!

Edit: ter volledigheid hier de downloadlocatie van Power Query voor Excel: http://office.microsoft.c...or-excel-FX104018616.aspx

[ Voor 41% gewijzigd door Arrahant op 21-06-2014 15:54 ]

Steam: Arrahant | PSN: Arrahant84 | XBL: Arrahant | Origin: Arrahant | Nintendo: Arrahant


  • mkleinman
  • Registratie: Oktober 2001
  • Laatst online: 19:50

mkleinman

8kWp, WPB, ELGA 6

Of anders met Java en de Jexcel API de Excelsheet inlezen om deze daarna met een paar simpele SQL statements ( ook in Java ) te inserten in je database?

Duurzame nerd. Veel comfort en weinig verbruiken. Zuinig aan doen voor de toekomst.


  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

Arrahant schreef op donderdag 19 juni 2014 @ 09:15:
Dank voor het antwoord! Maar eens kijken of er bij de IT iemand te vinden is die de macro kan schrijven.
offtopic:
Waarom moet iemand van IT nu opeens jouw eindgebruiker-applicatie gaan bouwen?

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device


  • pedorus
  • Registratie: Januari 2008
  • Niet online
Er zijn gewoon doortrekbare formules te maken trouwens. Bijvoorbeeld van het type:
code:
1
=OFFSET(Sheet1!$A$2,ROUNDDOWN((ROW()-1)/9,0),0)

en
code:
1
=OFFSET(Sheet1!$B$2,ROUNDDOWN((ROW()-1)/9,0),MOD(ROW()-1,9))



(Zou kunnen dat je de functienamen moet vertalen naar Nederlands, zie Wikipedia: Lijst van Microsoft Excel-functies en/of de komma's in puntkomma's moet vervangen)

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten

Pagina: 1