# Num#funkcja skryptu i funkcja wykresu

Funkcja Num#() interpretuje ciąg tekstowy jako wartość liczbową, to znaczy konwertuje ciąg wejściowy na liczbę przy użyciu formatu określonego w drugim parametrze. Jeśli drugi parametr zostanie pominięty, używa separatorów dziesiętnych i tysięcznych ustawionych w skrypcie ładowania danych. Parametrami opcjonalnymi są niestandardowe symbole separatora dziesiętnego i separatora tysięcy.

Składnia:

Num#(text[, format[, dec\_sep [, thou\_sep ] ] ])

Typ zwracanych danych: wartość podwójna

Funkcja Num#() zwraca wartość podwójną z ciągiem i wartością liczbową. Funkcja pobiera reprezentację tekstową wyrażenia wejściowego i generuje liczbę. Nie zmienia formatu liczby: dane wyjściowe są sformatowane tak samo jak dane wejściowe.

Argumenty

| Argument | Opis |
| --- | --- |
| text | Tekstowy ciąg znaków do oceny. |
| format | Ciąg określający format liczb używany w pierwszym parametrze. W przypadku pominięcia zostaną użyte separatory dziesiętne i tysięcy ustawione w skrypcie ładowania danych.<br><br>Funkcja `Num#` obsługuje wiele opcji formatu dla różnych struktur liczbowych, na przykład:<br><br>`#,##0`: Wyświetla liczbę bez miejsc dziesiętnych.<br><br>`#,##0.00`: ​wyświetla liczbę z dwoma miejscami dziesiętnymi.<br><br>`##0.00%`: wyświetla liczbę jako wartość procentową z dwoma miejscami dziesiętnymi.<br><br>`​#,##0;(#,##0)`: formatuje wartości ujemne w nawiasach.<br><br>`$#,##0.00`: Formatuje liczby jako walutę z symbolem $.<br><br>`​0.00E+0`: Wyświetla liczby w notacji naukowej. |
| dec\_sep | Ciąg znaków określający separator dziesiętny. W przypadku pominięcia zostanie użyta wartość zmiennej DecimalSep ustawiona w skrypcie ładowania danych.<br><br>Funkcja `Num#` obsługuje wiele formatów separatorów dziesiętnych, np:<br><br>Przecinek ​„`,`”: na przykład `$1,000,00` w przypadku tysiąca dolarów.<br><br>Kropka „`.`”:​ na przykład `€ 1,000.00`.<br><br>Łącznik „`-`”: używany zamiast tradycyjnej kropki lub przecinka jako separatora dziesiętnego, wyświetla wartości w taki sposób: `¥1,000-00`.<br><br>​Więcej informacji zawiera temat [DecimalSep](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/DecimalSep.htm). |
| thou\_sep | Ciąg znaków określający separator tysięcy. W przypadku pominięcia zostanie użyta wartość zmiennej ThousandSep ustawiona w skrypcie ładowania danych.<br><br>Funkcja `Num#` obsługuje wiele opcji separatora tysięcy:<br><br>Kropka „`.`”: używa kropki jako separatora tysięcy (typowe w niektórych formatach europejskich), wyświetlając w formie `$1.000,00` w połączeniu z przecinkiem jako separatorem dziesiętnym.<br><br>Spacja Space ​„ ”: używa spacji jako separatora tysięcy, co jest typowe w niektórych krajach europejskich. Wygląda tak: `€ 1 000.00`.<br><br>Znak podkreślenia „`_`”: używa znaku podkreślenia jako separatora tysięcy, który jest czasami używany w formatach technicznych lub specyficznych formatach regionalnych. Wyświetla wartości w takiej formie: `$1_000.00`.<br><br>​Więcej informacji zawiera temat [ThousandSep](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/ThousandSep.htm). |

Przykład: wyrażenia wykresu

| Przykład | Wyniki (zwrócona wartość łańcuchowa) |
| --- | --- |
| `Num#( '35,648.31', '#', '.' , ',' )` | Zwraca ciąg znaków `35,648.31` i wartość liczbową `35648.31`. |
| `Num#( ‘35 648.312’, '#', '.' , ',' )` | Zwraca ciąg znaków `35 648.312` i wartość liczbową `35648.312`. |
| `Num#( '35.648,3123', '#', '.' , ',' )` | Zwraca ciąg znaków `35.648,3123` i wartość liczbową ` NULL  `(`-`). |
| `Num#( '35 648,31234', '#', '.' , ',' )` | Zwraca ciąg znaków `35 648,31234` i wartość liczbową ` NULL  `(`-`). |
| `Num#('1,234.56', '#,##0.00')` | Zwraca ciąg znaków `1,234.56` i wartość liczbową `1230.45`. |
| `Num#('$1,230.45', '$#,##0.00')` | Zwraca ciąg znaków `$1,230.45` i wartość liczbową `1234.56`. |
| `Num#('20220315', 'YYYYMMDD')` | Zwraca ciąg znaków `20220315` i wartość liczbową `20220315`. |

## Przykład — podstawy Num\#

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/InterpretationFunctions/num_hash.htm)

#### Skrypt ładowania

Przegląd

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych załadowany do tabeli o nazwie `Example`.

* Tabela zawiera następujące pola:

  * `ProductID`

  * `ProductName`

  * `SalesAmount`

* Standardowe ustawienia dla `ThousandSep` i `DecimalSep` w celu zilustrowania tego przykładu.

* Poprzednie obciążenie wykorzystujące funkcję `Num#`. Po wykonaniu tworzy dodatkowe pole o nazwie `FormattedSalesAmount`.

Skrypt ładowania

```
SET ThousandSep=',';
SET DecimalSep='.';
Example:
LOAD
ProductID,
ProductName,
SalesAmount,
Num#(SalesAmount, '#.##0,00',',','.') AS FormattedSalesAmount
INLINE [
ProductID, ProductName, SalesAmount
1, Product A, '1.234,56'
2, Product B, '2.456,78'
3, Product C, '345,67'
4, Product D, '987,12'
5, Product E, '1.200,45'
];
```

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* ` ProductID
                                       `

* `ProductName`

* `SalesAmount`

* `FormattedSalesAmount`

Utwórz następującą miarę:

* `=Num(FormattedSalesAmount)`, aby wyświetlić wartość liczbową pola zgodnie z ustawieniami systemowymi formatu liczbowego.

Results table

| ProductID | ProductName | SalesAmount | FormattedSalesAmount | Num(FormattedSalesAmount) |
| --- | --- | --- | --- | --- |
| 1 | Product A | 1.234,56 | 1.234,56 | 1234.56 |
| 2 | Product B | 2.456,78 | 2.456,78 | 2456.78 |
| 3 | Product C | 345,67 | 345,67 | 345.67 |
| 4 | Product D | 987,12 | 987,12 | 987.12 |
| 5 | Product E | 1.200,45 | 1.200,45 | 1200.45 |

W tym przykładzie można zaobserwować, jak funkcja `Num#` konwertuje dane `SalesAmount` z oryginalnego formatu tekstu na wartość liczbową.

## Przykład — zastosowanie Num\#

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/InterpretationFunctions/num_hash.htm)

#### Skrypt ładowania

Przegląd

Zbiór danych zawiera dane sprzedaży z kilku krajów w różnych formatach tekstowych. Chcemy ustandaryzować dane i wyświetlić je w tabeli.

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych załadowany do tabeli o nazwie `Example`.

* Tabela zawiera następujące pola:

  * `Country`

  * `Product`

  * `Amount`

* Poprzedzające obciążenie, które wykorzystuje funkcję `Num#` do konwersji wartości w polu `Amount`.

Skrypt ładowania

```
Example:
LOAD
Country,
Product,
IF(Country = 'Germany', Num#(Amount, '#.##0,00', ',', '.'), Num#(Amount, '#,##0.00')) AS Amount
INLINE [
Country, Product, Amount
Germany, Product A, '1.234,56'
USA, Product B, '2,345.78'
Germany, Product C, '987,12'
USA, Product D, '1,200.45'
Germany, Product E, '345,67'
];
```

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* ` Product
                                       `

* ` Country
                                       `

* `Amount`

Utwórz następującą miarę:

* `Num(Amount)`, aby wyświetlić wartość liczbową pola `Amount` zgodnie z ustawieniami systemowymi formatu liczbowego.

Results table

| Product | Country | Amount | Num(Amount) |
| --- | --- | --- | --- |
| Customer A | Germany | 1.234,56 | 1234.56 |
| Customer B | USA | 2,345.78 | 2345.78 |
| Customer C | Germany | 987,12 | 987.12 |
| Customer D | USA | 1,200.45 | 1200.45 |
| Customer E | Germany | 345,67 | 345.67 |

Porównując kolumnę `Amount` z kolumną `Num(Amount)`, widać że dane przedstawione za pomocą funkcji `  Num# ` zmieniają podstawowe wartości liczbowe, ale zachowują format ciągu znaków. Na przykład wszystkie wartości dla `Germany` w kolumnie `Amount` używają przecinka jako separatora dziesiętnego, ale format bazowy w `Num(Amount)` używa kropki dla wszystkich wartości.