Inleiding tot Claris Studio-berekeningen

Belangrijk  

Het berekeningsveld en de berekeningseditor van Claris Studio worden geleverd als voorbeeld om feedback van klanten te verzamelen en zullen in toekomstige versies aanzienlijk veranderen. Dit is slechts de eerste stap in de richting van onze visie. De berekeningsvelden van Claris Studio zijn momenteel bijvoorbeeld gevirtualiseerd. Dit betekent dat de berekende resultaten niet behouden blijven en formules opnieuw worden berekend wanneer records worden weergegeven. Prestaties kunnen variëren, afhankelijk van het aantal weergegeven records en berekeningsvelden. Deze aanpak stelt ons in staat om u sneller een voorbeeld te kunnen bieden, terwijl we verder werken aan een architectonisch aanpak voor de langere termijn.

Help ons berekeningen beter te maken met uw feedback via Knop Feedback Feedback in Claris Studio of op Claris Community.

Deze inleiding bevat een snel overzicht van de verschillen tussen berekeningen in FileMaker Pro en Claris Studio, een lijst met ondersteunde Claris Studio-berekeningsfuncties en enkele bekende problemen. Naarmate we verder komen, zullen we over meer informatie beschikken om te delen.

Verschillen tussen FileMaker Pro- en Claris Studio-berekeningen

De berekeningsengine van Claris Studio maakt gebruik van een algemene berekeningsopmaak, zodat het voor gebruikers gemakkelijker is om complexere oplossingen en processen te creëren en te automatiseren.

  FileMaker Pro Claris Studio
Wiskundige operatoren    
Voegt twee waarden toe + +
Trekt de tweede waarde van de eerste af - -
Vermenigvuldigt elke waarde * *
Deelt de eerste waarde door de tweede / /
Verheft de eerste waarde tot de macht van de tweede waarde ^ **
Stelt voorrang in voor de volgorde van bewerkingen ( ) ( )
Vergelijkingsoperatoren    
Waar als de items gelijk zijn = ==
Waar als de items niet gelijk zijn !=
Waar als de waarde links groter is dan de waarde rechts > >
Waar als de linkerwaarde kleiner is dan de rechterwaarde < <
Waar als de linkerwaarde groter is dan of gelijk is aan de rechterwaarde >=
Waar als de linkerwaarde kleiner is dan of gelijk is aan de rechterwaarde <=
Logische operatoren    
Alleen waar als beide items waar zijn AND &&
Waar als een van beide items waar is OF ||
Waar als een van beide uitdrukkingen waar is (maar niet beide) XOR XOR()
Wijzigt de waarde van Onwaar in Waar of van Waar in Onwaar NOT !
Tekstoperatoren    
Voegt de tekstreeks rechts toe aan het eind van de tekstreeks links & +
Geeft het begin en het eind aan van tekens die als een tekstconstante moeten worden beschouwd " " ' ' of " "
Lege waarde "" '' (enkele aanhalingstekens) of "" (dubbele aanhalingstekens)
Markeert een operatorteken dat als een teken moet worden gebruikt, en niet als een operator \ Niet beschikbaar
Voegt een regelterugloopteken in het resultaat van een formule in Niet beschikbaar
Geeft het begin en het eind aan van tekens die in een formule als een tekstuele opmerking moeten worden beschouwd /* */ /* */
Geeft in een formule een opmerking van één regel aan // //
Veldverwijzingen    
Verwijst naar een veld in de huidige tabel Veld1 TabelA.Veld1
Verwijst naar een veld uit een andere tabel TabelB::VeldX Niet beschikbaar
Extra operatoren    
Bitwise AND Niet beschikbaar &
Bitwise OR Niet beschikbaar |
Bitwise XOR Niet beschikbaar ^
Bitwise ondertekende verschuiving naar rechts Niet beschikbaar >>
Niet-ingevulde verschuiving naar rechts Niet beschikbaar >>>
Niet-ingevulde verschuiving naar links Niet beschikbaar <<
Sjabloontekenreeks Niet beschikbaar ` `

Berekeningsfuncties van Claris Studio

Dit zijn de berekeningsfuncties die momenteel worden ondersteund in Claris Studio. Binnenkort worden er meer geïntroduceerd. Raadpleeg voor meer informatie de inline-beschrijvingen in de berekeningseditor.

  FileMaker Pro Claris Studio
Wiskundige functies

ABS

Abs ( getal ) ABS ( value )

CEILING

Ceiling ( getal ) CEILING ( value, [factor] )

EVEN

Niet beschikbaar EVEN ( value )

EXP

Exp ( getal ) EXP ( value )

FLOOR

Floor ( getal ) FLOOR ( value, [factor] )

INT

Int ( getal ) INT ( value )

LOG

Log ( getal ) LOG ( value, [base] )

MOD

Mod ( getal ; deler ) MOD ( dividend, divisor )

ODD

Niet beschikbaar ODD ( value )

POWER

Niet beschikbaar POWER ( base, exponent )

ROUND

Round ( getal ; aantal decimalen ) ROUND ( value, [places] )

ROUNDDOWN

Niet beschikbaar ROUNDDOWN ( value, [places] )

ROUNDUP

Niet beschikbaar ROUNDUP ( value, [places] )

SQRT

Sqrt ( getal ) SQRT ( value )

SUM

Sum ( veld {; veld...} ) SUM ( number1, [number2, ...] )

MAX

Max ( veld {; veld...} ) MAX ( number1, [number2, ...] )

MIN

Min ( veld {; veld...} ) MIN ( number1, [number2, ...] )
Logische functies

AND

Niet beschikbaar AND ( exp1, [exp2, ...] )

FALSE

Niet beschikbaar FALSE ( )

IF

If ( test ; resultaat1 {; resultaat2 } ) IF ( logical expression, value_if_true, [ value_if_false ] )

NOT

Niet beschikbaar NOT ( exp )

OR

Niet beschikbaar OR ( exp1, [exp2, ...] )

TRUE

Niet beschikbaar TRUE ( )

XOR

Niet beschikbaar XOR ( exp1, [exp2, ...] )
Claris-functies

GET

Get ( )

GET(predefined_variable)

vooraf_gedefinieerde_variabele: AccountNaam, RecordID, GebruikersID, of GebruikersNaam

GETFILEATTRIBUTE

GetContainerAttribute ( veld ; kenmerknaam ) GETFILEATTRIBUTE ( table_field, [attribute_name] )
Informatiefuncties

ISBLANK

IsEmpty ( veld )

ISBLANK ( expression )

ISERROR

EvaluationError (uitdrukking )

ISERROR ( expression )

ISEVEN

Niet beschikbaar

ISEVEN ( expression )

ISLOGICAL

GetAsBoolean ( gegevens )

ISLOGICAL ( expression )

ISNUMBER

Niet beschikbaar

ISNUMBER ( expression )

ISODD

Niet beschikbaar

ISODD ( expression )

ISTEXT

Niet beschikbaar

ISTEXT ( expression )

TYPE

Niet beschikbaar

TYPE ( expression )

Datum- en tijdfuncties
DATE Date ( maand ; dag ; jaar ) DATE ( year, month, day )
DATEVALUE Niet beschikbaar DATEVALUE ( date_text )
DAY Day ( datum ) DAY ( date_serial_num )
DAYS Niet beschikbaar DAYS ( end_date, start_date )
HOUR Hour ( tijd ) HOUR ( time_serial_num )
MINUTE Minute ( tijd ) MINUTE ( time_serial_num )
MONTH Month ( datum ) MONTH ( date_serial_num )
NOW Niet beschikbaar NOW ( )
SECOND Seconds ( tijd ) SECOND ( date )
TODAY Niet beschikbaar TODAY ( )
TO_DATE Niet beschikbaar TO_DATE ( date_serial_num )
WEEKDAY DayofWeek ( datum ) WEEKDAY ( date_serial_num, [ return_type ] )
WEEKNUM WeekofYear ( datum ) WEEKNUM ( date_serial_num, [ return_type ] )
WORKDAY Niet beschikbaar WORKDAY ( start_date, num_days, [holidays] )
YEAR Year ( datum ) YEAR ( date )
Tekstfuncties
CONCATENATE Niet beschikbaar CONCATENATE ( value, [value, ...] )
FIND Niet beschikbaar FIND ( search, text, [starting] )
JOIN Niet beschikbaar JOIN ( delimiter, [value, ...]
LEFT Left ( tekst ; aantal karakters ) LEFT ( value, [number] )
LEN Length ( tekst ) LEN ( value )
LOWER Lower ( tekst ) LOWER ( value )
MID Middle ( tekst ; begin ; aantal karakters ) MID ( value, starting, length )
REGEXEXTRACT Niet beschikbaar REGEXEXTRACT ( value, regex )
REGEXMATCH Niet beschikbaar REGEXMATCH ( value, regex )
REGEXREPLACE Niet beschikbaar REGEXREPLACE ( value, regex, replacement )
REPLACE Replace ( tekst ; begin ; aantal karakters ; vervangende tekst ) REPLACE ( text, position, length, newText )
REPT Niet beschikbaar REPT ( text, repetition )
RIGHT Right ( tekst ; aantal karakters ) RIGHT ( value, [number] )
SEARCH Position ( tekst ; zoekreeks ; begin ; item ) SEARCH ( search_for, text_to_search, [starting_at] )
SUBSTITUTE Substitute ( tekst ; zoekreeks ; vervangende reeks ) SUBSTITUTE ( text, search, replace, [occurrence] )
T GetAsText ( gegevens ) T ( value )
TRIM Trim ( tekst ) TRIM ( value )
UPPER Upper ( tekst ) UPPER ( value )
VALUE GetAsDate ( tekst ), GetAsNumber ( tekst ), GetAsTime ( tekst ) VALUE ( value )

Opmerkingen 

  • Om in Claris Studio naar een veld te verwijzen, gebruikt u de notatie TabelNaam.VeldNaam. Weet u niet waar u de tabelnaam van een weergave kunt vinden? Momenteel kunt u alleen een tabelnaam zien in een spreadsheetweergave (net boven de eerste kolom). Als u nog geen spreadsheetweergave hebt met dezelfde gegevens als uw huidige weergave, kunt u er een maken.

  • Hoewel Claris Studio u niet toestaat het gegevenstype van een resultaat te specificeren (bijvoorbeeld getal, tekst, datum), zal Claris Studio proberen een geschikt gegevenstype te kiezen. Als er bijvoorbeeld tijdens aaneenschakeling een tekenreeks wordt gedetecteerd (hetzij uit een tekstveld, hetzij uit een tekstconstante), dan zal Claris Studio een tekenreeks als resultaat geven. Als er twee getallen worden gedetecteerd, geeft Claris Studio een getal als resultaat.

  • Met de sjabloontekenreeksoperator kunt u gemakkelijker een uitdrukking schrijven die meerdere tekstconstanten (letterlijke tekst), velden en functies bevat.

    Voorbeeld: `Tekstconstante ${Functie- of veldreferentie} Tekstconstante ${Functie- of veldreferentie}`

  • Het standaard samenvouwgedrag voor witte ruimten van de browser toont meerdere spaties in een tekstconstante (bijvoorbeeld "        ") als één spatie. De tekenreekswaarde wordt niet beïnvloed.

Meest bekende problemen

  • Verwijzingen naar velden uit een andere tabel zijn niet beschikbaar.

  • Datum-, tijd- en tijdstempelvelden worden ondersteund, maar mogelijk moet u de optie Opmaak van het berekeningsveld instellen op Datum, Tijd of Datum en tijd, zodat het berekende resultaat wordt weergegeven zoals verwacht. Deze uitdrukking voegt bijvoorbeeld een week toe aan de waarde in een datumveld en retourneert het resultaat als een datum als Opmaak is ingesteld op Datum:

    Tasks.Date + 7

  • In het dialoogvenster Objectacties wordt het instellen van de waarde van een veld met behulp van de berekeningsengine momenteel alleen ondersteund in korte tekst-, lange tekst-, rich text-, getal-, e-mail- en valutaveldobjecten.