Logische Expressies worden gebruikt om berekeningen te specificeren en geven een TRUE of FALSE resultaat. Ze worden gebruikt in de definitie van:
- Not Asked codewaarden voor alle variabelen, bijvoorbeeld UNLESS Q1=1
- No Reply codewaarden voor afgeleide variabelen
- Valid codes van afgeleide single en multiple response variabelen
- Filters voor analyses
- Niet van toepassing (N/A) waarden voor rapportinstructies
- Available waarden voor rapporten en analyses
- Zoekcriteria bij het bewerken van (raw) case data
Logische forumles bevatten Logische Operatoren die toegepast worden op Logische Operanden. Bijvoorbeeld:
SEX=1 AND (AGE=(2,3) OR SEG=1)
Logische operanden kunnen enkel de waarde TRUE of FALSE krijgen
Tabel van logische operanden voor gebruik in logische expressies
Operand | Omschrijving |
---|---|
Constante | Eén van de waarden TRUE of FALSE. Synoniemen kunnen gebruikt worden als alternatieven om de betekenis van een expressie in een gegeven context te verduidelijken. Synoniemen voor TRUE zijn ALL en YES. Synoniemen voor FALSE zijn NON en NO |
Logische functies | De naam van een logische functie voorafgegaan door een variabele naam. Het resultaat is TRUE of FALSE |
Vergelijking | Vergelijkingen geven een variabele of constante waarde een TRUE of FALSE. De effecten van relationele operatoren worden uitgebreid besproken in de sectie Relationele Operatoren hieronder. |
Logische functies
Een Logische Functie wordt gebruikt om de waarheid van een aspect van een variabele te bepalen. Om een functie met een variabele te gebruiken, wordt een functienaam of symbool nà de variabele naam geplaatst.
Bijvoorbeeld : om te bepalen of de variabele met de benaming AGE missende waarden heeft, gebruik je : AGE MISSING
Laat minimaal 1 spatie tussen de functienaam en de variabele naam
Tabel met logische functies voor gebruik in logische expressies:
Functie | Omschrijving |
---|---|
ER | Geeft een TRUE resultaat telkens de variabele een waarde Error als resultaat heeft |
NA | Geeft een TRUE resultaat telkens de variabele een waarde Not Asked als resultaat heeft |
NR | Geeft een TRUE resultaat telkens de variabele een waarde No Reply als resultaat heeft |
MISSING | Geeft een TRUE resultaat telkens de variabele een waarde Error, Not Asked of No Reply als resultaat heeft |
OK | Tegenovergestelde van MISSING hierboven. Geeft een TRUE resultaat wanneer de variabele een geldig antwoord heeft |
Relationele operatoren
Relational Operatoren worden gebruikt om single of multiple waarden te vergelijken. Deze kunnen de vorm krijgen van een variabele naam, een numerieke expressie of een numerieke lijst
Om te bepalen of de variabele met de benaming REGION code 4 heeft gekregen, specifieer je REGION=4
Het is dikwijls nodig om te bepalen of een variabele een of meerdere waarden heeft. Bijvoorbeeld, om te testen of de waarde in REGION 2, 3 of 4 was, specifieer je REGION=(2,3,4). Merk op dat je bij meerdere opties haakjes gebruikt. Volgens de richtlijnen voor numerieke lijsten is het makkelijker / korter om bijvoorbeeld REGION=(2~4) of REGION=(2 to 4) te schrijven.
Tabel met relationele operatoren
Operator | Omschrijving |
---|---|
= MT | Is gelijk aan... (matches).
|
== EQ | Is identiek aan... (equals). Het resultaat is TRUE wanneer de eerste operand identiek is aan de tweede.
|
<> NE | Verschilt van... (is not equal). Het resultaat is TRUE wanneer de eerste operand verschilt van de tweede. Deze operator levert het omgekeerde van de EQ operator hierboven, maar niet het tegenovergestelde van de MT operator (=). |
< LT | Minder dan. Het resultaat is TRUE wanneer:
Is één van de operanden een multiple response waarde of een error dan is het resultaat error |
<= LE | Minder dan of gelijk aan. Het resultaat is TRUE wanneer:
Is één van de operanden een multiple response waarde of een error dan is het resultaat error |
> GT | Groter dan. Het resultaat is TRUE wanneer:
Is één van de operanden een multiple response waarde of een error dan is het resultaat error |
>= GE | Groter dan of gelijk aan. Het resultaat is TRUE wanneer:
Is één van de operanden een multiple response waarde of een error dan is het resultaat error |
@ | Is een substring van... (onderdeel van). Het resultaat is TRUE wanneer beide operanden strings zijn, en de eerste operand de tweede operand bevat |
Logische Operatoren
Tabel met logische binaire operatoren voor gebruik in logiscshe expressies
Operator | Omschrijving |
---|---|
& AND | Het resultaat is TRUE wanneer beide operanden TRUE zijn. Geeft één van de operanden een ERROR, dan is het resultaat een ERROR. Indien één van de twee operanden ontbreekt of FALSE is, dan is het resultaat FALSE |
| OR | Indien één van de operanden een ERROR is, dan is het resultaat een ERROR. Is één van de operanden TRUE dan is het resultaat TRUE |
Tabel met logische unitaire operatoren voor gebruik in logische expressies
Operator | Omschrijving |
---|---|
! NOT | Is de operand een ERROR, dan is het resultaat een ERROR. Is de operand TRUE dan is het resultaat FALSE, is de operand FALSe, dan is het resultaat TRUE. |
UNLESS | Is hetzelfde als NOT (hierboven). Bijvoorbeeld UNLESS Q1=1 is hetzelfde als NOT Q1=1 |