[MySQL] Raster/Spreadsheet van query resultaten mogelijk?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • kramer65
  • Registratie: Oktober 2003
  • Laatst online: 22-09 14:25
Hallo,


Ik heb een MySQL Databank met allerhande beursgegevens waarop ik een heleboel analyses moet loslaten. De resultaten van elke query wil ik in een raster weergeven waarmee ik dan weer berekeningen wil doen. Ongeveer zoiets:

query 1 = SELECT COUNT(*) FROM table1 WHERE voorwaarde
query 2 = SELECT COUNT(*) FROM table2 WHERE voorwaarde

resutaat query 1 | resultaat query 2 | query 1 + query 2 x 0.5
resutaat query 1 | resultaat query 2 | query 1 / query 2 x 0.7
resutaat query 1 | resultaat query 2 | query 1 - query 2 x 0.9

Dit is een erg simpele weergave, gezien het in mijn geval om honderden redelijk complexe queries gaat.

Nou dacht ik dit te kunnen oplossen door Excel middels ODBC een connectie te laten maken met MySQL. Dit is me gelukt mbv de OpenLink plugin. Het probleem is echter dat dat nogal omslachtig werkt. Zo moet ik voor elke query opnieuw een connectie maken, wat weer ongeveer 8 keer klikken is. Daarbij komt dan ook nog dat ik de queries niet gewoon in de Excel cellen kan aanpassen maar daarvoor opnieuw het connectie proces moet doorlopen.

Wat ik dus zoek is een simpele manier om een raster te hebben waarin ik de queries in elk vakje plaats en zo makkelijk met de resultaten kan spelen. Iemand enig idee of en hoe dit mogelijk is?

ps. Ik weet dat ik met een simpele php pagina kan gaan werken, waarin ik dan querie-resultaten in variabelen zet om daarmee te rekenen. Dat zou me ook wel lukken denk ik. Voor deze analyses wil ik echter liever gewoon met een simpele consumenten GUI werken zodat ik me kan concentreren op de analyses ipv de codering.

Acties:
  • 0 Henk 'm!

  • Thomasje
  • Registratie: Augustus 2002
  • Laatst online: 29-05-2024

Thomasje

Semacode

Ik zou dan zelf toch een deel in php doen. Dit kan je bijvoorbeeld goed doen met:

http://phpexcel.codeplex.com/

Acties:
  • 0 Henk 'm!

  • Mr_gadget
  • Registratie: Juni 2004
  • Laatst online: 22-09 21:27

Mr_gadget

C8H10N4O2 powered

MySQL csv export, Excel csv import :P

Acties:
  • 0 Henk 'm!

  • kramer65
  • Registratie: Oktober 2003
  • Laatst online: 22-09 14:25
Mr_gadget schreef op woensdag 27 april 2011 @ 16:40:
MySQL csv export, Excel csv import :P
Dat is niet zo simpel. De queries die ik wil doen moeten wel in SQL gedaan worden. Naar mijn weten zijn ze gewoon niet mogelijk met Excel formules. Daarom moet ik wel sql queries doen op een database, maar de resultaten in een spreadsheet kunnen krijgen en simpel bewerken (dus ook de queries aanpassen vanuit die spreadsheet/raster).
Thomasje schreef op woensdag 27 april 2011 @ 16:40:
Ik zou dan zelf toch een deel in php doen. Dit kan je bijvoorbeeld goed doen met:

http://phpexcel.codeplex.com/
Dat is wel een goede tip. Ik ga er eens naar kijken.


Zijn er nog mensen met andere ideeën? Alle tips welkom!

Acties:
  • 0 Henk 'm!

  • ReenL
  • Registratie: Augustus 2010
  • Laatst online: 14-09-2022
Ik verwacht dat je voorwaarde van query 2 afhangt van query 1, anders lijkt het bijna alsof je iets fout aangepakt hebt wat betreft database ontwerp.

In dat geval zal onderstaande query een join bevatten inplaats van een dubbele from, maar het principe is denk duidelijk. Je kunt gewoon in je select de berekeningen uitvoeren.

code:
1
2
3
4
SELECT COUNT(t1.*) AS result1, COUNT(t2.*) AS result2, (result1 + result2)*0.5 AS result3, (result1 / result2)*0.7 AS result4, (result1 - result2)*0.9 AS result5
FROM table1 t1, table2 t2
WHERE t1.voorwaarde
AND t2.voorwaarde

Acties:
  • 0 Henk 'm!

  • kramer65
  • Registratie: Oktober 2003
  • Laatst online: 22-09 14:25
ReenL schreef op woensdag 27 april 2011 @ 17:21:
Ik verwacht dat je voorwaarde van query 2 afhangt van query 1, anders lijkt het bijna alsof je iets fout aangepakt hebt wat betreft database ontwerp.

In dat geval zal onderstaande query een join bevatten inplaats van een dubbele from, maar het principe is denk duidelijk. Je kunt gewoon in je select de berekeningen uitvoeren.

code:
1
2
3
4
SELECT COUNT(t1.*) AS result1, COUNT(t2.*) AS result2, (result1 + result2)*0.5 AS result3, (result1 / result2)*0.7 AS result4, (result1 - result2)*0.9 AS result5
FROM table1 t1, table2 t2
WHERE t1.voorwaarde
AND t2.voorwaarde
Hoi ReenL

Je hebt helemaal gelijk. Punt is alleen dat ik vaak wil dat de resultaten van de vorige queries worden gebruikt voor de derde kolom (of de vierde, de vijfde, of de dertigste). Dit omdat ik dan bijvoorbeeld de query van de eerste kan aanpassen wat meteen kan doorwerken in andere resultaten. Zo hoef ik dan dus niet de eerste EN de derde query aan te passen. Het is maar een detail, maar het maakt mijn analyses een stuk efficiënter als ik gewoon met de resultaten van het raster kan rekenen.

Acties:
  • 0 Henk 'm!

  • storeman
  • Registratie: April 2004
  • Laatst online: 22-09 13:52
Dit zou je met views op kunnen lossen, zo kun je tussenstadia zien. Deze kun je blijven nesten, gevolg is wel dat alles realtime berekend wordt en het traag kan worden bij complexe queries/views.

"Chaos kan niet uit de hand lopen"

Pagina: 1