Oracle Analitik'te yöneticiler, tarih ve saat hesaplamaları için kullanılan saat dilimi öndeğerini Sistem Ayarları'nda ayarlar. Bu global ayar tüm hesaplamalara uygulanır. Bu konu, belirli bir hesaplamada farklı bir zaman damgası kullanmak istiyorsanız başka bir zaman dilimini belirtmek için TIMESTAMPADD
fonksiyonunu nasıl kullanacağınızı açıklar.
Sistem Ayarlarında Hesaplamalar İçin Saat Dilimi Öndeğerini Ayarlama
CURRENT_DATE
CURRENT_TIME()
CURRENT_TIMESTAMP()
NOW()
Yönetici olarak, Konsoldaki Gelişmiş Sistem Ayarları bölümünde Tarih Hesaplamaları için Saat Dilimi Öndeğeri seçeneğini kullanarak hesaplamalarda kullanılan zaman damgasını değiştirebilirsiniz. Açılan listeden istediğiniz saat dilimini seçin ve yeni değerin geçerli olması için değişiklikleri uygulayın.
Global saat dilimi ayarları hakkında daha fazla bilgi için bkz. Sistem Ayarları - Format Seçenekleri.
Hesaplamalarda Zaman Damgaları İçin Belirli Bir Saat Dilimi Kullanma
Hesaplamalarınızda sistem ayarı dışında bir zaman damgası oluşturmak için TIMESTAMPADD
fonksiyonunu CURRENT_TIMESTAMP()
veya NOW()
ile birlikte kullanın. Temel TIMESTAMPADD
hesaplaması şu şekildedir:
TIMESTAMPADD(SQL_TSI_<<interval>>, <<integer expression>>, <<timestamp expression>>)
Zaman damgası hesaplamalarında HOUR
zaman aralığıdır ve saat farkı, UTC ile raporlanacak saat dilimi arasındaki saat cinsinden farktır. Örneğin:
TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP(5))
Bu hesaplama, geçerli zaman damgasını ABD Mountain saatinde döndürür. Yeni zaman damgası sütununu mantıksal tablo kaynağında türetilmiş bir sütun olarak oluşturabilir veya doğrudan veritabanına eşleyebilirsiniz. Aralarındaki fark hesaplamanın gerçekleştirileceği yerdir (Oracle Analitik veya veritabanı). Aşağıdaki şekil, İfade Oluşturucu - İfade iletişim kutusunda doğrudan veritabanına eşlenen bir hesaplamayı gösterir.
Saat dilimi öndeğeri UTC olarak ayarlandığında CURRENT_DATE
fonksiyonu kullanıcının saat dilimine göre günün belirli saatleri için doğru tarihi döndürmez. Örneğin UTC gece yarısı olduğunda yerel tarih saat farkı süresi boyunca UTC tarihiyle eşleşmez.
Zaman damgası hesaplamasını bir tarih olarak dönüştürmek bu sorunu çözer. Örneğin:
cast(TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP) as date)
Aşağıdaki şekil, İfade Oluşturucu - Türetilmiş mantıksal sütun iletişim kutusunda türetilmiş sütun olarak oluşturulan bir hesaplamayı gösterir.
Benzersiz veya tek seferlik raporlarda, veri görselleştirmesinde veya klasik analizde rapor düzeyinde zaman damgası hesaplamaları oluşturabilirsiniz. Hesaplamaları yeniden kullanmayı planlıyorsanız, bunları semantik modelde (veya RPD dosyasında) sütunlar olarak tanımlamak genellikle daha kolaydır.
Bu konuda bahsedilen fonksiyonlar hakkında daha fazla bilgi için bkz. Tarih ve Saat Fonksiyonları ve Zaman Serisi Fonksiyonları.