# Only - diagramfunctie

Only() retourneert een waarde als er één, en niet meer dan één, mogelijk resultaat is voor de geaggregeerde gegevens. Als u bijvoorbeeld zoekt naar het enige product waarvan de prijs per eenheid =9 en er zijn meerdere producten met een prijs per eenheid van 9, dan wordt het resultaat NULL geretourneerd.

Syntaxis:

Only([{SetExpression}] [TOTAL [&lt;fld {,fld}&gt;]] expr)

Retourgegevenstypen: dubbele waarde

Argumenten

| Argument | Beschrijving |
| --- | --- |
| expr | De uitdrukking die of het veld dat de gegevens bevat die moeten worden gemeten. |
| SetExpression | De aggregatiefunctie aggregeert standaard over de set mogelijke records die wordt gedefinieerd door de selectie. Met de uitdrukking Set-analyse kunt u een alternatieve set records definiëren. |
| TOTAL | Als het woord TOTAL voor de functieargumenten staat, wordt de berekening gemaakt op basis van alle mogelijke waarden bij de huidige selecties, en niet alleen de selecties die betrekking hebben op de huidige dimensiewaarde. Dit betekent dat de dimensies van het diagram worden genegeerd.<br><br>Wanneer u TOTAL [&lt;fld {.fld}&gt;] gebruikt en de TOTAL-kwalificatie wordt gevolgd door een lijst van één of meer veldnamen als subset van de dimensievariabelen van het diagram, maakt u een subset van de totale mogelijke waarden.<br><br>[Het aggregatiebereik definiëren](https://help.qlik.com/nl-NL/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

TipGebruik Only() als u een NULL-resultaat wilt als er meerdere mogelijke waarden zijn in de steekproefgegevens.

Voorbeeld: diagramuitdrukking

| Voorbeeld | Resultaat |
| --- | --- |
| `Only(Category)` | Toont de `Category` zolang deze uniek is binnen de context. |

## Voorbeeld - Basisprincipes voor Only

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/BasicAggregationFunctions/only.htm)

#### Diagramuitdrukking

Overzicht

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Een gegevensverzameling die wordt geladen in een tabel met de naam `Example`.

* De volgende velden in de gegevenstabel:

  * `Customer`

  * `Product`

  * `UnitSales`

  * `UnitPrice`

Load-script

```
Example:
LOAD * inline [
Customer|Product|UnitSales|UnitPrice
Astrida|AA|4|16
Astrida|AA|10|15
Astrida|BB|9|9
Betacab|BB|5|10
Betacab|CC|2|20
Betacab|DD||25
Canutility|AA|8|15
Canutility|CC||19
] (delimiter is '|');
```

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel met de volgende metingen:

* `=Only({<UnitPrice={9}>} Product)`, om de enige `Product` te berekenen die een `UnitPrice` van `9` heeft.

* `=Only({<Product={DD}>} Customer)`, om de enige `Customer` te berekenen die een `Product` genaamd `DD` verkoopt.

* `=Only({<UnitPrice={20}>} UnitSales)`, om het aantal `UnitSales` te berekenen waarbij `UnitPrice` `20` is.

* `=Only({<UnitPrice={15}>} UnitSales)`, om de waarden van `UnitSales` te berekenen waarbij de `UnitPrice = 15` is.

Results table

| Only({&lt;UnitPrice={9}&gt;} Product) | Only({&lt;Product={DD}&gt;} Customer) | Only({&lt;UnitPrice={20}&gt;} UnitSales) | Only({&lt;UnitPrice={15}&gt;} UnitSales) |
| --- | --- | --- | --- |
| BB | Betacab | 2 | - |

Volg in dit voorbeeld het volgende:

* De eerste kolom retourneert de waarde `BB` omdat dit het enige `Product` is dat een `UnitPrice` van `9` heeft.

* De tweede kolom retourneert `Betacab`, omdat dit de enige `Customer` is die een `Product` verkoopt met de naam `DD`.

* De derde kolom retourneert `2` omdat dit de enige waarde van `UnitSales` is waarbij `UnitPrice = 20` is.

* De vierde kolom retourneert `NULL` omdat er geen enkel resultaat is waarbij `UnitPrice = 15` is. In deze gegevensverzameling zijn er twee waarden van `UnitSales` waarbij de `UnitPrice =15` is.

## Voorbeeld 5 – Scenario met Only

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/BasicAggregationFunctions/only.htm)

#### Diagramuitdrukking

Overzicht

Een gegevensverzameling bevat productverkopen per periode. Het bedrijf wil bepalen of een product in één winkel of in meerdere winkels wordt verkocht.

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Een gegevensverzameling die wordt geladen in een tabel met de naam `Example`.

* De volgende velden in de gegevenstabel:

  * `Date`

  * `RecordID`

  * `StoreProduct`

  * `Sales`

Load-script

```
Example:
Load * inline [
Date, RecordID, StoreProduct, Sales, Store
2024-01-01, 1, Apple, 100, A
2024-01-15, 2, Banana, 80, B
2024-01-30, 3, Carrot, 50, C
2024-02-05, 4, Apple, 120, A
2024-02-20, 5, Banana, 90, B
2024-02-28, 6, Carrot, 60, D
2024-03-10, 7, Apple, 110, A
2024-03-22, 8, Banana, 85, B
2024-03-31, 9, Carrot, 55, C
];
```

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg dit veld toe als dimensie:

* `StoreProduct`

Maak de volgende metingen:

* `=Only(Store)`, om de unieke winkel te berekenen waar het product wordt verkocht.

* `=If(IsNull(Only(Store)), 'Multiple Stores', 'Single Store')`, om te berekenen of het product in één winkel of in meerdere winkels wordt verkocht.

* `=Sum(Sales)`, om de totale productverkoop te berekenen.

Results table

| StoreProduct | Only(Store) | If(IsNull(Only(Store)), 'Multiple Stores', 'Single Store') | Sum(Sales) |
| --- | --- | --- | --- |
| Apple | A | Single Store | 330 |
| Banana | B | Single Store | 255 |
| Carrot | - | Multiple Stores | 165 |

De resultaten geven aan dat `Apples` en `Bananas` slechts in één winkel worden verkocht, terwijl `Carrots` in meerdere winkels wordt verkocht.

## Voorbeeld - Geavanceerd scenario om een tabel met records voor één maand te maken

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/BasicAggregationFunctions/only.htm)

#### Diagramuitdrukking

Overzicht

Dit voorbeeld gebruikt de functie `Only` om een regel-voor-regel tabel met records voor een enkele maand weer te geven. Om dit te bereiken, wordt set-analyse gebruikt om het bereik van ed gewenste recordverzameling te bepalen. Voor set-analyse is ten minste één meting nodig, maar omdat we de recordverzameling niet echt hoeven te aggregeren, kunnen we de aggregatiefunctie `Only` effectief gebruiken om het bereik van de set-analyse te hosten.

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Een gegevensverzameling die wordt geladen in een tabel met de naam `Example`.

* Een voorafgaande LOAD-instructie die het veld `MonthYear` afleidt van het veld `Date` door de dag van de maand in te korten met behulp van de functie `MonthStart` en een datumweergave van de 1e van elke maand te retourneren. Dit resultaat wordt doorgegeven aan de functie `Date` om het weergaveformaat in te stellen op `MMM YY`, bijvoorbeeld `Jan 24`.

* De volgende velden in de gegevenstabel:

  * `Date`

  * `RecordID`

  * `StoreProduct`

  * `Sales`

  * `Store`

Load-script

```
Example:
Load
*,
date(MonthStart (Date),'MMM YY') AS MonthYear
inline [
Date, RecordID, StoreProduct, Sales, Store
2024-01-01, 1, Apple, 100, A
2024-01-15, 2, Banana, 80, B
2024-01-30, 3, Carrot, 50, C
2024-02-05, 4, Apple, 120, A
2024-02-20, 5, Banana, 90, B
2024-02-28, 6, Carrot, 60, D
2024-03-10, 7, Apple, 110, A
2024-03-22, 8, Banana, 85, B
2024-03-31, 9, Carrot, 55, C
];
```

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* `MonthYear`

* `RecordID`

* `Date`

* `StoreProduct`

* `Store`

Maak de volgende metingen:

* `=Only({$<MonthYear={'$(=MaxString(MonthYear))'}>} Sales)`, om de waarde `Sales` te evalueren en alleen die waarden te retourneren waarbij `MonthYear` de laatste (meest recente) `MonthYear` is die beschikbaar is, gebaseerd op de huidige selecties in de tabel. De uitbreiding met dollarteken ($) voert een inline berekening uit met de functie `MaxString`, `$(=MaxString(MonthYear))`, die de tekstweergave van de laatste `MonthYear` waarde teruggeeft.

InformatiePogingen om `MonthYear` te filteren op basis van de numerieke weergave, bijvoorbeeld met behulp van de functie ` Max  `, `Max(MonthYear)`, zouden geen resultaat opleveren. Set-analyse past filterselecties toe die alleen gebaseerd zijn op de tekstweergave van een dubbel gegevenstype; een gegevenstype met een numerieke en tekstweergave zoals een `Date`.

Results table

| MonthYear | RecordID | Date | StoreProduct | Only({$&lt;MonthYear={‘$(=MaxString(MonthYear))’}&gt;} Sales) |
| --- | --- | --- | --- | --- |
| Mar 24 | 7 | 2024-03-10 | Apple | 110 |
| Mar 24 | 8 | 2024-03-22 | Banana | 85 |
| Mar 24 | 9 | 2024-03-31 | Carrot | 55 |

De uitvoer van de functie `Only` produceert een tabel met records die standaard de verkoopwaarde weergeeft voor de laatste, of meest recente, `MonthYear` die beschikbaar is in de gegevens. Als u in de kolom `MonthYear` een eerdere maand selecteert, zoals `Feb 24`, verschijnt de laatste verkoopwaarde voor die maand.

## Meer informatie

* [Set-analyse](https://help.qlik.com/nl-NL/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-analysis-expressions.htm)
* [Het aggregatiebereik definiëren](https://help.qlik.com/nl-NL/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm)