# Money#Komut dosyası ve grafik fonksiyonu

Money#(), bir biçim dizesi sağlanmadığı sürece bir metin dizesini kod dosyasında veya işletim sisteminde ayarlanan biçimde bir para değerine dönüştürür. Özel ondalık ve binlik ayırıcı sembolleri isteğe bağlı parametrelerdir.

Söz Dizimi:

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

Dönüş verileri türü: dual

Bağımsız Değişkenler

| Bağımsız Değişken | Açıklama |
| --- | --- |
| text | Değerlendirilecek metin dizesi. |
| format | Dize sayısal aralığa dönüştürülürken kullanılacak beklenen giriş biçimini açıklayan dize.<br><br>Atlandığı takdirde, veri yükleme komut dosyasında ayarlanmış `MoneyFormat` değeri kullanılır.<br><br>`Money#` fonksiyonu, örneğin farklı para yapıları için birçok biçim seçeneğini destekler:<br><br>​`$#,##0.00`: Bir dolar işareti ve iki ondalık basamak ekler.<br><br>`€ #,##0`: Avro işaretinden sonra bir boşluk bırakarak bir avro işareti ekler ve ondalık basamak eklemez.<br><br>`​¥#,##0`: Ondalık basamaksız bir Japon yeni işareti ekler.<br><br>​`$#,##0;($#,##0)`: Negatif değerleri parantez içinde biçimlendirir.<br><br>​`₣ #.##0,00`​: Binlik ayırıcılar olarak nokta ve ondalıklar için virgül içeren bir İsviçre frangı işareti ekler (örneğin, `  ₣ 1.000,00 `).<br><br>​`R #,##0.00`: İki ondalık basamaklı ve rand sembolünden sonra boşluk bırakılmış Güney Afrika randı işareti.<br><br>​`$ #,##0.000`: Dolar biçimine üç ondalık basamak ekler. |
| dec\_sep | Ondalık sayı ayırıcısını belirten dize. Atlandığı takdirde, veri yükleme komut dosyasında ayarlanmış `MoneyDecimalSep` değeri kullanılır.<br><br>`Money#` fonksiyonu, örneğin birçok ondalık sayı ayırıcı biçimini destekler:<br><br>Virgül ​' `,` ': Örneğin, bin dolar için `$1,000,00`.<br><br>Nokta ' `.` ':​ Örneğin, `€ 1,000.00`.<br><br>Kısa çizgi ' `-` ': Ondalık ayırıcı için geleneksel nokta veya virgül yerine kullanıldığında `¥1,000-00` gibi değerleri gösterir. |
| thou\_sep | Binlik sayı ayırıcısını belirten dize. Atlandığı takdirde, veri yükleme komut dosyasında ayarlanmış `MoneyThousandSep` değeri kullanılır.<br><br>`Money#` fonksiyonu, binlik sayı ayırıcısı için birçok seçeneği destekler:<br><br>Nokta ' `.` ': Binlik ayırıcı için nokta kullanır (bazı Avrupa formatlarında yaygındır), virgül ondalık ayırıcı ile birleştirildiğinde `$1.000,00` olarak görüntülenir.<br><br>Boşluk ​' ': Bazı Avrupa ülkelerinde yaygın olan binlik ayırıcı için boşluk kullanır. `€ 1 000.00` olarak görüntülenir.<br><br>Alt çizgi ​'`_`':​ Bazen teknik veya belirli bölgesel formatlarda kullanılan binlik ayırıcı için bir alt çizgi kullanır. `$1_000.00` gibi değerleri görüntüler. |

`Money#` fonksiyonu genellikle `Num#` fonksiyonuyla aynı şekilde davranır; ancak ondalık ve binlik ayıracılar için varsayılan değerlerini para biçimine ilişkin komut dosyası değişkenlerinden veya para birimine ilişkin sistem ayarlarından alır.

Örnek: Grafik ifadeleri

| Örnek | Sonuçlar |
| --- | --- |
| `Money#('35 648,37 kr' , '# ##0,00 kr',',',' ' )` | `MoneyFormat` ayarı `# ##0,00 kr` olduğunda `35 648,37 kr` döndürür. Bunun bir sayı olarak doğru şekilde değerlendirilmesi için komut dosyanızda aşağıdakilerin ayarlanması gerekir:<br><br><ul> <li> <p><code>SET MoneyDecimalSep=',';</code> </p> </li> <li> <p><code>SET MoneyThousandSep=' ';</code> </p> </li> </ul> |
| `Money#( '$35,648.37', ' $#', '.', ',' )` | Aşağıdaki ayarlandığında `$35,648.37` döndürür:<br><br><ul> <li> <p><code>MoneyFormat</code>: <code>$#</code></p> </li> <li> <p><code>SET MoneyDecimalSep=',';</code> </p> </li> <li> <p><code>SET MoneyThousandSep=' ';</code> </p> </li> </ul> |

## Örnek - Money# temel bilgileri

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

#### Komut dosyası

Genel bakış

Veri yükleme düzenleyicisini açın ve aşağıdaki komut dosyasını yeni bir bölüme ekleyin.

Komut dosyası şunları içerir:

* `Example` adlı veri tablosuna yüklenen bir veri kümesi.

* Veri tablosunda `MoneyValue` adında bir alan.

* Verilerdeki metin değerlerini Qlik Sense tarafından geçerli bir değer olarak tanınacak bir değere dönüştürmek için `Money#` fonksiyonunu kullanan önceki bir yükleme.

Komut dosyası

```
SET MoneyFormat='$ #,##0.00';
SET MoneyThousandSep=',';
Example:
Load *, Money#(MoneyValue, '# ##0,00 kr',',',' ') as FormattedMoneyValue;
Load * inline [
MoneyValue
35 648,37 kr
56 735,56 kr
] (delimiter is ';');
```

Sonuçlar

Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:

* `MoneyValue`

* `FormattedMoneyValue`

Aşağıdaki hesaplamaları oluşturun:

* `=Money( FormattedMoneyValue, 'kr #,##0', '.' , ',' )`, değeri para olarak görüntülemek için, `Money` fonksiyonunda ayarlanan bağımsız değişkenleri kullanılarak biçimlendirilir.

* `=Num(FormattedMoneyValue)`, `Money#` fonksiyonu tarafından işlendikten sonra sayısal değeri döndürmek için.

Results table

| MoneyValue | FormattedMoneyValue | Money( FormattedMoneyValue, 'kr #,##0', '.' , ',' ) | Num(FormattedMoneyValue) |
| --- | --- | --- | --- |
| 56 735,56 kr | 56 735,56 kr | kr 56,736 | 56735.56 |
| 35 648,37 kr | 35 648,37 kr | kr 35,648 | 35648.37 |

Sonuç tablosu, aşağıdaki fonksiyonlar ve format kullanılarak değerlerin nasıl görüntülenebileceğini göstermektedir: `Money#`, `Money` ve `Num`. İkinci sütun, değeri `'# ##0,00 kr',',',' '` biçiminde paraya dönüştürmek için `Money#` fonksiyonu kullanılarak hesaplanan `FormattedMoneyValue` boyutunu gösterir. Üçüncü sütun, `FormattedMoneyValue` para birimi biçimini `'kr #,##0', '.' , ','` olarak değiştirmek için `Money` fonksiyonunu kullanır. Dördüncü sütun, sistem değişkenindeki biçimi kullanarak `FormattedMoneyValue` boyutunun sayısal değerini göstermek için `Num` fonksiyonunu kullanır.

## Örnek - Money# senaryosu

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

#### Komut dosyası

Genel bakış

Satış siparişlerinden oluşan bir veri kümesi, farklı para birimleri kullanan alanlar içerir. Bu örnekte, satış değerlerinin para birimine göre nasıl ayrılacağı ve toplanacağı gösterilmektedir.

Veri yükleme düzenleyicisini açın ve aşağıdaki komut dosyasını yeni bir bölüme ekleyin.

Komut dosyası şunları içerir:

* `Example` adlı veri tablosuna yüklenen bir veri kümesi.

* Veri tablosundaki şu alanlar:

  * `TransactionID`

  * `Currency`
  * `Amount`

* `MoneyDecimalSep`, `MoneyFormat` ve `MoneyThousandSep` sistem değişkenleri, gösterim amacıyla verilerde kullanılanlardan farklı bir format kullanacak şekilde ayarlanmıştır.

* `TransactionID`, `Currency` ve `Amount` alanlarını yükleyen ve aşağıdaki alanı oluşturan önceki bir yükleme:

  * `AmountValue` bu alan, aldığı metni sistemin anlayacağı bir değere dönüştürmek için `Money#` fonksiyonunu kullanır.

Komut dosyası

```
SET MoneyDecimalSep='-';
SET MoneyFormat='###0-00';
SET MoneyThousandSep=';';
Example:
LOAD
TransactionID,
Currency,
Amount,
IF(Currency = 'USD', Money#(Amount, '$#,##0.00','.',','),
IF(Currency = 'EUR', Money#(Amount, '€ #.##0,00',',','.'))) AS AmountValue
INLINE [
TransactionID, Currency, Amount
"TXN001", "USD", "$ 1,500.00"
"TXN002", "EUR", "€ 1.200,75"
"TXN003", "USD", "$ 1,750.50"
"TXN004", "EUR", "€ 950,00"
"TXN005", "USD", "$ 2,600.25"
];
```

Sonuçlar

Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:

* `TransactionID`

* `Currency`

* `Amount`

* `AmountValue`

Şu hesaplamayı oluşturun:

* `Num(AmountValue)`

Sonuçlar tablosu

| TransactionID | Currency | Amount | AmountValue | Num(AmountValue) |
| --- | --- | --- | --- | --- |
| TXN001 | USD | $1,500.00 | $ 1,500.00 | 1500 |
| TXN002 | EUR | € 1.200,75 | € 1.200,75 | 1200.75 |
| TXN003 | USD | $ 1,750.50 | $ 1,750.50 | 1750.5 |
| TXN004 | EUR | € 950,00 | € 950,00 | 950 |
| TXN005 | USD | $ 2,600.25 | $ 2,600.25 | 2600.25 |

Sonuçlar, `Money#` fonksiyonunun metin değerlerini daha sonra değerlendirilebilecek parasal sayısal değerlere nasıl dönüştürdüğünü göstermektedir. Örneğin, `Amount` alanındaki değerler metindir ve sola hizalı olarak görünür. Ancak bunlar `Money#` fonksiyonu tarafından işlenerek yeni bir alan olan `AmountValue` oluşturulduğunda, sistem artık bunları parasal sayısal değerler olarak tanır. En sağdaki sütunda kullanılan `Num` fonksiyonu artık `AmountValue` içindeki parasal değerleri değerlendirebilir ve formatı paradan sayıya dönüştürebilir.