Tarih ve saat fonksiyonları, DATE
ve DATETIME
öğelerine dayalı olarak verileri değiştirir.
Fonksiyon | Örnek | Açıklama | Sözdizimi |
---|---|---|---|
CURRENT_Date |
|
Geçerli tarihi verir. Tarih, Oracle İş Zekası'nın çalıştığı sistem tarafından belirlenir. |
|
CURRENT_TIME |
|
Belirtilen sayıdaki duyarlılık basamağı için geçerli zamanı döndürür (örneğin SS:DD:SS.SSS) Bağımsız bir değişken belirtilmemişse, fonksiyon duyarlılık öndeğerini döndürür. |
|
CURRENT_TIMESTAMP |
|
Belirtilen sayıdaki duyarlılık basamağı için, geçerli tarihi/zaman damgasını döndürür. |
|
DAYNAME |
|
Belirtilen tarih ifadesi için haftanın ilgili gününün adını döndürür. |
|
DAYOFMONTH |
|
Belirtilen tarih ifadesi için, ayın ilgili gününe karşılık gelen sayıyı döndürür. |
|
DAYOFWEEK |
|
Belirtilen tarih ifadesi için, haftanın ilgili gününe karşılık gelen 1-7 arasında bir sayı döndürür. Örneğin, 1 sayısı daima Pazar gününü, 2 Pazartesiyi verir. Bu şekilde devam ederek en son 7'yi döndüren Cumartesi gelir. |
|
DAYOFYEAR |
|
Belirtilen tarih ifadesi için, yılın ilgili gününe karşılık gelen 1-366 arasında bir sayı döndürür. |
|
DAY_OF_QUARTER |
|
Belirtilen tarih ifadesi için, üç aylık dönem içindeki güne karşılık gelen 1-92 arasında bir sayı döndürür. |
|
HOUR |
|
Belirtilen saat ifadesi için, ilgili saate karşılık gelen 0-23 arasında bir sayı döndürür. Örneğin, 0 (sıfır) sayısı saat 12:00'ı, 23 ise 23:00'ı temsil eder. |
|
MINUTE |
|
Belirtilen saat ifadesi için, ilgili dakikaya karşılık gelen 0-59 arasında bir sayı döndürür. |
|
MONTH |
|
Belirtilen tarih ifadesi için, ilgili aya karşılık gelen 1-12 arasında bir sayı döndürür. |
|
MONTHNAME |
|
Belirtilen tarih ifadesi için ilgili ayın adını döndürür. |
|
MONTH_OF_QUARTER |
|
Belirtilen tarih ifadesi için, üç aylık dönem içindeki aya karşılık gelen 1-3 arasında bir sayı döndürür. |
|
NOW |
|
Geçerli saat göstergesini verir. |
|
QUARTER_OF_YEAR |
|
Belirtilen tarih ifadesi için yılın ilgili üç aylık dönemine karşılık gelen, 1-4 arasında bir sayı verir. |
|
SECOND |
|
Belirtilen saat ifadesi için ilgili saniyeye karşılık gelen, 0-59 arasında bir sayı verir. |
|
TIMESTAMPADD |
|
Bir zaman damgasına belirtilen sayıda aralık ekler ve tek bir zaman damgası döndürür. Aralık seçenekleri: SQL_TSI_SECOND, SQL_TSI_MINUTE, SQL_TSI_HOUR, SQL_TSI_DAY, SQL_TSI_WEEK, SQL_TSI_MONTH, SQL_TSI_QUARTER, SQL_TSI_YEAR |
|
TIMESTAMPDIFF |
|
İki saat göstergesi arasında belirtilen aralıkların toplam sayısını verir. TIMESTAMPADD ile aynı aralıkları kullanın. |
|
WEEK_OF_QUARTER |
|
Belirtilen tarih ifadesi için üç aylık dönemin ilgili haftasına karşılık gelen, 1-13 arasında bir sayı verir. |
|
WEEK_OF_YEAR |
|
Belirtilen tarih ifadesi için yılın ilgili haftasına karşılık gelen, 1-53 arasında bir sayı verir. |
|
YEAR |
|
Belirtilen tarih ifadesi için yılın adını döndürür. |
|
Mali dönemleri hesaplamak, dizeleri tarihlere dönüştürmek, tarih ve saati belirli bir saat diliminde göstermek ve zaman içindeki farklılıkları hesaplamak için çalışma kitaplarınızdaki tarih fonksiyonlarını kullanırken en iyi sonuçları elde etmeye yönelik bazı ipuçlarını burada bulabilirsiniz.
Mali yılı, üç aylık dönemi ve ayı hesaplayın:
Konu alanları genellikle bir zaman boyutu içerir. Böylece mali üç aylık dönem, mali ay ve mali hafta gibi önceden konfigüre edilmiş dönemleri kullanabilirsiniz. Sadece tarih alanınız varsa tarih fonksiyonlarını kullanarak bu dönemleri kendiniz hesaplayabilirsiniz.
Bu örnek mali üç aylık dönemi hesaplar:
'FY'||cast(YEAR(TIMESTAMPADD(SQL_TSI_MONTH, 7,<date field>)) as char)||'Q'||cast(QUARTER(TIMESTAMPADD(SQL_TSI_MONTH, 7,<same date field>)) as char)
Bu örnek mali yılı ve ayı hesaplar:
'FY'||cast(YEAR(TIMESTAMPADD(SQL_TSI_MONTH, 7,<date field>)) as char)||cast(MONTHNAME(<same date field>) as char)
Notlar:
||
değerleri birleştirir.cast (xxx(date) as char)
tarih alanının bir kısmını çıkartır.TIMESTAMPADD
bir tarihe dönem ekler (veya çıkarır). Bu örnek, ayları eklemek için SQL_TSI_MONTH parametre değerini kullanır.Yukarıdaki hesaplamalar tablolarda iyi çalışır, ancak filtrelerde kullanıldığında döndürülen değerler arasındaki boşluk tuhaf görünebilir. Bu durumda, aşağıdaki örneklere göre daha temiz ancak daha karmaşık bir hesaplama kullanın:
'FY'||evaluate ('to_char(%1,%2)'as char,(EVALUATE('add_months(%1,%2)' as date,<date field>,7)),'YY')||'-Q'||evaluate ('to_char(%1,%2)'as char,(EVALUATE('add_months(%1,%2)' as date,<same date field>,7)),'Q')
'FY'||evaluate ('to_char(%1,%2)'as char,(EVALUATE('add_months(%1,%2)' as date,<date field>,7)),'YY')||'-'||evaluate ('to_char(%1,%2)'as char,<same date field>,'MON')
Bir dizeyi tarihe dönüştürün:
Sütununuzun adını mavi renkte içeren metin kutusunda, sütun adının önüne To_DateTime(
ekleyin, sütun adından sonra kullanmak istediğiniz tarih formatını ve ardından )
ekleyin, sonra Adım Ekle'ye tıklayın.
.png'' çiziminin açıklaması
Tarih dönüştürme fonksiyonunuzu oluşturmak için Düzenle seçeneğini kullandığınızda, tek basamaklı veya iki basamaklı sayılara sahip sütun değerlerini işlemek için Allow_Variable_Digits
ve gerekli örüntüyle eşleşmeyen satırları atmak için Null_On_Error
bağımsız değişkenlerini de kullanabilirsiniz. Gerekli örüntüyle eşleşmeyen verileri işlemenin alternatif yolları için ayrıca bkz. REPLACE ve CAST.
To_DateTime()
kullanmaya alternatif olarak bir değerin veri tipini değiştirmek için CAST() fonksiyonunu kullanın. Örneğin, CAST(SalesDate AS DATE)
.
Ayrıca Değiştir seçeneğini kullanın. Çalışma kitabı tasarımcısında, veri bölmesinde dönüştürmek istediğiniz sütuna gidin, sağ tıklayın ve Değiştir'i seçin. İstediğiniz değiştirme tipini konfigüre edin ve ardından Adım Ekle'ye tıklayın.
Tarih ve saat alanını belirli bir saat diliminde gösterin:
EVALUATE ile birlikte veritabanındaki NEW_TIME fonksiyonunu kullanın. Örneğin:
evaluate ('new_time(%1,%2,%3)' as char, "DV - Pipeline and Forecast"."Opportunity"."Last Updated Date",'GMT','AST')
Tarih alanının saat bileşenini içerdiğine emin olun.
Zaman içindeki farkı hesaplayın:
filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))
Measure - filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))
1-(filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))/Measure display as percentage
Notlar:
SQL_TSI_DAY
kullanılmıştır, ancak alternatif olarak WEEK ve MONTH haftadan haftaya ve aydan aya sabitlerini kullanabilirsiniz.