Ga naar hoofdinhoud Ga naar aanvullende inhoud

Gebruik van aanhalingstekens in het script

U kunt op verschillende manieren aanhalingstekens gebruiken in scriptopdrachten.

In LOAD-opdrachten

In een LOAD-opdracht worden de volgende markeringen als aanhalingsteken gebruikt voor veldnamen en tabelnamen:

Aanhalingstekens voor LOAD-opdracht
Beschrijving van symbolen Symbool Codepunt Voorbeeld

dubbele aanhalingstekens

" " 34 "tekenreeks"
vierkante haakjes [ ] 91, 93 [tekenreeks]
accent grave ` ` 96 `tekenreeks`

En de volgende markeringen moeten worden gebruikt als aanhalingstekens voor tekenreeksliterals:

Aanhalingstekens voor tekenreeksliterals
Beschrijving van symbolen Symbool Codepunt Voorbeeld
enkele aanhalingstekens

' '

39 'tekenreeks'

In SELECT-opdrachten

Voor een SELECT-opdracht die wordt geïnterpreteerd door het ODBC-stuurprogramma, kunnen de regels echter iets anders zijn. Normaal gesproken moet u rechte dubbele aanhalingstekens (Alt + 0034) gebruiken voor veld- en tabelnamen en rechte enkele aanhalingstekens (Alt + 0039) voor literals. Schuine aanhalingstekens (accent grave) worden niet gebruikt. Maar bepaalde ODBC-stuurprogramma's accepteren de schuine tekens niet alleen, ze geven er zelfs de voorkeur aan. In zo'n geval bevatten de gegenereerde SELECT-opdrachten schuine aanhalingstekens.

Voorbeeld van aanhalingstekens in Microsoft Access

Microsoft Access ODBC Driver 3.4 (geleverd bij Microsoft Access 7.0) accepteert de volgende aanhalingstekens bij het analyseren van de instructie SELECT:

Aanhalingstekens voor SELECT-opdracht
Beschrijving van symbolen Symbolen

Veldnamen en tabelnamen:

[ ] of " " of ` `

Tekenreeksliterals:

' '

Andere databases hebben mogelijk andere conventies.

Buiten LOAD-opdrachten

Buiten een LOAD-opdracht, op plaatsen waar QlikView een uitdrukking verwacht, geven dubbele aanhalingstekens een referentie naar een variabele, en niet naar een veld, aan. Als dubbele aanhalingstekens worden gebruikt, wordt de tekenreeks geïnterpreteerd als variabele en wordt de waarde van de variabele gebruikt.

Veldreferenties en tabelreferenties buiten de context

Sommige scriptfuncties verwijzen naar velden die al gemaakt zijn of zich bevinden in de uitvoer van een LOAD-opdracht, bijvoorbeeld Exists() en Peek(). Deze veldreferenties worden buiten de context genoemd, in tegenstelling tot bronveldreferenties die verwijzen naar velden in de context, ofwel in de invoertabel van de LOAD-opdracht.

Veldreferenties en tabelreferenties buiten de context moeten worden beschouwd als literals en hebben dus enkele aanhalingstekens nodig.

Verschil tussen namen en literals

Het verschil tussen namen en literals wordt duidelijker als u de volgende voorbeelden vergelijkt:

Voorbeeld:  

'Sweden' as Country

Als deze uitdrukking wordt gebruikt als deel van de veldlijst in een LOAD- of SELECT-opdracht, wordt de teksttekenreeks "Sweden" geladen als veldwaarde in het QlikView-veld "Country".

Voorbeeld:  

"land" as Country

Als deze uitdrukking wordt gebruikt als deel van de veldlijst in een LOAD- of SELECT-opdracht, wordt de inhoud van het databaseveld of de tabelkolom met de naam "land" geladen als veldwaarde het in QlikView-veld "Country". Dit betekent dat land wordt behandeld als veldreferentie.

Verschil tussen getallen en tekenreeksliterals

Het verschil tussen getallen en tekenreeksliterals wordt duidelijker als u de volgende voorbeelden vergelijkt:

Voorbeeld:  

'12/31/96'

Als deze tekenreeks wordt gebruikt als deel van een uitdrukking, wordt deze in een eerste stap geïnterpreteerd als de teksttekenreeks '12/31/96', die op zijn beurt kan worden geïnterpreteerd als een datum als de datumnotatie 'MM/DD/YY' is. In dat geval wordt de tekenreeks opgeslagen als duale waarde met een numerieke en tekstuele representatie.

Voorbeeld:  

12/31/96

Als deze tekenreeks wordt gebruikt als deel van een uitdrukking, wordt deze numeriek geïnterpreteerd als 12 gedeeld door 31 gedeeld door 96.

Aanhalingstekens in tekenreeksen gebruiken

Als een tekenreeks tekens bevat die als aanhalingstekens kunnen worden gebruikt, is het belangrijk duidelijk aan te geven waar een tekenreeks begint en waar deze eindigt bij het inkaderen van de tekenreeks. Als de tekenreeks niet goed binnen aanhalingstekens is ingekaderd, werkt het script niet of worden de gegevens niet goed geladen.

Er zijn twee methoden voor het inkaderen van tekenreeksen met aanhalingstekens.

Gebruik een bepaald aanhalingsteken voor het inkaderen van de tekenreeks

Gebruik een aanhalingsteken dat niet in de tekenreeks wordt gebruikt en gebruik dit om de volledige tekenreeks binnen aanhalingstekens te zetten. In QlikView wordt dat bepaalde aanhalingsteken gebruikt om te bepalen waar de tekenreeks begint en eindigt.

U kunt een van de volgende aanhalingstekens gebruiken voor het inkaderen van de volledige tekenreeks:

  • Dubbele aanhalingstekens " "
  • Vierkante haakjes [ ]
  • Accent graves ` `
  • Enkele aanhalingstekens ' '

Voorbeeld:  

[Table '1 "2"]

Hier zijn vierkante haakjes gebruikt voor het inkaderen van de tekenreeks. De tekenreeks wordt geladen als: Tabel '1 "2"

'tekenreeks `Naam1` "Naam2'

Hier zijn enkele aanhalingstekens gebruikt voor het inkaderen van de tekenreeks. De tekenreeks wordt geladen als: tekenreeks `Naam1` "Naam2

Escape-tekens gebruiken

Escape-tekens zijn extra exemplaren van het aanhalingsteken dat voor het inkaderen van de tekenreeks wordt gebruikt. Deze moeten naast elk exemplaar van het aanhalingsteken worden geplaatst als dit binnen de tekenreeks voorkomt. Als in een tekenreeks alle aanhalingstekens worden gebruikt, moet u escape-tekens toevoegen naast hetzelfde type aanhalingsteken dat voor het inkaderen van de tekenreeks wordt gebruikt. U kunt escape-tekens ook gebruiken als u een aanhalingsteken wordt gebruiken dat al in een tekenreeks wordt gebruikt.

Alleen de volgende tekens kunnen als escape-tekens worden gebruikt:

  • Dubbele aanhalingstekens " "
  • Vierkante haakjes [ ]
  • Enkele aanhalingstekens ' '

Voorbeeld:  

"Michael zei ""'t is een prachtige dag""."

Als u de tekenreeks binnen dubbele aanhalingstekens " " zet, moet u een extra dubbel aanhalingsteken plaatsen naast elk dubbel aanhalingsteken binnen de tekenreeks.

Deze tekenreeks wordt geladen als Michael zei "'t is een prachtige dag". Wanneer het escape-teken "" wordt gebruikt, detecteert de QlikView-scripteditor welke dubbele aanhalingstekens onderdeel zijn van de tekenreeks en welk aanhalingsteken het einde van de tekenreeks aanduidt. Bij gebruik van een enkel aanhalingsteken ' (apostrof) in een woord, bijvoorbeeld 't, hoeft er geen escape-teken te worden gebruikt, omdat de volledige tekenreeks tussen andere (dubbele) aanhalingstekens staat.

Voorbeeld:  

'Michael zei: "''t is een prachtige dag".'

Als u de tekenreeks binnen enkele aanhalingstekens zet, moet u een extra enkel aanhalingsteken plaatsen naast elk enkel aanhalingsteken binnen de tekenreeks.

Deze tekenreeks wordt geladen als Michael zei "'t is een prachtige dag". Het dubbele aanhalingsteken " voor het citeren van wat Michael zegt, heeft geen escape-teken nodig, omdat het niet het teken is dat voor het inkaderen van de tekenreeks wordt gebruikt.

Voorbeeld:  

[Michael zei ['t is een "prachtige dag]].]

Vierkante haakjes [ ] gedragen zich anders dan de andere twee aanhalingstekens. Als u vierkante haakjes als escape-teken wilt gebruiken, moet u alleen een extra vierkant haakje binnen het rechtse vierkante haakje ] plaatsen, en niet naast het linkse vierkante haakje [.

Deze tekenreeks wordt geladen als Michael zei ['t is een prachtige dag]. Alleen het rechtse vierkante haakje ] krijgt een escape-teken. Het enkele aanhalingsteken ' en het dubbele aanhalingsteken " in de tekenreeks hoeven geen escape-teken te krijgen, omdat deze niet voor het inkaderen van de tekenreeks worden gebruikt.

Was deze pagina nuttig?

Als u problemen ervaart op deze pagina of de inhoud onjuist is – een typfout, een ontbrekende stap of een technische fout – laat het ons weten zodat we dit kunnen verbeteren!

Neem deel aan het Analytics Modernization Program

Remove banner from view

Moderniseer zonder uw waardevolle QlikView-apps op het spel te zetten met het Analytics Modernization Program. Klik hier voor meer informatie of om contact op te nemen: ampquestions@qlik.com