Ga naar inhoud
  • 0

script loopt = filemaker traag!!


Femca

Vraag

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!!

Link naar reactie

9 antwoorden op deze vraag

Aanbevolen berichten

  • 0

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.

aangepast door Gast
Link naar reactie
  • 0

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.

Link naar reactie
  • 0

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?

Link naar reactie
  • 0

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.

Link naar reactie
  • 0

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.

Link naar reactie
  • 0

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.

Link naar reactie
  • 0

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.

Link naar reactie
  • 0

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?

Link naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...