# ColumnNo - diagramfunktion

ColumnNo() returnerar numret på den aktuella kolumnen inom det aktuella radsegmentet i en pivottabell. Första kolumnen är nummer 1.

Syntax:

ColumnNo([total])

Argument

| Argument | Beskrivning |
| --- | --- |
| TOTAL | Om tabellen är endimensionell eller om kvalificeraren iTOTAL används som argument, motsvarar det aktuella kolumnsegmentet alltid hela kolumnen.<br><br>[Definiera aggregeringens omfattning](https://help.qlik.com/sv-SE/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

Om pivottabellen har flera horisontella dimensioner, inbegriper det aktuella radsegmentet endast kolumner som har samma värden som den aktuella kolumnen i samtliga dimensionsrader utom den rad som visar den sista dimensionen i fältens inbördes sorteringsordning. Fältens inbördes sorteringsordning för horisontella dimensioner i pivottabeller definieras helt enkelt som dimensionernas ordning uppifrån och ned.

Anteckning om informationSortering på y-värden i diagram, eller sortering efter uttryckskolumner i tabeller, är inte tillåtet när denna diagramfunktion används i något av diagrammets uttryck. Dessa sorteringsalternativ är därför automatiskt inaktiverade. När du använder den här diagramfunktion i en visualisering eller tabell kommer sorteringen av visualiseringen att återgå till den sorterade inmatningen av den här funktionen.

Exempel: diagramuttryck

| Exempel | Resultat |
| --- | --- |
| ` IF( ColumnNo()=1, 0, Sum(Sales) / Before(Sum(Sales)))  ` | Om `ColumnNo` är lika med 1 kommer diagrammet att visa noll. I annat fall returneras resultatet av `Sum(Sales) / Before(Sum(Sales)`. I det här exemplet kommer diagrammet att visa värden från kolumn 2 och framåt, medan kolumn 1 visar noll. |

## Exempel – grunderna i ColumnNo

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

#### Diagramuttryck

Översikt

En datauppsättning innehåller kvartalsvisa försäljningsdata. I detta exempel multipliceras försäljningsvärdet för varje period med periodens kolumnnummer.

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

  * `Period`

  * `Sales`

Laddningsskript

```
Example:
Load * inline [
Period, Sales
Q1, 1000
Q2, 2000
Q3, 3000
Q4, 4000
];
```

Resultat

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

* `Period`

Skapa följande mått:

* `=Sum(Sales) * ColumnNo()`, för att beräkna summan av försäljningsvärdena multiplicerat med kolumnnumret, vilket är kvartalet i det här exemplet.

Resultattabell

| Q1 | Q2 | Q3 | Q4 |
| --- | --- | --- | --- |
| 1000 | 4000 | 9000 | 16000 |

Summan av försäljningsvärdet för varje kvartal multipliceras med utdata från funktionen `ColumnNo`. Till exempel är värdet på försäljningen i `Q4` 4000, och utdata från funktionen `ColumnNo` returnerar `4` eftersom `Q4` är den fjärde kolumnen. Därför multiplicerar måttuttrycket `4000` med `4` och returnerar `16000`.

## Exempel – ColumnNo-scenario

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

#### Diagramuttryck

Översikt

En datauppsättning innehåller kvartalsvisa försäljningssiffror. Ett företag vill öka försäljningsdata för Q1 och Q3 (de udda kolumnerna) med 5 % och öka försäljningen för de återstående kolumnerna (Q2 och Q4) med 10 %.

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

  * `Period`

  * `Sales`

Laddningsskript

```
Example:
Load * inline [
Period, Sales
Q1, 1000
Q2, 2000
Q3, 3000
Q4, 4000
];
```

Resultat

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

* `Period`

Skapa följande mått:

* `=Sum(Sales)`, för att beräkna summan av försäljningen.

* `=If(Odd(ColumnNo()), Amount * 1.05, Amount * 1.10)`, att öka försäljningsbeloppen för de udda kolumnerna med 5 % och för de övriga kolumnerna med 10 %.

Resultattabell

| Q1 | Q2 | Q3 | Q4 |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- |
| Sum(Sales) | Om(Udda(KolumnNr()), Belopp \* 1.05, Belopp \* 1.10) | Sum(Sales) | Om(Udda(KolumnNr()), Belopp \* 1.05, Belopp \* 1.10) | Sum(Sales) | Om(Udda(KolumnNr()), Belopp \* 1.05, Belopp \* 1.10) | Sum(Sales) | Om(Udda(KolumnNr()), Belopp \* 1.05, Belopp \* 1.10) |
| 1000 | 1050 | 2000 | 2200 | 3000 | 3150 | 4000 | 4400 |

Resultatet visar att försäljningsvärdena för de udda kolumnerna, 1 och 3 (`Q1` och `Q3`), har ökat med 5 %, medan de återstående jämna kolumnerna, 2 och 4 (`Q2` och `Q4`), har ökat med 10 %.

## Exempel – ColumnNo advanced scenario

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

#### Diagramuttryck

Översikt

I det här exemplet används samma datauppsättning som i det föregående scenariot för att presentera den kumulativa summan för värdena i varje period.

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

  * `Period`

  * `Sales`

Laddningsskript

```
Example:
Load * inline [
Period, Sales
Q1, 1000
Q2, 2000
Q3, 3000
Q4, 4000
];
```

Resultat

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

* `Period`

Skapa följande mått:

* `=RangeSum(Before(Sum(Sales), 0, ColumnNo()))`, för att beräkna den kumulativa summan.

Resultattabell

| Q1 | Q2 | Q3 | Q4 |
| --- | --- | --- | --- |
| 1000 | 3000 | 6000 | 10000 |

I det här exemplet visas hur du använder funktionen `ColumnNo` för att generera en löpande totalsumma. Följande förklaring ger mer information om måttuttrycket: `RangeSum(Before(Sum(Sales), 0, ColumnNo()))`.

`Sum(Sales)`: beräknar försäljningssumman för den aktuella cellen i pivottabellen.

`Before(Sum(Sales), 0, ColumnNo())`: Funktionen `Before` hämtar värden från de föregående kolumnerna i pivottabellen.

* Argumentet `Sum(Sales)` säkerställer att funktionen hämtar summerad `Sales` för de föregående cellerna.

* Offset-värdet på `0` anger kolumnens offset (återstående i det aktuella radsegmentet i den aktuella kolumnen).

* `ColumnNo()` fastställer hur många kolumner tillbaka som ska ingå när data hämtas. Den representerar dynamiskt positionen för den aktuella kolumnen (för kolumn 3 är t.ex. `ColumnNo()` lika med `3`, så funktionen tittar tillbaka över tre kolumner).

`RangeSum()`: Funktionen `RangeSum` beräknar summan av det angivna intervallet av värden. Den hanterar null-värden genom att behandla dem som noll. I detta uttryck genererar `RangeSum` effektivt en kumulativ total genom att summera alla föregående `Sales`-värden som hämtats av funktionen `Before()`, samt försäljningen i den aktuella cellen.