Jump to content
  • 0

script loopt = filemaker traag!!


Femca

Question

Posted

Hallo,

 

Ik heb een script aangemaakt die voor +/- 400 velden 2 berekeningen moet maken. Het script werkt maar verschrikkelijk langzaam. Weet er soms iemand raad?

Mijn script ziet er als volgt uit:

Replace field contents (No dialag; delta_clinical::P_year_delta; If(sample_clinical2_rd2::P_year= "";"";sample_clinical2_round2::P_year -sample_clinical2::P_year)

Replace field contents (No dialog; delta_clinical::P_year_deltaproc; If(sample_clinical2_round2::P_year= "";"";(sample_clinical2_round2::P_year - sample_clinical2::P_year) * 100/sample_clinical2::P_year )

 

Deze scriptsteps worden dus zo'n 400 x opnieuw gedaan maar dan telkens voor een ander veld. Is het normaal dat dit lang duurt om zulk script uit te voeren? en met lang duren dan bedoel ik 20 tot 30 min!!

9 answers to this question

Recommended Posts

  • 0
Posted (edited)

Misschien niet direct een antwoord op je vraag. Maar het lijkt me vreemd dat je op 400 verschillende velden bijna een gelijkaardige formule moet toepassen. Ik vermoed dat het niet helemaal snor zit met de structuur van je database. Waarschijnlijk zou het een oplossing zijn om een gerelateerde tabel bij te maken met 400 records.

Edited by Guest
  • 0
Posted

Ik denk dat je je vergist tussen veld en record.

 

Replace field contents doet een replace over heel de foundset, dus waarom zou je die dan 400 keer moeten uitvoeren? Of zijn het echt 400 velden in 1 tabel, dan zit er idd iets niet juist zoals in bovenstaande post wordt gezegd.

 

Verder helpt een Freeze Window heel veel aan het begin van je script.

 

What's fast in FileMaker: http://pauseonerror.pbworks.com/f/WhatsFasterSlides.zip een zeer interessante samenvatting van hoe je het beste een massa records kan updaten in FileMaker.

  • 0
Posted

Ik heb bvb labotesten RBC, WBC, Hct,Hg,... en ik moet voor elk van die testen het verschil tussen de waarde in ronde 1 met ronde 2 vergelijken zodanig dat ik het numerieke en het procentuele verschil heb.

vb R1 RBC 10000

R2 RBC 15000

num 5000

% 50%

Dus heb ik voor elk veld waarvoor ik die berekening moet maken 2 nieuwe velden aangemaakt waar het resultaat inkomt. Ik weet niet hoe ik dit anders had moeten aanpakken.

Wat is een gerateerde tabel? En welk voordeel heb je om dit te gebruiken? en hoe ga je dan tewerk?

  • 0
Posted

ok maar elke labotest is dus toch maar 1 record.

 

Dan zou ik een tabel maken LABOTEST met volgende velden:

 

Naam

ResultaatRonde1

ResultaatRonde2

Verschil_Nummer

Verschil_Percentage

 

Of zie ik het mis?

  • 0
Posted

ik heb in totaal 2400 records in filemaker pro.

De data van ronde 1 en 2 zit in sequel pro.

Dus ik heb eerst in sequel pro 3 tabellen aangemaakt. In die tabellen heb ik de verschillende (400) velden aangemaakt voor de 2 berekeningen zodat ik filemaker enkel en alleen gebruik om de data makkelijker in een layout weer te geven en tegelijk berekeningen te laten doen via een script. Ik heb in filemaker dus geen kolom labo aangemaakt.

Ik weet niet of ik duidelijk genoeg ben want het is niet zo eenvoudig om alles verstaanbaar uit te typen.

  • 0
Posted

Wat wordt er opgeslagen in die 400 velden? en wat stelt elke record ( van die 2400 ) voor in de SQL database?

 

Het antwoord is eigenlijk: 800 keer een replace fieldcontents over 2400 records uitvoeren, waarbij zoals ik het begrijp de data uit een SQL database komt, dat duurt gewoon lang... Ik denk dat je beter een andere piste inslaat.

  • 0
Posted

in die 400 velden komt telkens het resultaat van de 2 berekeningen. Wat de records betreft: er zijn 15 tabellen in sequel pro met telkens velden die de data bevatten van de R1 en R2. Die 2400 records staan voor 2400 onderzochte personen met elk hun persoonlijke klinische data in verspreidt over 15 tabellen.

 

Welke andere piste sla ik dan beter in want ik moet sowieso in filemaker blijven werken. Moet ik een ander script maken of ...?

 

Alvast bedankt voor je hulp maar ik ben nog niet erg vertrouwd met filemaker zoals je ondertussen wel al begrepen zal hebben.

  • 0
Posted

als ik het dus goed begrijp heb je 2400 personen op wie verschillende labotesten worden uitgevoerd. Hier komt het relationele dus ter sprake. Het meest logische zou zijn om een tabel LABOtesten aan te maken, en die te linken aan je tabel personen. Op die manier heb je niet 400 velden in 1 tabel nodig, maar werk je relationeel.

 

Een andere piste wil niet zeggen weggaan van FileMaker, maar de manier waarop je je oplossing structureert. In eender welke database zou zo een actie (script) ook veel te veel tijd innemen.

  • 0
Posted

Hoi,

 

Ik heb die 3 tabellen genaamd delta_athero; delta_clinical en delta_echo eerst aangemaakt in sequel pro met in deze 3 tabellen de 400 nieuw aangemaakte velden (400 velden verspreidt over die 3 tabellen). Ik heb daarna de 3 tabellen in filemaker toegevoegd en gerelateerd aan 1 "hoofdtabel" waarnaar alle relaties gaan. Dit had ik eerst gedaan en nadien pas mijn script opgemaakt dus ik denk dat het dit is dat jij me wil duidelijk maken? Of zie ik het fout?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...