# Only - diagramfunktion

Only() returnerar ett värde om det finns ett, och endast ett, möjligt resultat från aggregerade data. Till exempel returnerar en sökning efter den enda produkten med styckpriset =9 NULL om fler än en produkt har styckpriset 9.

Syntax:

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

Returnerad datatyp: dual

Argument

| Argument | Beskrivning |
| --- | --- |
| expr | Det uttryck eller fält som innehåller de data som ska mätas. |
| SetExpression | Som standard kommer aggregeringsfunktionen att aggregera över den uppsättning möjliga poster som definierats av urvalet. En alternativ uppsättning poster kan definieras med ett uttryck för set-analys. |
| TOTAL | Om ordet TOTAL står före funktionsargumenten görs beräkningen över alla valbara värden givet de aktuella valen, och inte bara sådana som rör det aktuella dimensionsvärdet, det vill säga att diagramdimensionerna ignoreras.<br><br>Genom att använda TOTAL [&lt;fld {.fld}&gt;], där kvalificeraren TOTAL följs av en lista med ett eller flera fältnamn som en delmängd av diagramdimensionens variabler, skapar du en delmängd av de totala möjliga värdena.<br><br>[Definiera aggregeringens omfattning](https://help.qlik.com/sv-SE/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

Anteckning om tipsAnvänd Only() när du vill ha ett NULL-resultat om det finns flera möjliga värden i exempeldata.

Exempel: diagramuttryck

| Exempel | Resultat |
| --- | --- |
| `Only(Category)` | Visar `Category` så länge det är unikt i sammanhanget. |

## Exempel – endast grunderna

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

#### Diagramuttryck

Översikt

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning som läses in i en datatabell som heter `Example`.

* Följande fält i datatabellen:

  * `Customer`

  * `Product`

  * `UnitSales`

  * `UnitPrice`

Laddningsskript

```
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 '|');
```

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell med följande mått:

* `=Only({<UnitPrice={9}>} Product)`, för att beräkna den enda `Product` som har ett `UnitPrice` på `9`.

* `=Only({<Product={DD}>} Customer)`, för att beräkna den enda `Customer` som säljer en `Product` som heter `DD`.

* `=Only({<UnitPrice={20}>} UnitSales)`, för att beräkna antalet `UnitSales` där `UnitPrice` är `20`.

* `=Only({<UnitPrice={15}>} UnitSales)`, för att beräkna värdena på `UnitSales` där `UnitPrice = 15`.

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

I detta exempel ska du observera följande:

* Den första kolumnen returnerar värdet `BB` eftersom detta är den enda `Product` som har ett `UnitPrice` på `9`.

* `Betacab`, eftersom det är den enda `Customer` som säljer en `Product` som heter `DD`.

* Den tredje kolumnen returnerar `2` eftersom detta är det enda värdet för `UnitSales` där `UnitPrice = 20`.

* Den fjärde kolumnen returnerar `NULL` eftersom det inte finns något enda resultat där `UnitPrice = 15`. I denna datauppsättning finns det två värden för `UnitSales` där `UnitPrice =15`.

## Exempel – enda scenario

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

#### Diagramuttryck

Översikt

En datauppsättning innehåller produktförsäljning per period. Företaget vill fastställa om en produkt säljs i en enda butik eller i flera butiker.

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning som läses in i en datatabell som heter `Example`.

* Följande fält i datatabellen:

  * `Date`

  * `RecordID`

  * `StoreProduct`

  * `Sales`

Laddningsskript

```
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
];
```

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till det här fältet som en dimension:

* `StoreProduct`

Skapa följande mått:

* `=Only(Store)`, för att beräkna den unika butik där produkten säljs.

* `=If(IsNull(Only(Store)), 'Multiple Stores', 'Single Store')`, för att beräkna om produkten säljs i en enda butik eller i flera butiker.

* `=Sum(Sales)`, för att beräkna den totala produktförsäljningen.

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 |

Resultatet visar att `Apples` och `Bananas` endast säljs i en enda butik medan `Carrots` säljs i flera butiker.

## Exempel – avancerat scenario för att skapa en tabell med poster för en enskild månad

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

#### Diagramuttryck

Översikt

I detta exempel används funktionen `Only` för att visa en tabell med poster rad för rad för en enskild månad. För att uppnå detta används set-analys för att ringa in önskad uppsättning av poster. Uppsättningsanalys kräver minst en åtgärd, men eftersom vi faktiskt inte behöver aggregera postuppsättningen kan vi effektivt använda aggregeringsfunktionen `Only` för att hysa uppsättningsanalysens omfattning.

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning som läses in i en datatabell som heter `Example`.

* En tidigare load-sats som härleder fältet `MonthYear` från fältet `Date` genom att trunkera dagen i månaden, använda funktionen `MonthStart` och returnera en datumrepresentation av den 1:a i varje månad. Detta resultat levereras till funktionen `Date` för att ställa in visningsformatet till `MMM YY`, t.ex. `Jan 24`.

* Följande fält i datatabellen:

  * `Date`

  * `RecordID`

  * `StoreProduct`

  * `Sales`

  * `Store`

Laddningsskript

```
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
];
```

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* `MonthYear`

* `RecordID`

* `Date`

* `StoreProduct`

* `Store`

Skapa följande mått:

* `=Only({$<MonthYear={'$(=MaxString(MonthYear))'}>} Sales)`, för att utvärdera värdet `Sales` och endast returnera dem där `MonthYear` är det senaste (mest aktuella) `MonthYear` som finns tillgänglig, baserat på de aktuella valen i tabellen. Dollarteckenexpansionen ($) utför en in-line-beräkning med hjälp av funktionen `MaxString`, `$(=MaxString(MonthYear))`, som returnerar textrepresentationen av det senaste `MonthYear`-värdet.

Anteckning om informationAtt försöka filtrera `MonthYear` baserat på den numeriska representationen, t.ex. genom att använda funktionen ` Max  `, `Max(MonthYear)`, skulle inte ge något resultat. Set-analys tillämpar filterval som endast baseras på textrepresentationen av en dubbel datatyp; en datatyp med en numerisk representation och en textrepresentation, t.ex. `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 |

Utdata från funktionen `Only` genererar en tabell med poster som enligt standard presenterar försäljningsdata från det senaste, eller mest aktuella, `MonthYear` som finns tillgängligt i uppgifterna. Om du väljer en tidigare månad i kolumnen `MonthYear`, t.ex. `Feb 24`, visas det senaste försäljningsvärdet för den månaden.

## Mer information

* [Set-analys](https://help.qlik.com/sv-SE/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-analysis-expressions.htm)
* [Definiera aggregeringens omfattning](https://help.qlik.com/sv-SE/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm)