# indaytotime Komut dosyası ve grafik fonksiyonu

Bu fonksiyon, timestamp öğesi günün base\_timestamp öğesinin tam milisaniyesine kadar ve bu milisaniye de dahil olmak üzere base\_timestamp öğesini içeren bölümünde bulunuyorsa, True sonucunu döndürür.

Söz Dizimi:

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

`indaytotime()` fonksiyonu, günün belirli bir diliminin bir zaman damgası değeri içinde olup olmamasına bağlı olarak mantıksal bir sonuç döndürür. Bu dilimin başlangıç sınırı, varsayılan olarak gece yarısına ayarlı olan gün başlangıcıdır; günün başlangıcı `indaytotime()` fonksiyonunun `day_start` bağımsız değişkeniyle değiştirilebilir. Gün diliminin bitiş sınırı fonksiyonun `base_timestamp` bağımsız değişkeniyle belirlenir.

`indaytotime` fonksiyonu diyagramı.

`indaytotime` fonksiyonu diyagramı.

`indaytotime`indaytotime fonksiyonu diyagramı. ![indaytotime fonksiyonunun değişkenleri arasındaki ilişkileri gösteren diyagram.](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-indaytotime-diagram-overview.png)

indaytotime ne zaman kullanılmalı?

`indaytotime()` 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. `indaytotime()` fonksiyonu; belirli bir zaman damgasının günün temel zaman damgasının saatine kadar olan dilimi içinde kalıp kalmadığına bağlı olarak bir toplama veya hesaplama döndürür.

`indaytotime()` fonksiyonu örneğin bugün günün o anına kadar yapılan bilet satışlarının toplamını göstermek için kullanılabilir.

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

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 tam sayıdır. `period_no` içindeki negatif değerler önceki günleri; pozitif değerler ise sonraki günleri gösterir. |
| ` day_start  ` | (isteğe bağlı) Gece yarısı başlamayan günlerle çalışmak istiyorsanız, `day_start` içinde günün kesiri olarak bir fark belirtin. Örneğin, 3.00'ı göstermek için 0,125 kullanın. |

## Bölgesel ayarlar

Aksi belirtilmedikçe bu konudaki örneklerde aşağıdaki tarih formatı kullanılır: MM/DD/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. Daha fazla bilgi için bkz. [Uygulamalar ve komut dosyaları için bölgesel ayarları değiştirme](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm).

Uygulamalardaki varsayılan bölgesel ayarlarda kullanıcı profili temel alınır. Bu bölgesel format ayarları, Qlik Cloud kullanıcı arayüzünde görüntülenen dil ayarlarıyla ilgili değildir. Qlik Cloud, kullandığınız tarayıcıyla aynı dilde görüntülenir.

Bir uygulama oluşturucuysanız, oluşturduğunuz uygulamalar için varsayılan bölgeyi ayarlayabilirsiniz. Daha fazla bilgi için şuraya bakın: [Qlik Cloud Analizleri içinde uygulama ve komut dosyası oluşturmak için tercih ettiğiniz bölgesel ayarları belirleme](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting).

Fonksiyon örnekleri

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

## Örnek 1 – ek bağımsız değişken yok

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

#### Yükleme kodu ve sonuçlar

Genel bakış

Veri yükleme düzenleyicisi öğesini açın ve aşağıdaki komut dosyasını yeni bir sekmeye ekleyin.

Yükleme kodu şunları içerir:

* 4 Ocak ile 5 Ocak arasındaki dönemin işlemlerini içeren bir veri seti "İşlemler" adlı bir tabloya yüklenir.

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

* İşlemlerin 9:00'dan önce mi yapıldığını belirleyen `'in_day_to_time'` alanı ayarlı olarak `indaytotime()` fonksiyonunu içeren önceki bir yükleme.

Komut dosyası

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

Transactions:
    Load
        *,
        indaytotime(date,'01/05/2022 9:00:00 AM',0) as in_day_to_time
        ;
Load
*
Inline 
[
id,date,amount
8188,'01/04/2022 3:41:54 AM',25.66
8189,'01/04/2022 4:19:43 AM',87.21
8190,'01/04/2022 4:53:47 AM',53.80
8191,'01/04/2022 8:38:53 AM',69.98
8192,'01/04/2022 10:37:52 AM',57.42
8193,'01/04/2022 1:54:10 PM',45.89
8194,'01/04/2022 5:53:23 PM',82.77
8195,'01/04/2022 8:13:26 PM',36.23
8196,'01/04/2022 10:00:49 PM',76.11
8197,'01/05/2022 7:45:37 AM',82.06
8198,'01/05/2022 8:44:36 AM',17.17
8199,'01/05/2022 11:26:08 AM',40.39
8200,'01/05/2022 6:43:08 PM',37.23
8201,'01/05/2022 10:54:10 PM',88.27
8202,'01/05/2022 11:09:09 PM',95.93
];
```

Sonuçlar

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

* `date`

* `in_day_to_time`

Sonuçlar tablosu

| tarih | in\_day\_to\_time |
| --- | --- |
| 01/04/2022 3:41:54 | 0 |
| 01/04/2022 4:19:43 | 0 |
| 01/04/2022 04:53:47 | 0 |
| 01/04/2022 8:38:53 | 0 |
| 01/04/2022 10:37:52 | 0 |
| 01/04/2022 13:54:10 | 0 |
| 01/04/2022 17:53:23 | 0 |
| 01/04/2022 20:13:26 | 0 |
| 01/04/2022 22:00:49 | 0 |
| 01/05/2022 7:45:37 | -1 |
| 01/05/2022 8:44:36 | -1 |
| 01/05/2022 11:26:08 | 0 |
| 01/05/2022 18:43:08 | 0 |
| 01/05/2022 22:54:10 | 0 |
| 01/05/2022 23:09:09 | 0 |

Örnek 1 `indaytotime` fonksiyonunun 9:00 sınırıyla diyagramı.

Örnek 1 `indaytotime` fonksiyonunun 9:00 sınırıyla diyagramı.

Örnek 1 `indaytotime`indaytotime fonksiyonunun 9:00 sınırıyla diyagramı. ![indaytotime() fonksiyonunu 9:00 sınırıyla gösteren diyagram.](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-indaytotime-example1-diagram.png)

`in_day_to_time field`; önceki yükleme deyiminde `indaytotime()` fonksiyonu kullanılarak ve fonksiyona bağımsız değişkenlerde tarih alanı için 5 Ocak 9:00 değerine sabit kodlanmış bir zaman damgası ve fark için 0 geçilerek oluşturulur. 5 Ocak'ta gece yarısı ile 9:00 arasında gerçekleşen tüm işlemler TRUE döndürür.

## Örnek 2 – period\_no

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

#### Yükleme kodu ve sonuçlar

Genel bakış

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

Ancak bu örnekte, işlemin 5 Ocak 9:00'dan bir gün önce mi gerçekleştiğini hesaplayacaksınız.

Komut dosyası

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

Transactions:
    Load
        *,
        indaytotime(date,'01/05/2022 9:00:00 AM', -1) as in_day_to_time
        ;
Load
*
Inline 
[
id,date,amount
8188,'01/04/2022 3:41:54 AM',25.66
8189,'01/04/2022 4:19:43 AM',87.21
8190,'01/04/2022 4:53:47 AM',53.80
8191,'01/04/2022 8:38:53 AM',69.98
8192,'01/04/2022 10:37:52 AM',57.42
8193,'01/04/2022 1:54:10 PM',45.89
8194,'01/04/2022 5:53:23 PM',82.77
8195,'01/04/2022 8:13:26 PM',36.23
8196,'01/04/2022 10:00:49 PM',76.11
8197,'01/05/2022 7:45:37 AM',82.06
8198,'01/05/2022 8:44:36 AM',17.17
8199,'01/05/2022 11:26:08 AM',40.39
8200,'01/05/2022 6:43:08 PM',37.23
8201,'01/05/2022 10:54:10 PM',88.27
8202,'01/05/2022 11:09:09 PM',95.93
];
```

Sonuçlar

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

* `date`

* `in_day_to_time`

Sonuçlar tablosu

| tarih | in\_day\_to\_time |
| --- | --- |
| 01/04/2022 3:41:54 | -1 |
| 01/04/2022 4:19:43 | -1 |
| 01/04/2022 04:53:47 | -1 |
| 01/04/2022 8:38:53 | -1 |
| 01/04/2022 10:37:52 | 0 |
| 01/04/2022 13:54:10 | 0 |
| 01/04/2022 17:53:23 | 0 |
| 01/04/2022 20:13:26 | 0 |
| 01/04/2022 22:00:49 | 0 |
| 01/05/2022 7:45:37 | 0 |
| 01/05/2022 8:44:36 | 0 |
| 01/05/2022 11:26:08 | 0 |
| 01/05/2022 18:43:08 | 0 |
| 01/05/2022 22:54:10 | 0 |
| 01/05/2022 23:09:09 | 0 |

Örnek 2 `indaytotime` fonksiyonunun 4 Ocak'tan işlemlerle diyagramı.

Örnek 2 `indaytotime` fonksiyonunun 4 Ocak'tan işlemlerle diyagramı.

Örnek 2 `indaytotime`indaytotime fonksiyonunun 4 Ocak'tan işlemlerle diyagramı. ![4 Ocak işlemlerini döndürmek için period_no olarak -1 kullanan indaytotime() fonksiyonunu gösteren diyagram.](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-indaytotime-example2-diagram.png)

Bu örnekte, `indaytotime()` fonksiyonunda fark bağımsız değişkeni için -1 değeri kullanıldığından, fonksiyon her işlem tarihinin 4 Ocak 9:00'dan önce mi olduğunu belirlemektedir. Bu, işlemin TRUE Boolean değerini döndürdüğü çıktı tablosunda doğrulanabilir.

## Örnek 3 – day\_start

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

#### Yükleme kodu ve sonuçlar

Genel bakış

Birinci örnekteki veri kümesi ve senaryo kullanılır.

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

Komut dosyası

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

Transactions:
    Load
        *,
        indaytotime(date,'01/05/2022 9:00:00 AM', 0,8/24) as in_day_to_time
        ;
Load
*
Inline 
[
id,date,amount
8188,'01/04/2022 3:41:54 AM',25.66
8189,'01/04/2022 4:19:43 AM',87.21
8190,'01/04/2022 4:53:47 AM',53.80
8191,'01/04/2022 8:38:53 AM',69.98
8192,'01/04/2022 10:37:52 AM',57.42
8193,'01/04/2022 1:54:10 PM',45.89
8194,'01/04/2022 5:53:23 PM',82.77
8195,'01/04/2022 8:13:26 PM',36.23
8196,'01/04/2022 10:00:49 PM',76.11
8197,'01/05/2022 7:45:37 AM',82.06
8198,'01/05/2022 8:44:36 AM',17.17
8199,'01/05/2022 11:26:08 AM',40.39
8200,'01/05/2022 6:43:08 PM',37.23
8201,'01/05/2022 10:54:10 PM',88.27
8202,'01/05/2022 11:09:09 PM',95.93
];
```

Sonuçlar

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

* `date`

* `in_day_to_time`

Sonuçlar tablosu

| tarih | in\_day\_to\_time |
| --- | --- |
| 01/04/2022 3:41:54 | 0 |
| 01/04/2022 4:19:43 | 0 |
| 01/04/2022 04:53:47 | 0 |
| 01/04/2022 8:38:53 | 0 |
| 01/04/2022 10:37:52 | 0 |
| 01/04/2022 13:54:10 | 0 |
| 01/04/2022 17:53:23 | 0 |
| 01/04/2022 20:13:26 | 0 |
| 01/04/2022 22:00:49 | 0 |
| 01/05/2022 7:45:37 | 0 |
| 01/05/2022 8:44:36 | -1 |
| 01/05/2022 11:26:08 | 0 |
| 01/05/2022 18:43:08 | 0 |
| 01/05/2022 22:54:10 | 0 |
| 01/05/2022 23:09:09 | 0 |

Örnek 3 `indaytotime` fonksiyonunun 8:00'den 9:00'a kadar işlemlerle diyagramı.

Örnek 3 `indaytotime` fonksiyonunun 8:00'den 9:00'a kadar işlemlerle diyagramı.

Örnek 3 `indaytotime`indaytotime fonksiyonunun 8:00'den 9:00'a kadar işlemlerle diyagramı. ![8:00 ile 9:00 arasındaki işlemleri gösteren indaytotime() fonksiyonunu gösteren diyagram.](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-indaytotime-example3-diagram.png)

`indaytotime()` fonksiyonunda `start_day` bağımsız değişkeni olarak 8:00'a eşit olan 8/24 kullanıldığından, her gün 8:00'da başlayıp bitmektedir. Bu nedenle `indaytotime()` fonksiyonu 5 Ocak'ta 8:00 ile 9:00 arasında yapılan işlemler için mantıksal TRUE sonucunu döndürür.

## Örnek 4 – Grafik nesnesi

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

#### ifadesi

Genel bakış

Birinci örnekteki veri kümesi ve senaryo kullanılır.

Ancak bu örnekte veri kümesi değişmez ve uygulamaya yüklenir. Bir grafik nesnesinde bir hesaplama oluşturarak 5 Ocak 9:00'dan önce bir işlem gerçekleşip gerçekleşmediğini belirleyeceksiniz.

Komut dosyası

```

Transactions:
Load
*
Inline 
[
id,date,amount
8188,'01/04/2022 3:41:54 AM',25.66
8189,'01/04/2022 4:19:43 AM',87.21
8190,'01/04/2022 4:53:47 AM',53.80
8191,'01/04/2022 8:38:53 AM',69.98
8192,'01/04/2022 10:37:52 AM',57.42
8193,'01/04/2022 1:54:10 PM',45.89
8194,'01/04/2022 5:53:23 PM',82.77
8195,'01/04/2022 8:13:26 PM',36.23
8196,'01/04/2022 10:00:49 PM',76.11
8197,'01/05/2022 7:45:37 AM',82.06
8198,'01/05/2022 8:44:36 AM',17.17
8199,'01/05/2022 11:26:08 AM',40.39
8200,'01/05/2022 6:43:08 PM',37.23
8201,'01/05/2022 10:54:10 PM',88.27
8202,'01/05/2022 11:09:09 PM',95.93
];
```

Sonuçlar

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

`date`.

5 Ocak 9:00'dan önce bir işlem gerçekleşiyor mu belirlemek için şu hesaplamayı oluşturun:

`=indaytotime(date,'01/05/2022 9:00:00 AM',0)`

Sonuçlar tablosu

| tarih | =indaytotime(date,'01/05/2022 9:00:00 AM',0) |
| --- | --- |
| 01/04/2022 3:41:54 | 0 |
| 01/04/2022 4:19:43 | 0 |
| 01/04/2022 04:53:47 | 0 |
| 01/04/2022 8:38:53 | 0 |
| 01/04/2022 10:37:52 | 0 |
| 01/04/2022 13:54:10 | 0 |
| 01/04/2022 17:53:23 | 0 |
| 01/04/2022 20:13:26 | 0 |
| 01/04/2022 22:00:49 | 0 |
| 01/05/2022 7:45:37 | -1 |
| 01/05/2022 8:44:36 | -1 |
| 01/05/2022 11:26:08 | 0 |
| 01/05/2022 18:43:08 | 0 |
| 01/05/2022 22:54:10 | 0 |
| 01/05/2022 23:09:09 | 0 |

`in_day_to_time` hesaplaması; grafik nesnesinde `indaytotime()` fonksiyonu kullanılarak ve fonksiyonun bağımsız değişkenlerinde tarih için Ocak 9:00 değerine sabit kodlanmış bir zaman damgası ve fark için `0` geçilerek oluşturulur. 5 Ocak'ta gece yarısı ile 9:00 arasında gerçekleşen tüm işlemler TRUE döndürür. Bu, sonuçlar tablosunda doğrulanır.

## Örnek 5 – Senaryo

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

#### Yükleme kodu ve sonuçlar

Genel bakış

Bu örnekte yerel bir sinemanın bilet satışlarını içeren bir veri seti Ticket\_Sales adlı bir tabloya yüklenmektedir. Bugün 3 Mayıs 2022 ve saat 11:00'dir.

Kullanıcı, bugün şimdiye dek gerçekleşen tüm gösterimlerden elde edilen geliri göstermek için bir KPI grafik nesnesi istemektedir.

Komut dosyası

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

Ticket_Sales:
Load
*
Inline 
[
sale ID, show time, ticket price
1,05/01/2022 09:30:00 AM,10.50
2,05/03/2022 05:30:00 PM,21.00
3,05/03/2022 09:30:00 AM,10.50
4,05/03/2022 09:30:00 AM,31.50
5,05/03/2022 09:30:00 AM,10.50
6,05/03/2022 12:00:00 PM,42.00
7,05/03/2022 12:00:00 PM,10.50
8,05/03/2022 05:30:00 PM,42.00
9,05/03/2022 08:00:00 PM,31.50
10,05/04/2022 10:30:00 AM,31.50
11,05/04/2022 12:00:00 PM,10.50
12,05/04/2022 05:30:00 PM,10.50
13,05/05/2022 05:30:00 PM,21.00
14,05/06/2022 12:00:00 PM,21.00
15,05/07/2022 09:30:00 AM,42.00
16,05/07/2022 10:30:00 AM,42.00
17,05/07/2022 10:30:00 AM,10.50
18,05/07/2022 05:30:00 PM,10.50
19,05/08/2022 05:30:00 PM,21.00
20,05/11/2022 09:30:00 AM,10.50
];
```

Sonuçlar

Aşağıdakileri yapın:

1. Bir KPI nesnesi oluşturun.

2. Bugün şimdiye dek gerçekleşen gösterimlerin bilet satışlarının toplamını göstermek için indaytotime() fonksiyonunu kullanarak bir hesaplama oluşturun:

=sum(if(indaytotime([show time],'05/03/2022 11:00:00 AM',0),[ticket price],0))

1. KPI nesnesi için ‘Geçerli Gelir’ etiketini oluşturun.

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

3 Mayıs 2022'de saat 11:00'a kadat bilet satışlarının toplamı 52,50 USD'dir.

indaytotime () fonksiyonu her bilet satışının gösterim saatini geçerli saat ('05/03/2022 11:00:00’) ile karşılaştırırken mantıksal bir değer döndürür. indaytotime () fonksiyonu, 3 Mayıs'ta saat 11:00'den önce gösterimler için mantıksal TRUE sonucunu döndürür ve gösterimin bilet fiyatı toplama dahil edilir.