Fonksiyonlar

İfadelerde kullanabileceğiniz çeşitli türde fonksiyonlar vardır.

Konular:

Analitik Fonksiyonlar

Analitik fonksiyonları tahmin, eğilim çizgisi ve küme gibi modelleri kullanan verileri araştırmanızı sağlar. Alternatif olarak, analitik fonksiyonlarını çalışma kitabı düzenleyicisine sürükleyip bırakabilirsiniz.

Alternatif olarak, çalışma kitabı düzenleyicisindeki Veri Paneli'nin Analitik sekmesinden seçerek bir çalışma kitabına tahminler, eğilim çizgileri ve kümeler ekleyebilirsiniz. Bkz. Görselleştirmelere İstatistiksel Analiz Ekleme.

Fonksiyon Örnek Açıklama Sözdizimi

CLUSTER

CLUSTER((product, company), (billed_quantity, revenue), 'clusterName', 'algorithm=k-means;numClusters=%1;maxIter=%2;useRandomSeed=FALSE;enablePartitioning=TRUE', 5, 10)

K-Ortalamaları veya Hiyerarşik Öbek Oluşturma kullanarak kayıt kümesini bir veya daha fazla girdi ifadesi temelinde toplar.

CLUSTER((dimension_expr1, ... dimension_exprN), (expr1, ... exprN), output_column_name, options, [runtime_binded_options])

FORECAST

Gün Bazında Gelir Tahmini Örneği

Bu örnek, gün bazında gelir tahminini seçer.

FORECAST("A - Sample Sales"."Base Facts"."1- Revenue" Target,
("A - Sample Sales"."Time"."T00 Calendar Date"),'forecast', 'numPeriods=30;predictionInterval=70;') ForecastedRevenue

Yıl ve Üç Aylık Dönem Bazında Gelir Tahmini Örneği

Bu örnek, yıl ve üç aylık dönem bazında gelir tahminini seçer.

FORECAST("A - Sample Sales"."Base Facts"."1- Revenue",
("A - Sample Sales"."Time"."T01 Year" timeYear, "A - Sample Sales"."Time"."T02 Quarter" TimeQuarter),'forecast', 'numPeriods=30;predictionInterval=70;') ForecastedRevenue

Üssel Düzleme veya Mevsimsel ARIMA ya da ARIMA kullanarak seri üzerinde belirtilen ölçünün bir zaman serisi modelini oluşturur. Bu fonksiyon, numPeriods bağımsız değişkeni tarafından belirtilen bir dizi dönem için tahmin verir.

Aşağıdaki ek FORECAST Fonksiyonu Seçeneklerini de inceleyin.

FORECAST(measure, ([series]), output_column_name, options,[runtime_binded_options])])

Bu ifadelerin anlamı şudur:

  • measure tahmin edilecek ölçüyü temsil eder. Örneğin, gelir verisi.

  • series, tahmin modelini oluşturmak için kullanılan zaman dilimini temsil eder. Seri, bir veya daha fazla zaman boyutu sütunu listesidir. Series hariç tutulduğunda, zaman parçası sorgudan belirlenir.

  • output_column_name; forecast, low, high ve predictionInterval geçerli sütun adlarını temsil eder.

  • options, ad/değer çiftlerinin noktalı virgülle (;) ayrılmış bir dize listesini temsil eder. Değer, runtime_binded_options içinde belirtilen %1 ... %N değerlerini içerebilir.

  • runtime_binded_options, sütun ve seçeneklerin virgülle ayrılmış bir listesini temsil eder. Bu sütunlara ve seçeneklere yönelik değerler, bireysel sorgu yürütme süresi boyunca değerlendirilir ve çözümlenir.

Aşağıdaki ek FORECAST Fonksiyonu Seçeneklerini de inceleyin.

OUTLIER

OUTLIER((product, company), (billed_quantity, revenue), 'isOutlier', 'algorithm=kmeans')

K-Ortalamaları veya Hiyerarşik Kümeleme ya da Çok Çeşitli Aykırı Değer algılama Algoritmaları kullanarak bir veya daha fazla girdi ifadesi temelinde bir kaydı Aykırı Değer olarak sınıflandırır.

OUTLIER((dimension_expr1, ... dimension_exprN), (expr1, ... exprN), output_column_name, options, [runtime_binded_options])

REGR

REGR(revenue, (discount_amount), (product_type, brand), 'fitted', '')

Doğrusal bir modele uyar ve uyan değerleri veya modeli döndürür. Bu fonksiyon, iki ölçüye doğrusal eğrinin uydurulması için kullanılabilir.

REGR(y_axis_measure_expr, (x_axis_expr), (category_expr1, ..., category_exprN), output_column_name, options, [runtime_binded_options])

TRENDLINE

TRENDLINE(revenue, (calendar_year, calendar_quarter, calendar_month) BY (product), 'LINEAR', 'VALUE')

Oracle, bir görselleştirmeyi görüntülerken İstatistik Ekle niteliğini kullanarak bir Eğilim Çizgisi uygulamanızı önerir. Bkz. Görselleştirme Niteliklerini Ayarlama.

Doğrusal, polinom veya üstel bir modele uyar ve uyan değerleri veya modeli döndürür. numeric_expr, eğilim için Y değerini temsil eder ve series (zaman sütunları) X değerini temsil eder.

TRENDLINE(numeric_expr, ([series]) BY ([partitionBy]), model_type, result_type)

FORECAST Fonksiyonu Seçenekleri Aşağıdaki tabloda, FORECAST fonksiyonu ile kullanılabilecek seçenekler yer almaktadır.

Seçenek Adı Değerler Açıklama
numPeriods Integer Tahmin edilecek dönem sayısı.
predictionInterval 0-100, yüksek değer daha yüksek güven anlamına gelir Öngörünün güven düzeyi.
modelType

ETS (Üssel Düzleme)

SeasonalArima

ARIMA

Tahmin için kullanılacak model.
useBoxCox

TRUE

FALSE

TRUE ise Box-Cox dönüşümü kullanın.
lambdaValue Uygulanabilir değil

Box-Cox dönüşümü parametresi.

NULL ise veya useBoxCox FALSE ise yoksayın.

Aksi takdirde veriler model tahmin edilmeden önce dönüştürülür.

trendDamp

TRUE

FALSE

Bu Üssel Düzleme modeline özeldir.

TRUE ise azaltılan eğilim kullanın. FALSE veya NULL ise azaltılmayan eğilim kullanın.

errorType

Uygulanabilir değil

Bu Üssel Düzleme modeline özeldir.
trendType

N (hiçbiri)

A (toplanarak artan)

M (katlanarak artan)

Z (otomatik seçim)

Bu Üssel Düzleme modeline özeldir
seasonType

N (hiçbiri)

A (toplanarak artan)

M (katlanarak artan)

Z (otomatik seçim)

Bu Üssel Düzleme modeline özeldir
modelParamIC

ic_auto

ic_aicc

ic_bic

ic_auto (bu öndeğerdir)

Model seçiminde kullanılan bilgi ölçütü.

Dönüştürme Fonksiyonları

Dönüştürme fonksiyonları bir değeri bir biçimden başka bir biçime dönüştürür.

Fonksiyon Örnek Açıklama Sözdizimi

CAST

CAST(hiredate AS CHAR(40)) FROM employee

Bir ifade ya da boş değer sabit metni veri türünü başka bir veri türüyle değiştirir. Örneğin customer_name (CHAR veya VARCHAR veri tipi) veya birthdate (tarih/saat sabit değeri) veri tipini dönüştürebilirsiniz.

Bir Date veri tipine değiştirmek için CAST kullanın.

TODATE kullanmayın.

CAST(expr AS type)

IFNULL

IFNULL(Sales, 0)

Bir ifadenin boş bir değere yol açıp açmadığını test eder, boş değere yol açıyorsa ifadeye belirtilen değeri atar.

IFNULL(expr, value)

INDEXCOL

SELECT INDEXCOL(VALUEOF (NQ_SESSION.GEOGRAPHY_LEVEL), Country, State, City), Revenue FROM Sales

Oturum açmış kullanıcının görmesi için uygun sütunu döndürmek üzere harici bilgileri kullanır.

INDEXCOL([integer literal], [expr1] [, [expr2], ?-])

NULLIF

SELECT e.last_name, NULLIF(e.job_id, j.job_id) "Old Job ID" FROM employees e, job_history j WHERE e.employee_id = j.employee_id ORDER BY last_name, "Old Job ID";

İki ifadeyi karşılaştırır. Eşitlerse fonksiyon NULL değeri döndürür. Eşit değillerse fonksiyon ilk ifadeyi döndürür. İlk ifade için bir NULL (boş) sabit metin değerini belirleyemezsiniz.

NULLIF([expression], [expression])

To_DateTime

SELECT To_DateTime ('2009-03-0301:01:00', 'yyyy-mm-dd hh:mi:ss') FROM sales

DateTime formatının sabit değerlerini DateTime veri tipine dönüştürür.

To_DateTime([expression], [literal])

VALUEOF

SalesSubjectArea.Customer.Region = VALUEOF("Region Security"."REGION")

Bir filtredeki semantik model değişkeninin değerini referans gösterir.

VALUEOF fonksiyonunun bağımsız değişkenleri olarak expr değişkenlerini kullanın. Adına göre statik semantik model değişkenlerine bakın.

VALUEOF(expr)

Veri Çıkartma Fonksiyonları

Bu fonksiyonlar zaman damgası değerlerini en yakın belirtilen süreye hesaplar veya aşağı yuvarlar, örneğin saat, gün, hafta, ay veya üç aylık dönem.

Farklı bir ayrıntı düzeyi kullanarak verileri özetlemek üzere hesaplanmış zaman damgalarını kullanabilirsiniz. Örneğin, verileri gün bazında özetlemek için siparişlerin gerçekleştiği günün gece yarısı için bir zaman damgası hesaplamak üzere EXTRACTDAY() fonksiyonunu satış siparişi tarihlerine uygulayabilirsiniz.

Fonksiyon Örnek Açıklama Sözdizimi

Gün Çıkartma

EXTRACTDAY("Order Date")
  • 22/2/1967 3:02:01 Döndürülen tarih: 22/2/1967 00:00:00.
  • 2/9/2022 10:38:21 Döndürülen tarih: 2/9/2022 00:00:00.

Girdi değerinin olduğu günde gece yarısına (00.00) ilişkin bir zaman damgası döndürür. Örneğin, girdi zaman damgası 22 Şubat 3:02:01 için ise, fonksiyon 22 Şubat 00.00 için zaman damgasını döndürür.

EXTRACTDAY(expr)

Saat Çıkartma

EXTRACTHOUR("Order Date")
  • 22/2/1967 3:02:01 Döndürülen tarih: 22/2/1967 3:00:00.
  • 17/06/1999 11:18:30 PM Döndürülen tarih: 17/06/1999 11:00:00 PM.

Girdi değerinin olduğu saat başlangıcına ilişkin bir zaman damgası döndürür. Örneğin, girdi zaman damgası 23:18:30 için ise, fonksiyon 23:00:00 için zaman damgasını döndürür.

EXTRACTHOUR (ifade)

Günün Saatini Çıkartma

EXTRACTHOUROFDAY("Order Date")
  • 24/09/2014 10:58:00 Döndürülen tarih: 01/01/2000 /10:00:00.
  • 13/08/2014 11:10:00 Döndürülen tarih: 01/01/2000 11:00:00

Yıl, ay, gün, dakika ve saniye için öndeğerler ile saatin girdi değerinin saatine eşit olduğu bir zaman damgası döndürür.

EXTRACTHOUROFDAY(expr)

Milisaniye Çıkartma

EXTRACTMILLISECOND("Order Date")
  • 01/01/1997 15:32:02.150 Döndürülen tarih: 01/01/1997 15:32:02.150.
  • 07/01/1997 18:42:01.265 Döndürülen tarih 07/01/1997 18:42:01.265.
Girdi değeri için milisaniye içeren bir zaman damgası döndürür. Örneğin, girdi zaman damgası 15:32:02.150 için ise, fonksiyon 15:32:02.150 için zaman damgasını döndürür.

EXTRACTMILLISECOND(expr)

Dakika Çıkartma

EXTRACTMINUTE("Order Date")
  • 17/6/1999 23:18:00 Döndürülen tarih: 17/6/17/1999 23:18:00.
  • 2/9/2022 10:38:21 Döndürülen tarih: 2/9/2022 10:38:00.

Girdi değerinin olduğu değer başlangıcına ilişkin bir zaman damgası döndürür. Örneğin, girdi zaman damgası 11:38:21 için ise, fonksiyon 11:38:00 için zaman damgasını döndürür.

EXTRACTMINUTE (expr)

Ay Çıkartma

EXTRACTMONTH("Order Date")
  • 22/2/1967 3:02:01 Döndürülen tarih: 1/2/1967 00:00:00.
  • 17/6/1999 23:18:00 Döndürülen tarih: 1/6/1999 00:00:00.

Girdi değerinin olduğu ayın ilk gününe ilişkin bir zaman damgası döndürür. Örneğin, girdi zaman damgası 22 Şubat için ise, fonksiyon 1 Şubat için zaman damgasını döndürür.

EXTRACTMONTH(expr)

Üç Aylık Dönem Çıkartma

EXTRACTQUARTER("Order Date")
  • 22/2/1967 3:02:01 Döndürülen tarih: 1/1/1967 00:00:00, ilk mali üç aylık dönemin ilk günü.
  • 17/6/1999 23:18:00 Döndürülen tarih: 1/4/1999 00:00:00, ikinci mali üç aylık dönemin ilk günü.

  • 2/9/2022 10:38:21 Döndürülen tarih: 1/7/2022 00:00:00, üçüncü mali üç aylık dönemin ilk günü.

    İpucu: Dönen zaman damgasından sadece sıralı üç aylık dönemi hesaplamak için QUARTER (expr) kullanın.

Girdi değerinin olduğu üç aylık dönemin ilk gününe ilişkin bir zaman damgası döndürür. Örneğin, girdi zaman damgası üçüncü mali üç aylık dönemse ise fonksiyon 1 Temmuz için zaman damgasını döndürür.

EXTRACTQUARTER(expr)

Saniye Çıkartma

EXTRACTSECOND("Order Date")
  • 07/01/1997 15:32:02.150 Döndürülen tarih: 07/01/1997 15:32:02.
  • 07/01/1997/01/07 20:44:18.163 Döndürülen tarih: 07/01/1997 20:44:18.

Girdi değeri için bir zaman damgası döndürür. Örneğin, girdi zaman damgası 15:32:02.150 için ise, fonksiyon 15:32:02. için zaman damgasını döndürür.

EXTRACTSECOND(expr)

Hafta Çıkartma

EXTRACTWEEK("Order Date")
  • 24/09/2014 10:58:00 Döndürülen tarih: 21/09/2014.

  • 13/08/2014 11:10:00 Döndürülen tarih: 10/08/2014.

Girdi değerinin olduğu haftanın ilk gününün tarihini (Pazar) döndürür. Örneğin, girdi zaman damgası 24 Eylül Çarşamba için ise, fonksiyon 21 Eylül Pazar için zaman damgasını döndürür.

EXTRACTWEEK(expr)

Yıl Çıkartma

EXTRACTYEAR("Order Date")
  • 22/02/1967 03:02:01 Döndürülen tarih: 01/01/1967 00:00:00.
  • 17/06/1999 23:18:00 Döndürülen tarih: 01/01/1999 00:00:00.

Girdi değerinin olduğu yıla ilişkin olarak 1 Ocak için bir zaman damgası döndürür. Örneğin, girdi zaman damgası 1967'de ise fonksiyon 1 Ocak 1967 için zaman damgasını döndürür.

EXTRACTYEAR (expr)

Konu Alanlarında Tarih Boyutlarının Kullanımı ile İlgili İpuçları

Hesaplamalarda konu alanı tarihlerini kullanırken en iyi sonuçları almak için bazı ipuçları.

Hesaplamaya Konu Alanı Tarihi Ekleme

Konu alanından bir tarihi doğrudan bir hesaplamaya sürükleyip dize veya tamsayı olarak işlerseniz hata alırsınız. Bunun nedeni, temel tarih değerinin bir zaman damgası olmasıdır.

Bunun yerine tarihi yorumlamak için Veri Çıkartma Fonksiyonları arasından birini kullanın.

Örneğin, aşağıdaki konu alanı tarihleriniz olabilir.
GUID-39C55B3A-A055-45D3-9904-948680247C08-default.png açıklaması aşağıdadır
.png'' çiziminin açıklaması

Bu konu alanı tarihlerinden ayları çıkartmak için ExtractMonthOfYear fonksiyonunu kullanın:

case when monthname(ExtractMonthOfYear("Date")) in ('Jan' ,'Feb', 'Mar') 
THEN 'Q1' 
ELSE 'Rest of the year' END

Görüntüleme Fonksiyonları

Fonksiyonları görüntüleme bir sorgu kümesinin sonuçlarına göre çalışır.

Fonksiyon Örnek Açıklama Sözdizimi

BottomN

BottomN(Sales, 10)

En düşükten en yükseğe sıralı olarak, ifadenin en düşük n değerini döndürür.

BottomN([NumericExpression], [integer])

FILTER

FILTER(Sales USING Product = 'widget')

Verili önceden birleştirmeli filtreyi kullanarak ifadeyi hesaplar.

FILTER(measure USING filter_expr)

MAVG

MAVG(Sales, 10)

Sonuç kümesindeki en son n sayıda satırın verilerine ilişkin hareketli ortalamayı (ortalama) hesaplar (geçerli satır dahildir).

MAVG([NumericExpression], [integer])

MSUM

SELECT Month, Revenue, MSUM(Revenue, 3) as 3_MO_SUM FROM Sales

En son n sayıda satırın verilerine ilişkin hareketli toplamı hesaplar (geçerli satır dahildir).

İlk satırın toplamı o satırın sayısal değerine eşittir. İkinci satırın toplamı ilk iki veri satırının toplamı alınarak hesaplanır ve bu şekilde devam eder. n sayılı satıra ulaşıldığında, toplam en son n sayıdaki veri satırına göre hesaplanır.

MSUM([NumericExpression], [integer])

NTILE

NTILE(Sales, 100)

Kullanıcı tarafından belirlenen değer aralığına uygun sıralamayı belirler. Sıralama aralıklarını temsil eden tamsayılar döndürür. Örnekte, en düşük satış=1 ve en yüksek satış=100 olarak, 1 ile 100 arasındaki bir aralık gösterilmiştir.

NTILE([NumericExpresssion], [integer])

PERCENTILE

PERCENTILE(Sales)

Sayısal ifade bağımsız değişkenini yerine getiren her değer için bir yüzde hesaplar. Percentile, 0 (1. yüzde) ile (100. yüzde) (dahil) aralığındadır.

PERCENTILE([NumericExpression])

RANK

RANK(Sales)

Sayısal ifade bağımsız değişkenini yerine getiren her bir değerin sırasını hesaplar. En yüksek sayıya 1. sıra verilir, bundan sonraki her sıraya ise bunu takip eden tamsayı (2, 3, 4,...) verilir. Birbirine eşit değerler varsa bunlara aynı sıra verilir (örneğin, 1, 1, 1, 4, 5, 5, 7...).

RANK([NumericExpression])

RCOUNT

SELECT month, profit, RCOUNT(profit) FROM sales WHERE profit > 200

Girdi olarak bir küme kayıt kullanılır ve o ana kadar karşılaşılmış kayıtların sayısı hesaplanır.

RCOUNT([NumericExpression])

RMAX

SELECT month, profit, RMAX(profit) FROM sales

Bir dizi kaydı girdi olarak alır ve o ana kadar karşılaşılan kayıtları temel alarak maksimum değeri gösterir. Belirtilen veri türü sıralanabilen bir tür olmalıdır.

RMAX([NumericExpression])

RMIN

SELECT month, profit, RMIN(profit) FROM sales

Bir dizi kaydı girdi olarak alır ve o ana kadar karşılaşılan kayıtları temel alarak minimum değeri gösterir. Belirtilen veri türü sıralanabilen bir tür olmalıdır.

RMIN([NumericExpression])

RSUM

SELECT month, revenue, RSUM(revenue) as RUNNING_SUM FROM sales

O ana kadar karşılaşılmış kayıtları temel alan ara toplamı hesaplar.

İlk satırın toplamı o satırın sayısal değerine eşittir. İkinci satırın toplamı ilk iki veri satırının toplamı alınarak hesaplanır ve bu şekilde devam eder.

RSUM([NumericExpression])

TOPN

TOPN(Sales, 10)

En yüksekten en düşüğe sıralı olarak, ifadenin en yüksek n değerini döndürür.

TOPN([NumericExpression], [integer])

Görüntüleme Fonksiyonlarını Kullanma ile İlgili İpuçları

  • FILTER - Bir konu alanını kullanarak rapor oluşturuyorsanız hiyerarşi sütunlarını doğrudan bir hesaplamada filtrelemek yerine konu alanında tanımlanan hiyerarşileri kullanın. Başka bir deyişle, bir konu alanının Zaman\Mali Yıl\Mali Üç Aylık Dönem şeklinde bir hiyerarşisi varsa aşağıdakilerden kaçının:

    filter (<measure> using fiscal_quarter = 'Q4')

    filter (<measure> using fiscal_quarter = 'Q3')

    filter (<measure> using fiscal_year = 'FY24')

Değerlendirme Fonksiyonları

Değerlendirme fonksiyonları, gelişmiş hesaplar elde etmek üzere ifadelerin üzerinden geçmek için kullanılabilecek veritabanı fonksiyonlarıdır.

Gömülü veritabanı fonksiyonları bir ya da daha fazla sütun gerektirebilir. Bu sütunlara fonksiyon dahilinde %1 ... %N olarak başvurulur. Gerçek sütunlar fonksiyondan sonra listelenmelidir.

Fonksiyon Örnek Açıklama Sözdizimi

EVALUATE

SELECT EVALUATE('instr(%1, %2)', address, 'Eskişehir') FROM employees

Belirtilen veritabanı fonksiyonunu değerlendirme için isteğe bağlı referans alınan sütunlarla parametreler olarak veritabanına iletir.

EVALUATE([string expression], [comma separated expressions])

EVALUATE_AGGR

EVALUATE_AGGR('REGR_SLOPE(%1, %2)', sales.quantity, market.marketkey)

Belirtilen veritabanı fonksiyonunu değerlendirme için isteğe bağlı referans alınan sütunlarla parametreler olarak veritabanına iletir. Bu fonksiyon bir GROUP BY yantümcesine sahip birleştirme fonksiyonları içindir.

EVALUATE_AGGR('db_agg_function(%1...%N)' [AS datatype] [, column1, columnN])

Matematiksel Fonksiyonlar

Bu bölümde açıklanan matematik fonksiyonları, matematik işlemleri gerçekleştirir.

Fonksiyon Örnek Açıklama Sözdizimi

ABS

ABS(Profit)

Sayısal ifadenin mutlak değerini hesaplar.

expr bir sayısal değer veren herhangi bir ifadedir.

ABS(expr)

ACOS

ACOS(1)

Sayısal ifadenin ark kosinüsünü hesaplar.

expr bir sayısal değer veren herhangi bir ifadedir.

ACOS(expr)

ASIN

ASIN(1)

Sayısal ifadenin ark sinüsünü hesaplar.

expr bir sayısal değer veren herhangi bir ifadedir.

ASIN(expr)

ATAN

ATAN(1)

Sayısal ifadenin ark tanjantını hesaplar.

expr bir sayısal değer veren herhangi bir ifadedir.

ATAN(expr)

ATAN2

ATAN2(1, 2)

y /x'in ark tanjantını hesaplar. Burada y ilk sayısal ifade ve x ikinci sayısal ifadedir.

ATAN2(expr1, expr2)

CEILING

CEILING(Profit)

Tamsayı olmayan bir sayısal ifadeyi sonraki en büyük tamsayıya yuvarlar. Sayısal ifade bir tamsayıya yol açıyorsa, CEILING fonksiyonu sonuç olarak o tamsayıyı verir.

CEILING(expr)

COS

COS(1)

Sayısal ifadenin kosinüsünü hesaplar.

expr bir sayısal değer veren herhangi bir ifadedir.

COS(expr)

COT

COT(1)

Sayısal ifadenin kotanjantını hesaplar.

expr bir sayısal değer veren herhangi bir ifadedir.

COT(expr)

DEGREES

DEGREES(1)

İfadeyi radyandan dereceye dönüştürür.

expr bir sayısal değer veren herhangi bir ifadedir.

DEGREES(expr)

EXP

EXP(4)

Değeri belirtilen üsse gönderir. e'nin n'inci kuvvetini hesaplar; burada e doğal logaritmanın tabanıdır.

EXP(expr)

ExtractBit

Int ExtractBit(1, 5)

Bir tam sayıdaki belli bir konumda bir bit alır. Bitin konumuna karşılık gelen 0 veya 1 tam sayısı döndürür.

ExtractBit([Source Number], [Digits])

FLOOR

FLOOR(Profit)

Tamsayı olmayan bir sayısal ifadeyi sonraki en küçük tamsayıya yuvarlar. Sayısal ifade bir tamsayıya yol açıyorsa, FLOOR fonksiyonu sonuç olarak o tamsayıyı verir.

FLOOR(expr)

LOG

LOG(1)

İfadenin doğal logaritmasını hesaplar.

expr bir sayısal değer veren herhangi bir ifadedir.

LOG(expr)

LOG10

LOG10(1)

İfadenin 10 tabanına göre logaritmasını hesaplar.

expr bir sayısal değer veren herhangi bir ifadedir.

LOG10(expr)

MOD

MOD(10, 3)

İlk sayısal ifadeyi ikinci sayısal ifadeye böler ve bölümün kalan kısmını döndürür.

MOD(expr1, expr2)

PI

PI()

Pi'nin sabit değerini döndürür.

PI()

POWER

POWER(Profit, 2)

İlk sayısal ifadeyi alır ve ikinci sayısal ifadede belirtilen üsse yükseltir.

POWER(expr1, expr2)

RADIANS

RADIANS(30)

İfadeyi dereceden radyana dönüştürür.

expr bir sayısal değer veren herhangi bir ifadedir.

RADIANS(expr)

RAND

RAND()

0 ile 1 arasında sözde rasgele bir sayı döndürür.

RAND()

RANDFromSeed

RAND(2)

Bir temel değer bazında sözde rasgele bir sayı döndürür. Belirli bir temel değer için aynı rasgele sayı kümesi oluşturulur.

RAND(expr)

ROUND

ROUND(2.166000, 2)

Sayısal bir ifadeyi n sayıda duyarlık hanesine yuvarlar.

expr bir sayısal değer veren herhangi bir ifadedir.

integer duyarlık hane sayısını temsil eden herhangi pozitif tam sayıdır.

ROUND(expr, integer)

SIGN

SIGN(Profit)

Şunu döndürür:

  • Sayısal ifade pozitif bir sayıya değerlenirse, 1

  • Sayısal ifade negatif bir sayıya değerlenirse, -1

  • Sayısal ifade sıfıra değerlenirse, 0

SIGN(expr)

SIN

SIN(1)

Sayısal bir ifadenin sinüsünü hesaplar.

SIN(expr)

SQRT

SQRT(7)

Sayısal ifade bağımsız değişkeninin karekökünü hesaplar. Sayısal ifade sıfırdan küçük olmayan bir sayıya yol açmalıdır.

SQRT(expr)

TAN

TAN(1)

Sayısal bir ifadenin tanjantını hesaplar.

expr bir sayısal değer veren herhangi bir ifadedir.

TAN(expr)

TRUNCATE

TRUNCATE(45.12345, 2)

Ondalık bir sayıyı, ondalık ayırıcıdan sonra belirtilen sayıda basamak döndürecek şekilde kısaltır.

expr bir sayısal değer veren herhangi bir ifadedir.

integer, döndürülecek ondalık hanenin sağından itibaren karakter sayısını temsil eden herhangi pozitif tam sayıdır.

TRUNCATE(expr, integer)

Çalıştırma Birleştirme Fonksiyonları

Toplam fonksiyonların çalıştırılması özet sonuç çıkarmak üzere birden fazla değerle ilgili işlemler yapar.

Fonksiyon Örnek Açıklama Sözdizimi

MAVG

 

Sonuç kümesindeki en son n sayıda satırın verilerine ilişkin hareketli ortalamayı (ortalama) hesaplar (geçerli satır dahildir).

expr bir sayısal değer veren ifadedir. integer herhangi pozitif tam sayıdır. Verilerin son n satırının ortalamasını temsil eder.

MAVG(expr, integer)

MSUM

select month, revenue, MSUM(revenue, 3) as 3_MO_SUM from sales_subject_area

En son n sayıda satırın verilerine ilişkin hareketli toplamı hesaplar (geçerli satır dahildir).

expr bir sayısal değer veren ifadedir. integer herhangi pozitif tam sayıdır. Verilerin son n satırının toplamını temsil eder.

MSUM(expr, integer)

RSUM

SELECT month, revenue, RSUM(revenue) as RUNNING_SUM from sales_subject_area

O ana kadar karşılaşılmış kayıtları temel alan ara toplamı hesaplar.

expr bir sayısal değer veren herhangi bir ifadedir.

RSUM(expr)

RCOUNT

select month, profit, RCOUNT(profit) from sales_subject_area where profit > 200

Girdi olarak bir küme kayıt kullanılır ve o ana kadar karşılaşılmış kayıtların sayısı hesaplanır.

expr herhangi bir veri türünde ifadedir.

RCOUNT(expr)

RMAX

SELECT month, profit,RMAX(profit) from sales_subject_area

Bir dizi kaydı girdi olarak alır ve o ana kadar karşılaşılan kayıtları temel alarak maksimum değeri gösterir.

expr herhangi bir veri türünde ifadedir.

RMAX(expr)

RMIN

select month, profit,RMIN(profit) from sales_subject_area

Bir dizi kaydı girdi olarak alır ve o ana kadar karşılaşılan kayıtları temel alarak minimum değeri gösterir.

expr herhangi bir veri türünde ifadedir.

RMIN(expr)

Mekansal Fonksiyonlar

Mekansal fonksiyonlar, veri modellerken coğrafi analiz gerçekleştirmenize olanak tanır. Örneğin, iki coğrafi bölge (şekil veya poligon) arasındaki mesafeyi hesaplayabilirsiniz.

Not:

Bu mekansal fonksiyonları, görselleştirme çalışma kitaplarınıza yönelik özel hesaplamalarda kullanamazsınız.
Fonksiyon Örnek Açıklama Sözdizimi
GeometryArea

GeometryArea(Shape)

Bir şeklin bulunduğu alanı hesaplar.

GeometryArea(Shape)

GeometryDistance

GeometryDistance(TRIP_START, TRIP_END)

İki şekil arasındaki mesafeyi hesaplar.

GeometryDistance(Shape 1, Shape 2)

GeometryLength

GeometryLength(Shape)

Bir şeklin çevresini hesaplar.

GeometryLength(Shape)

GeometryRelate

GeometryRelate(TRIP_START, TRIP_END)

Bir şeklin başka bir şekil içinde olup olmadığını belirler. Dize (değişken karakter) olarak TRUE veya FALSE döndürür.

GeometryRelate(Shape 1, Shape 2)

GeometryWithinDistance

GeometryWithinDistance(TRIP_START, TRIP_END, 500)

İki şeklin birbirinden belirli bir uzaklıkta olup olmadığını belirler. Dize (değişken karakter) olarak TRUE veya FALSE döndürür.

GeometryWithinDistance(Shape1, Shape2, DistanceInFloat)

Dize Fonksiyonları

Dize fonksiyonları çeşitli karakter değişiklikleri gerçekleştirir. Karakter dizelerinde işlerler.

Fonksiyon Örnek Açıklama Sözdizimi

ASCII

ASCII('a')

Tek bir karakter dizesini 0 ile 255 arasında karşılık gelen ASCII koduna dönüştürür. Karakter ifadesi birden çok karaktere yol açıyorsa, ifadede ilk karaktere karşılık gelen ASCII kodu döndürülür.

expr bir karakter dizesi değeri veren herhangi bir ifadedir.

ASCII(expr)

BIT_LENGTH

BIT_LENGTH('abcdef')

Belirtilen bir dizenin bit olarak uzunluğunu verir. Her Unicode karakteri 2 bayt uzunluğundadır (16 bite eşit).

expr bir karakter dizesi değeri veren herhangi bir ifadedir.

BIT_LENGTH(expr)

CHAR

CHAR(35)

0 ile 255 arasındaki sayısal bir değeri ASCII koduna karşılık gelen karakter değerine dönüştürür.

expr 0 ile 255 arasında bir sayısal değer veren ifadedir.

CHAR(expr)

CHAR_LENGTH

CHAR_LENGTH(Customer_Name)

Belirtilen bir dizenin karakter sayısı olarak uzunluğunu verir. Öncülük eden ve izleyen boşluklar, dizenin uzunluğunda sayılmaz.

expr bir karakter dizesi değeri veren herhangi bir ifadedir.

CHAR_LENGTH(expr)

CONCAT

SELECT DISTINCT CONCAT ('abc', 'def') FROM employee

İki karakter dizesini bitiştirir.

exprs virgüllerle ayrılmış karakter dizesi değerleri veren ifadelerdir.

CONCAT ile formatlanmış değil; ham veri kullanmanız gerekir.

CONCAT(expr1, expr2)

INSERT

SELECT INSERT('123456', 2, 3, 'abcd') FROM table

Başka bir karakter dizesindeki belirtilen konuma belirtilen bir karakter dizesini ekler.

expr1 bir karakter dizesi değeri veren herhangi bir ifadedir. Hedef karakter dizesini belirtir.

integer1, ikinci dizenin ekleneceği hedef dize başlangıcından karakter sayısını temsil eden herhangi pozitif tam sayıdır.

integer2, ikinci dize ile değiştirilecek hedef dizedeki karakter sayısını temsil eden herhangi pozitif tam sayıdır.

expr2 bir karakter dizesi değeri veren herhangi bir ifadedir. Hedef dizeye eklenecek karakter dizesini belirtir.

INSERT(expr1, integer1, integer2, expr2)

LEFT

SELECT LEFT('123456', 3) FROM table

Bir dizenin solundaki belirtilen sayıda karakteri verir.

expr bir karakter dizesi değeri veren herhangi bir ifadedir.

integer, döndürülecek dizenin solundan itibaren karakter sayısını temsil eden herhangi pozitif tam sayıdır.

LEFT(expr, integer)

LENGTH

LENGTH(Customer_Name)

Belirtilen bir dizenin karakter sayısı olarak uzunluğunu verir. Uzunluk verilirken sondaki boş karakterler hariç tutulur.

expr bir karakter dizesi değeri veren herhangi bir ifadedir.

LENGTH(expr)

LOCATE

LOCATE('d' 'abcdef')

Başka bir karakter dizesindeki bir karakter dizesinin sayısal konumunu verir. Karakter dizesi aranan dize içinde bulunamazsa, fonksiyon sonuç olarak 0 (sıfır) değerini verir.

expr1 bir karakter dizesi değeri veren herhangi bir ifadedir. Aranacak dizeyi belirtir.

expr2 bir karakter dizesi değeri veren herhangi bir ifadedir.

Aranacak dizeyi belirtir.

LOCATE(expr1, expr2)

LOCATEN

LOCATEN('d' 'abcdef', 3)

LOCATE gibi, başka bir karakter dizesindeki başka bir karakter dizesinin sayısal konumunu verir. LOCATEN, aramayı başlatmak için başlangıç konumu belirten bir tamsayı bağımsız değişkeni içerir.

expr1 bir karakter dizesi değeri veren herhangi bir ifadedir. Aranacak dizeyi belirtir.

expr2 bir karakter dizesi değeri veren herhangi bir ifadedir. Aranacak dizeyi belirtir.

integer, karakter dizenin aranmaya başlanacağı başlangıç konumunu temsil eden herhangi pozitif (sıfır olmayan) bir tam sayıdır.

LOCATEN(expr1, expr2, integer)

LOWER

LOWER(Customer_Name)

Bir karakter dizesini küçük harfle görüntüler.

expr bir karakter dizesi değeri veren herhangi bir ifadedir.

LOWER(expr)

OCTET_LENGTH

OCTET_LENGTH('abcdef')

Belirtilen bir dizenin bayt sayısını döndürür.

expr bir karakter dizesi değeri veren herhangi bir ifadedir.

OCTET_LENGTH(expr)

POSITION

POSITION('d', 'abcdef')

Bir karakter ifadesindeki strExpr1 için sayısal konumu döndürür. strExpr1 bulunamazsa, fonksiyon 0 döndürür.

expr1 bir karakter dizesi değeri veren herhangi bir ifadedir. Hedef dizede aranacak dizeyi belirtir. Örneğin, "d".

expr2 bir karakter dizesi değeri veren herhangi bir ifadedir. Aranacak hedef dizeyi belirtir. Örneğin, "abcdef".

POSITION(expr1, expr2)

REPEAT

REPEAT('abc', 4)

Belirtilen ifadeyi n kez tekrarlar.

expr bir karakter dizesi değeri veren herhangi bir ifadedir.

integer karakter dizesinin tekrarlanacağı sayıyı temsil eden herhangi pozitif tam sayıdır.

REPEAT(expr, integer)

REPLACE

REPLACE('abcd1234', '123', 'zz')

Belirtilen bir karakter ifadesindeki bir veya daha fazla karakterin yerine bir veya daha fazla başka karakter koyar.

expr1 bir karakter dizesi değeri veren herhangi bir ifadedir. Bu, içindeki karakterlerin değiştirileceği dizedir.

expr2 bir karakter dizesi değeri veren herhangi bir ifadedir. Bu ikinci dize değiştirilecek ilk dizeden itibaren karakterleri tanımlar.

expr3 bir karakter dizesi değeri veren herhangi bir ifadedir. Üçüncü dize ilk dizeye ikame edilecek karakterleri belirtir.

REPLACE(expr1, expr2, expr3)

RIGHT

SELECT RIGHT('123456', 3) FROM table

Bir dizenin sağındaki belirtilen sayıda karakteri verir.

expr bir karakter dizesi değeri veren herhangi bir ifadedir.

integer, döndürülecek dizenin sağından itibaren karakter sayısını temsil eden herhangi pozitif tam sayıdır.

RIGHT(expr, integer)

SPACE

SPACE(2)

Boşluklar ekler.

integer eklenecek boşluk sayısını gösteren bir pozitif tam sayıdır.

SPACE(expr)

SUBSTRING

SUBSTRING('abcdef' FROM 2)

Sabit sayıda karakterlerden başlayan yeni bir dizeyi orijinal dizede oluşturur.

expr bir karakter dizesi değeri veren herhangi bir ifadedir.

startPos sonucun başlayacağı dizenin sol tarafının başlangıcından itibaren karakter sayısını temsil eden herhangi pozitif tam sayıdır.

SUBSTRING([SourceString] FROM [StartPostition])

SUBSTRINGN

SUBSTRING('abcdef' FROM 2 FOR 3)

SUBSTRING gibi, sabit sayıda karakterlerden başlayan yeni bir dizeyi orijinal dizede oluşturur.

SUBSTRINGN, yeni dizenin uzunluğunu karakter sayısı olarak belirtmenizi sağlayan bir tamsayı bağımsız değişkeni içerir.

expr bir karakter dizesi değeri veren herhangi bir ifadedir.

startPos sonucun başlayacağı dizenin sol tarafının başlangıcından itibaren karakter sayısını temsil eden herhangi pozitif tam sayıdır.

SUBSTRING(expr FROM startPos FOR length)

TrimBoth

Trim(BOTH '_' FROM '_abcdef_')

Karakter dizesinde başta ve sonda yer alan, belirtilen karakterleri kaldırır.

char tek bir karakterdir. Bu spesifikasyonu (ve gerekli tek tırnak işaretlerini) dahil etmezseniz boş bir karakter öndeğer olarak kullanılır.

expr bir karakter dizesi değeri veren herhangi bir ifadedir.

TRIM(BOTH char FROM expr)

TRIMLEADING

TRIM(LEADING '_' FROM '_abcdef')

Karakter dizesinde başta yer alan, belirtilen karakterleri kaldırır.

char tek bir karakterdir. Bu spesifikasyonu (ve gerekli tek tırnak işaretlerini) dahil etmezseniz boş bir karakter öndeğer olarak kullanılır.

expr bir karakter dizesi değeri veren herhangi bir ifadedir.

TRIM(LEADING char FROM expr)

TRIMTRAILING

TRIM(TRAILING '_' FROM 'abcdef_')

Karakter dizesinde sonda yer alan, belirtilen karakterleri kaldırır.

char tek bir karakterdir. Bu spesifikasyonu (ve gerekli tek tırnak işaretlerini) dahil etmezseniz boş bir karakter öndeğer olarak kullanılır.

expr bir karakter dizesi değeri veren herhangi bir ifadedir.

TRIM(TRAILING char FROM expr)

UPPER

UPPER(Customer_Name)

Bir karakter dizesini büyük harfle görüntüler.

expr bir karakter dizesi değeri veren herhangi bir ifadedir.

UPPER(expr)

Dize Fonksiyonlarını Kullanma ile İlgili İpuçları

Çalışma kitaplarınızda dize fonksiyonlarını kullanırken en iyi sonuçları elde etmeye yönelik bazı ipuçlarını burada bulabilirsiniz.

Birden fazla değeri birleştirme:

Birden fazla değeri tek bir hücrede ve tek bir satırda birleştirmek için LISTAGG fonksiyonunu kullanın.

listagg(<column to concatenate> by <grouping column>)

Elde edilen dize çok uzunsa on overflow truncate yantümcesini ve değerler benzersiz değilse distinct yantümcesini ekleyin.

Örneğin:

listagg(distinct City_ID by STATE on overflow truncate)

Sistem Fonksiyonları

USER sistem fonksiyonu oturumla ilgili değerleri döndürür. Örneğin, oturum açtığınız kullanıcı adı.

Fonksiyon Örnek Açıklama Sözdizimi

DATABASE

 

Oturum açtığınız konu alanının adını döndürür.

DATABASE()

USER

 

Oturum açtığınız semantik modelin kullanıcı adını döndürür.

USER()

Zaman Serisi Fonksiyonları

Zaman serisi fonksiyonları, verileri zaman boyutlarına göre toplamanıza ve tahmin etmenize olanak tanır. Örneğin, bir yıl önceki geliri hesaplamak için AGO fonksiyonunu kullanabilirsiniz.

Zaman boyutu üyeleri fonksiyon düzeyinde ya da bunun altında olmalıdır. Bu nedenle, üyeleri verilen düzeyde ya da bunun altında benzersiz olarak tanımlayan bir veya daha fazla sütun sorguda gösterilmelidir.

Fonksiyon Örnek Açıklama Sözdizimi

AGO

SELECT Year_ID, AGO(sales, year, 1)

Bir ölçütün geçmişteki belirli bir dönemdeki toplam değerini hesaplar. Örneğin bir yıl önceki aylık geliri hesaplamak için şunu kullanın: AGO(Revenue, Year, 1, SHIP_MONTH). Son üç aylık dönemdeki üç aylık gelirleri hesaplamak için şunu kullanın: AGO(Revenue, Quarter, 1).

AGO(MEASURE, TIME_LEVEL, OFFSET)

Bu ifadelerin anlamı şudur:

  • MEASURE hesaplanacak ölçüyü temsil eder, örneğin gelir.
  • TIME_LEVEL Yıl, Üç Aylık Dönem, Ay, Hafta veya Gün olması gereken zaman aralığını temsil eder.
  • OFFSET, geriye doğru hesaplanacak zaman aralıklarının sayısını temsil eder, örneğin bir yıl için 1.

PERIODROLLING

SELECT Month_ID, PERIODROLLING (monthly_sales, -1, 1)

x zaman biriminden başlayıp y zaman biriminde sona eren dönemden geçerli zamana kadar olan ölçü toplamını hesaplar. Örneğin, PERIODROLLING geçerli üç aylık dönemden üç ay önce başlayan ve üç ay sonra sona eren dönem için satışları hesaplayabilir.

PERIODROLLING(measure, x [,y])

Bu ifadelerin anlamı şudur:

  • MEASURE ölçü sütununun adını temsil eder.
  • X, güncel saate olan farkı temsil eden bir tamsayıdır.
  • Y, fonksiyonun hesaplandığı zaman birimi sayısını temsil eden bir tamsayıdır.
  • HIERARCHY, zaman penceresini hesaplamak için kullanmak isteyeceğiniz YR, MON, DAY gibi bir zaman boyutundaki hiyerarşinin adını temsil eden isteğe bağlı bir bağımsız değişkendir.

TODATE

SELECT Year_ID, Month_ID, TODATE (sales, year)

Bir dönemin başlangıcından en son döneme kadar bir ölçütün toplam değerini hesaplar. Örneğin, yıllık kümüle hesaplamalar.

Örneğin, Yıllık Kümüle Satışları hesaplamak için şunu kullanın: TODATE(sales, year).

TODATE(MEASURE, TIME_LEVEL)

Bu ifadelerin anlamı şudur:

  • MEASURE en az bir ölçü sütununa referans veren bir ifadeyi temsil eder, örneğin satış.
  • TIME_LEVEL Yıl, Üç Aylık Dönem, Ay, Hafta veya Gün olması gereken zaman aralığını temsil eder.