# inday - kod ve grafik fonksiyonu

Bu fonksiyon, timestamp değerinin base\_timestamp değerini içeren gün içinde olması halinde True döndürür.

Söz Dizimi:

InDay (timestamp, base\_timestamp, period\_no[, day\_start])

`inday` fonksiyonunun diyagramı

`inday` fonksiyonunun diyagramı

`inday`inday fonksiyonunun diyagramı ![inday fonksiyonunun bir zaman dilimini tanımlamak ve bu dilime göre boolean sonuçlar döndürmek için nasıl kullanıldığını gösteren diyagram.](https://help.qlik.com/tr-TR/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-inday-diagram.png)

Zaman damgasının hangi güne denk geldiğini tanımlamak için `inday()` fonksiyonu `base_timestamp` bağımsız değişkenini kullanır. Günün başlangıç saati varsayılan olarak gece yarısıdır, ancak `inday()` fonksiyonunun `day_start` bağımsız değişkenini kullanarak günün başlangıç saatini değiştirebilirsiniz. Bu gün tanımlandıktan sonra fonksiyon, önerilen zaman damgasını o günle kıyaslarken mantıksal sonuçlar döndürür.

Ne zaman kullanılır?

`inday()` fonksiyonu bir Boole sonucu döndürür. Normal olarak bu tür bir fonksiyon bir `if expression` içinde bir koşul olarak kullanılır. Bu, değerlendirilen tarihin söz konusu zaman damgasının günü olup olmadığına bağlı olarak bir toplama veya hesaplama döndürür.

Örneğin, `inday()` fonksiyonu belirli bir günde üretilen tüm ekipmanı tanımlamak içini kullanılabilir.

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

Qlik Sense üzerinde Boolean true değeri -1 ile, false ise 0 ile temsil edilir.

Bağımsız Değişkenler

| Bağımsız Değişken | Açıklama |
| --- | --- |
| `timestamp` | `base_timestamp` ile karşılaştırmak istediğiniz tarih ve saat. |
| `base_timestamp` | Zaman damgasını değerlendirmek için kullanılan tarih ve saat. |
| `period_no` | Gün `period_no` ile kaydırılabilir. `period_no`, 0 değerinin `base_timestamp` değerini içeren günü gösterdiği bir tamsayıdır. `period_no` içindeki negatif değerler önceki günleri; pozitif değerler ise sonraki günleri gösterir. |
| `day_start` | Gece yarısı başlamayan günlerle çalışmak istiyorsanız, `day_start` içinde bir günün kesri cinsinden bir kaydırma belirtin; örneğin saat 03:00'ü ifade etmek için 0,125 belirtin. |

## Bölgesel ayarlar

Aksi belirtilmedikçe bu konudaki örneklerde aşağıdaki tarih formatı kullanılır: AA/GG/YYYY. Tarih formatı, veri yükleme kodunuzda `SET DateFormat` deyiminde belirtilir. Varsayılan tarih formatı, bölgesel ayarlarınız ve diğer unsurlar nedeniyle sisteminizde farklı olabilir. Aşağıdaki örneklerdeki formatları ihtiyaçlarınıza uyacak şekilde değiştirebilirsiniz. Dilerseniz yükleme kodunuzdaki formatları aşağıdaki örneklere uyacak şekilde değiştirebilirsiniz.

Uygulamalardaki bölgesel ayarlarda Qlik Sense'in yüklü olduğu bilgisayarın veya sunucunun bölgesel sistem ayarları temel alınır. Eriştiğiniz Qlik Sense sunucusu İsveç olarak ayarlıysa, Veri yükleme düzenleyicisi tarihler, saat ve para birimi için İsveç bölgesel ayarlarını kullanır. Bu bölgesel format ayarları, Qlik Sense kullanıcı arayüzünde görüntülenen dil ayarlarıyla ilgili değildir. Qlik Sense, kullandığınız tarayıcıyla aynı dilde görüntülenir.

Fonksiyon örnekleri

| Örnek | Sonuç |
| --- | --- |
| `inday` ('01/12/2006 00:23:00', '01/12/2006 12:00:00', 0) | True döndürür |
| ` inday  `('01/12/2006 00:23:00', '01/13/2006 12:00:00', 0) | False döndürür |
| `inday` ('01/12/2006 00:23:00 PM', '01/12/2006 12:00:00', -1) | False döndürür |
| `inday` ('01/11/2006 00:23:00', '01/12/2006 12:00:00', -1) | True döndürür |
| `inday` ('01/12/2006 12:23:00', '01/12/2006 12:00:00', 0, 0.5) | False döndürür |
| `inday` ('01/12/2006 00:23:00', '01/12/2006 12:00:00', 0, 0.5) | True döndürür |

## Örnek 1 – Load deyimi (kod)

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

#### Komut dosyası ve sonuçlar

Genel bakış

Veri yükleme düzenleyicisini açın ve aşağıdaki yükleme kodunu yeni bir sekmeye ekleyin.

Yükleme kodu şunları içerir:

* Zaman damgasına göre işlemler içeren ve `Transactions` adlı tabloya yüklenen bir veri kümesi.

* `TimeStamp` sistem değişkeni `(M/D/YYYY h:mm:ss[.fff] TT)` formatında sağlanan bir tarih alanı.

* `in_day` alanı olarak ayarlanmış `inday()` fonksiyonunu içeren önceki bir yükleme.

Komut dosyası

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT';

Transactions:
    Load
        *,
        inday(date,'01/05/2022 12:00:00 AM', 0) as in_day
        ;
Load
*
Inline 
[
id,date,amount
9497,'01/01/2022 7:34:46 PM',13.24
9498,'01/01/2022 10:10:22 PM',31.43
9499,'01/02/2022 8:35:54 AM',36.34
9500,'01/03/2022 2:21:53 PM',51.75
9501,'01/04/2022 6:49:38 PM',15.35
9502,'01/04/2022 10:58:34 PM',74.34
9503,'01/05/2022 5:40:49 AM',73.53
9504,'01/05/2022 11:29:38 AM',50.00
9505,'01/05/2022 7:04:57 PM',47.25
9506,'01/06/2022 8:49:09 AM',74.23
];
```

Sonuçlar

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

* `date`

* `in_day`

Sonuçlar tablosu

| tarih | in\_day |
| --- | --- |
| 01/01/2022 7:34:46 PM | 0 |
| 01/01/2022 10:10:22 PM | 0 |
| 01/02/2022 8:35:54 AM | 0 |
| 01/03/2022 2:21:53 PM | 0 |
| 01/04/2022 6:49:38 PM | 0 |
| 01/04/2022 10:58:34 PM | 0 |
| 01/05/2022 5:40:49 AM | -1 |
| 01/05/2022 11:29:38 AM | -1 |
| 01/05/2022 7:04:57 PM | -1 |
| 01/06/2022 8:49:09 AM | 0 |

`in_day` alanı, önceki yükleme deyiminde `inday()` fonksiyonu kullanılarak ve fonksiyonun bağımsız değişkenlerinde tarih alanı için 5 Ocak değerine sabit kodlanmış bir zaman damgası ve `period_no` için `0` geçilerek oluşturulur.

## Örnek 2 – period\_no

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

#### Komut dosyası ve sonuçlar

Genel bakış

Komut dosyası, birinci örnekte kullanılanla aynı veri kümesini ve senaryoyu kullanır.

Ancak bu örnekte görev, işlem tarihinin 5 Ocak'tan iki gün önce mi olduğunu hesaplamaktır.

Komut dosyası

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT';

Transactions:
    Load
        *,
        inday(date,'01/05/2022 12:00:00 AM', -2) as in_day
        ;
Load
*
Inline 
[
id,date,amount
9497,'01/01/2022 7:34:46 PM',13.24
9498,'01/01/2022 10:10:22 PM',31.43
9499,'01/02/2022 8:35:54 AM',36.34
9500,'01/03/2022 2:21:53 PM',51.75
9501,'01/04/2022 6:49:38 PM',15.35
9502,'01/04/2022 10:58:34 PM',74.34
9503,'01/05/2022 5:40:49 AM',73.53
9504,'01/05/2022 11:29:38 AM',50.00
9505,'01/05/2022 7:04:57 PM',47.25
9506,'01/06/2022 8:49:09 AM',74.23
];
```

Sonuçlar

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

* `date`

* `in_day`

Sonuçlar tablosu

| tarih | in\_day |
| --- | --- |
| 01/01/2022 7:34:46 PM | 0 |
| 01/01/2022 10:10:22 PM | 0 |
| 01/02/2022 8:35:54 AM | 0 |
| 01/03/2022 2:21:53 PM | -1 |
| 01/04/2022 6:49:38 PM | 0 |
| 01/04/2022 10:58:34 PM | 0 |
| 01/05/2022 5:40:49 AM | 0 |
| 01/05/2022 11:29:38 AM | 0 |
| 01/05/2022 7:04:57 PM | 0 |
| 01/06/2022 8:49:09 AM | 0 |

Bu örnekte, `inday()` fonksiyonunda fark bağımsız değişkeni olarak `-2` olan bir `period_no` kullanıldığından, fonksiyon her işlemin tarihinin 3 Ocak mı olduğunu belirler. Bu, bir işlemin mantıksal TRUE sonucu döndürdüğü çıktı tablosunda doğrulanabilir

## Örnek 3 – day\_start

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

#### Komut dosyası ve sonuçlar

Genel bakış

Komut dosyası, önceki örneklerde kullanılanlarla aynı veri kümesini ve senaryoyu kullanır.

Ancak bu örnekte şirket politikası uyarınca çalışma günü 7:00'de başlayıp bitmektedir.

Komut dosyası

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT';

Transactions:
    Load
        *,
        inday(date,'01/05/2022 12:00:00 AM', 0, 7/24) as in_day
        ;
Load
*
Inline 
[
id,date,amount
9497,'01/01/2022 7:34:46 PM',13.24
9498,'01/01/2022 10:10:22 PM',31.43
9499,'01/02/2022 8:35:54 AM',36.34
9500,'01/03/2022 2:21:53 PM',51.75
9501,'01/04/2022 6:49:38 PM',15.35
9502,'01/04/2022 10:58:34 PM',74.34
9503,'01/05/2022 5:40:49 AM',73.53
9504,'01/05/2022 11:29:38 AM',50.00
9505,'01/05/2022 7:04:57 PM',47.25
9506,'01/06/2022 8:49:09 AM',74.23
];
```

Sonuçlar

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

* `date`

* `in_day`

Sonuçlar tablosu

| tarih | in\_day |
| --- | --- |
| 01/01/2022 7:34:46 PM | 0 |
| 01/01/2022 10:10:22 PM | 0 |
| 01/02/2022 8:35:54 AM | 0 |
| 01/03/2022 2:21:53 PM | 0 |
| 01/04/2022 6:49:38 PM | -1 |
| 01/04/2022 10:58:34 PM | -1 |
| 01/05/2022 5:40:49 AM | -1 |
| 01/05/2022 11:29:38 AM | 0 |
| 01/05/2022 7:04:57 PM | 0 |
| 01/06/2022 8:49:09 AM | 0 |

`inday()` fonksiyonunda `start_day` bağımsız değişkeni olarak 7/24 yani 7:00 kullanıldığından, fonksiyon her işlemin 4 Ocak 7:00 ile 5 Ocak 7:00 arasında mı gerçekleştiğini belirler.

Bu; 4 Ocak'ta 7:00'den sonra gerçekleşen işlemlerin mantıksal TRUE sonucunu, buna karşın 5 Ocak'ta 7:00'den sonra gerçekleşen işlemlerin mantıksal FALSE sonucunu döndürdüğü çıktı tablosunda doğrulanabilir.

## Örnek 4 – Grafik nesnesi

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

#### Yükleme kodu ve grafik ifadesi

Genel bakış

Komut dosyası, önceki örneklerde kullanılanlarla aynı veri kümesini ve senaryoyu kullanır.

Ancak bu örnekte veri seti değişmez ve uygulamaya yüklenir. Bir grafik nesnesinde bir hesaplama oluşturarak bir işlemin 5 Ocak'ta mı gerçekleştiğini hesaplayarak belirleyeceksiniz.

Komut dosyası

```

Transactions:
Load
*
Inline 
[
id,date,amount
9497,'01/01/2022 7:34:46 PM',13.24
9498,'01/01/2022 10:10:22 PM',31.43
9499,'01/02/2022 8:35:54 AM',36.34
9500,'01/03/2022 2:21:53 PM',51.75
9501,'01/04/2022 6:49:38 PM',15.35
9502,'01/04/2022 10:58:34 PM',74.34
9503,'01/05/2022 5:40:49 AM',73.53
9504,'01/05/2022 11:29:38 AM',50.00
9505,'01/05/2022 7:04:57 PM',47.25
9506,'01/06/2022 8:49:09 AM',74.23
];
```

Sonuçlar

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

* `date`

Bir işlemin 5 Ocak'ta mı gerçekleştiğini hesaplamak için şu hesaplamayı oluşturun:

`=inday(date,'01/05/2022 12:00:00 AM',0)`

Sonuçlar tablosu

| tarih | inday(date,'01/05/2022 12:00:00 AM',0) |
| --- | --- |
| 01/01/2022 7:34:46 PM | 0 |
| 01/01/2022 10:10:22 PM | 0 |
| 01/02/2022 8:35:54 AM | 0 |
| 01/03/2022 2:21:53 PM | 0 |
| 01/04/2022 6:49:38 PM | 0 |
| 01/04/2022 10:58:34 PM | 0 |
| 01/05/2022 5:40:49 AM | -1 |
| 01/05/2022 11:29:38 AM | -1 |
| 01/05/2022 7:04:57 PM | -1 |
| 01/06/2022 8:49:09 AM | 0 |

## Örnek 5 – Senaryo

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

#### Komut dosyası ve sonuçlar

Genel bakış

Bu örnekte, 5 Ocak'ta üretilen ürünlerin ekip hatası nedeniyle kusurlu oldukları belirlenmiştir. Son kullanıcı, 5 Ocak'ta üretilen hangi ürünlerin durumunun 'kusurlu' veya 'kusursuz' olduğunu ve üretilen ürünlerin maliyetini tarihe göre görüntüleyen bir grafik nesnesi istemektedir.

Veri yükleme düzenleyicisini açın ve aşağıdaki yükleme kodunu yeni bir sekmeye ekleyin.

Yükleme kodu şunları içerir:

* ‘Ürünler’ adlı bir tabloya yüklenen bir veri seti.

* Tablo aşağıdaki alanları içermektedir:

  * ürün kimliği

  * üretim saati

  * maliyet fiyatı

Komut dosyası

```

Products:
Load
*
Inline 
[
product_id,manufacture_date,cost_price
9497,'01/01/2022 7:34:46 PM',13.24
9498,'01/01/2022 10:10:22 PM',31.43
9499,'01/02/2022 8:35:54 AM',36.34
9500,'01/03/2022 2:21:53 PM',51.75
9501,'01/04/2022 6:49:38 PM',15.35
9502,'01/04/2022 10:58:34 PM',74.34
9503,'01/05/2022 5:40:49 AM',73.53
9504,'01/05/2022 11:29:38 AM',50.00
9505,'01/05/2022 7:04:57 PM',47.25
9506,'01/06/2022 8:49:09 AM',74.23
];
```

Sonuçlar

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

=dayname(manufacture\_date)

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

* =if(only(InDay(manufacture\_date,makedate(2022,01,05),0)),'Defective','Faultless')

* =sum(cost\_price)

Hesaplamanın Sayı Biçimini Para olarak ayarlayın.

Görünüş'ün altında Toplamlar'ı kapatın.

Sonuçlar tablosu

| dayname(manufacture\_date) | =if(only(InDay(manufacture\_date,makedate(2022,01,05),0)),'Defective','Faultless') | =sum(cost\_price) |
| --- | --- | --- |
| 01/01/2022 | Kusursuz | 44.67 |
| 01/02/2022 | Kusursuz | 36.34 |
| 01/03/2022 | Kusursuz | 51.75 |
| 01/04/2022 | Kusursuz | 89.69 |
| 01/05/2022 | Kusurlu | 170.78 |
| 01/06/2022 | Kusursuz | 74.23 |

inday() fonksiyonu, ürünlerin her birinin üretim tarihlerini değerlendirirken mantıksal bir değer döndürür. inday() fonksiyonu, 5 Ocak'ta üretilen ürünler için mantıksal TRUE sonucunu döndürür ve ürünleri ‘Kusurlu’ olarak işaretler. FALSE değerini döndüren ve dolayısıyla o gün üretilmeyen ürünler ‘Kusursuz’ olarak işaretlenir.