פונקציות

קיימים סוגים שונים של פונקציות שתוכל להשתמש בהם בביטויים.

נושאים:

פונקציות אנליטיות

הפונקציות של Analytics מאפשרות לחקור נתונים באמצעות מודלים כמו תחזית, קו מגמה ואשכול. לחלופין, אתה יכול לגרור ולשחרר פונקציות אנליטיקס לתוך עורך חוברות העבודה.

לחלופין, תוכל להוסיף תחזיות, קווי מגמה ואשכולות לחוברת עבודה על-ידי בחירתם בכרטיסייה Analytics של לוח הנתונים בעורך חוברת העבודה. ראה הוסף אנליטיקס סטטיסטיים להמחשות גרפיות.

פונקציה דוגמה תיאור תחביר

CLUSTER

CLUSTER((מוצר, חברה), (כמות מחויבת בחשבונית, הכנסה), 'clusterName', 'algorithm=k-means;numClusters=%1;maxIter=%2;useRandomSeed=FALSE;enablePartitioning=TRUE', 5, 10)

אוספת סל רשומות לקבוצות בהתבסס על ביטוי קלט אחד או יותר באמצעות K-Means או קיבוץ אשכולות היררכיים.

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

FORECAST

דוגמה לתחזית הכנסה לפי יום

דוגמה זו בוחרת תחזית הכנסה לפי יום.

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

דוגמה לתחזית הכנסה לפי שנה ורבעון

דוגמה זו בוחרת תחזית הכנסה לפי שנה ורבעון.

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

יוצר מודל סדרת זמן של המדד המצוין על פני הסדרה באמצעות החלקה מעריכית (ETS) או ARIMA עונתי או ARIMA. הפלט של פונקציה זו הוא תחזית לסל של תקופות כפי שצוין באמצעות הארגומנט numPeriods.

ראה גם אפשרויות נוספות של פונקציית FORECAST להלן.

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

כאשר:

  • measure מייצג את המדד שיש לחזות, למשל, נתוני הכנסה.

  • series מייצג את רמת פירוט הזמן המשמש לבניית מודל התחזית. הסדרה היא רשימה של עמודות ממד זמן - אחת או יותר. אם תשמיט סדרה, גרעין הזמן ייקבע מהשאילתא.

  • output_column_name מייצג את שמות העמודה התקפים של forecast, low, high ו-predictionInterval.

  • options מייצג רשימת מחרוזות של זוגות שם/ערך המופרדים בנקודה ופסיק (;). הערך עשוי לכלול %1 ... %N שצוין ב-runtime_binded_options.

  • runtime_binded_options מייצג רשימה מופרדת בפסיקים של עמודות ואפשרויות. ערכים לעמודות ואפשרויות אלה מוערכים ונפתרים במהלך זמן הריצה של שאילתות פרטניות.

ראה גם אפשרויות נוספות של פונקציית FORECAST להלן.

OUTLIER

OUTLIER((מוצר, חברה), (כמות מחויבת בחשבונית, הכנסה), 'isOutlier', 'algorithm=kmeans')

מסווגת רשומה כערך קיצון (Outlier) בהתבסס על ביטוי קלט אחד או יותר באמצעות K-Means או קיבוץ אשכולות היררכיים (Hierarchical Clustering) או אלגוריתמים לגילוי ערך קיצון מרובה משתנים (Multi-Variate Outlier).

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

REGR

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

מתאימה מודל ליניארי ומחזירה את הערכים או המודל המותאמים. אפשר להשתמש בפונקציה זו כדי להתאים עקום ליניארי על שני מדדים.

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

TRENDLINE

TRENDLINE(הכנסה, (שנה קלנדרית, רבעון קלנדרי, חודש קלנדרי) BY (מוצר), 'LINEAR', 'VALUE')

Oracle ממליצה להחיל Trendline באמצעות המאפיין הוסף נתונים סטטיסטיים בזמן הצגת המחשה. ראה התאם את מאפייני ההמחשה.

מתאים מודל ליניארי, רב-איברי או מעריכי ומחזיר את הערכים או המודל המותאמים. ה-numeric_expr מייצג את ערך Y של המגמה וה-series (עמודות זמן) מייצגות את ערך X.

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

אפשרויות הפונקציה FORECAST בטבלה הבאה מפורטות אפשרויות זמינות לשימוש בפונקציה FORECAST.

שם אפשרות ערכים תיאור
numPeriods מספר שלם מספר התקופות לחיזוי.
predictionInterval 0 עד 100, כאשר הערך הגבוה יותר מציין מהימנות גבוהה יותר רמת המהימנות לחיזוי.
modelType

ETS (החלקה מעריכית)

SeasonalArima

ARIMA

המודל שבו יש להשתמש לחיזוי.
useBoxCox

TRUE

FALSE

אם TRUE, השתמש בטרנספורמציית Box-Cox.
lambdaValue לא ישים

הפרמטר לטרנספורמציית Box-Cox.

התעלם אם NULL או אם useBoxCox הוא FALSE.

אחרת, הנתונים עוברים טרנספורמציה לפני אומדן המודל.

trendDamp

TRUE

FALSE

זה ספציפי למודל ההערכה המעריכית.

אם TRUE, השתמש במגמה עמומה אם FALSE או NULL, השתמש במגמה לא עמומה.

errorType

לא ישים

זה ספציפי למודל ההערכה המעריכית.
trendType

N (ללא)

A (מתווסף)

M (מכפילי)

Z (נבחר באופן אוטומטי)

זה ספציפי למודל ההערכה המעריכית
seasonType

N (ללא)

A (מתווסף)

M (מכפילי)

Z (נבחר באופן אוטומטי)

זה ספציפי למודל ההערכה המעריכית
modelParamIC

ic_auto

ic_aicc

ic_bic

ic_auto (זוהי ברירת המחדל)

קריטריון המידע (IC) המשמש בבחירת המודל.

פונקציות המרה

פונקציות המרה ממירות ערך מצורה אחת לאחרת.

פונקציה דוגמה תיאור תחביר

CAST

CAST(hiredate AS CHAR(40)) FROM employee

משנה את סוג הנתונים של ביטוי או null literal לסוג נתונים אחר. לדוגמה, תוכל לבצע cast ל-שם לקוח (נתונים מסוג CHAR או מסוג VARCHAR) או תאריך לידה (ליטרל של datetime).

השתמש ב-CAST כדי לשנות לסוג נתונים תאריך.

אין להשתמש ב-TODATE.

CAST(expr AS type)

IFNULL

IFNULL(Sales, 0)

בודק אם ביטוי מוערך כערך ריק (null) ואם כן, מקצה את הערך שצוין לביטוי.

IFNULL(expr, value)

INDEXCOL

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

משתמש במידע חיצוני כדי להחזיר את העמודה המתאימה לצפייה על-ידי משתמש קיים.

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";

משווה שני ביטויים. אם הם שווים, אז הפונקציה מאחזרת NULL. אם הם לא שווים, אז הפונקציה מחזירה את הביטוי הראשון. אינך יכול לציין ליטרל NULL לביטוי הראשון.

NULLIF([expression], [expression])

To_DateTime

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

ממיר ליטרלים של מחרוזת מפורמט DateTime לסוג נתונים DateTime.

To_DateTime([expression], [literal])

VALUEOF

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

מפנה לערך של משתנה של מודל סמנטי במסנן.

השתמש במשתני expr כארגומנטים של הפונקציה VALUEOF. הפנה למשתנים של מודל סמנטי סטטי לפי שם.

VALUEOF(expr)

פונקציות שליפת נתוני תאריכים

פונקציות אלו מחשבות או מעגלות כלפי מטה את ערכי חותמת הזמן לפרק הזמן הקרוב ביותר המצוין , כגון שעה, יום, שבוע, חודש ורבעון.

תוכל להשתמש בחותמות הזמן המחושבות כדי לסכם נתונים באמצעות פירוט אחר. לדוגמה, תוכל להחיל את הפונקציה EXTRACTDAY() על תאריכי הזמנות לקוח כדי לחשב חותמת זמן לחצות ביום שבו ההזמנות מתרחשות, כך שתוכל לסכם את הנתונים לפי יום.

פונקציה דוגמה תיאור תחביר

שלוף נתוני יום

EXTRACTDAY("Order Date")
  • 2/22/1967 3:02:01 AM מחזירה 2/22/1967 12:00:00 AM.
  • 9/2/2022 10:38:21 AM מחזירה 9/2/2022 12:00:00 AM.

מחזירה חותמת זמן לחצות (12 בבוקר) ביום שבו מתרחש ערך הקלט. לדוגמה, אם חותמת הזמן של הקלט היא בשביל 3:02:01 AM ב-22 בפברואר, הפונקציה מחזירה את חותמת הזמן בשביל 12:00:00 AM ב-22 בפברואר.

EXTRACTDAY(expr)

שלוף נתוני שעה

EXTRACTHOUR("Order Date")
  • 2/22/1967 3:02:01 AM מחזירה 2/22/1967 3:00:00 AM.
  • 6/17/1999 11:18:30 PM מחזירה 6/17/1999 11:00:00 PM.

מחזירה חותמת זמן לתחילת השעה שבה מתרחש ערך הקלט. לדוגמה, אם חותמת הזמן של הקלט היא בשביל 11:18:30 PM, הפונקציה מחזירה את חותמת הזמן בשביל 11:00:00 PM.

שליפת שעה (ביטוי)

שלוף נתוני שעה ביום

EXTRACTHOUROFDAY("Order Date")
  • 2014/09/24 10:58:00 מחזירה 2000/01/01 10:00:00.
  • 2014/08/13 11:10:00 מחזירה 2000/01/01 11:00:00

מחזירה חותמת זמן שבה השעה שווה לשעה של ערך הקלט עם ערכי ברירת מחדל לשנה, חודש, יום, דקות ושניות.

EXTRACTHOUROFDAY(expr)

שלוף נתוני מילישניות

EXTRACTMILLISECOND("Order Date")
  • 1997/01/07 15:32:02.150 מחזירה 1997/01/07 15:32:02.150.
  • 1997/01/07 18:42:01.265 מחזירה 1997/01/07 18:42:01.265.
מחזירה חותמת זמן המכילה אלפיות שניות בשביל ערך הקלט. לדוגמה, אם חותמת הזמן של הקלט היא בשביל 15:32:02.150, הפונקציה מחזירה את חותמת הזמן בשביל 15:32:02.150.

EXTRACTMILLISECOND(expr)

שלוף נתוני דקה

EXTRACTMINUTE("Order Date")
  • 6/17/1999 11:18:00 PM מחזירה 6/17/1999 11:18:00 PM.
  • 9/2/2022 10:38:21 AM מחזירה 9/2/2022 10:38:00 AM.

מחזירה חותמת זמן לתחילת הדקה שבה מתרחש ערך הקלט. לדוגמה, אם חותמת הזמן של הקלט היא בשביל 11:38:21, הפונקציה מחזירה את חותמת הזמן בשביל 11:38:00.

EXTRACTMINUTE (expr)

שלוף נתוני חודש

EXTRACTMONTH("Order Date")
  • 2/22/1967 3:02:01 AM מחזירה 2/1/1967 12:00:00 AM.
  • 6/17/1999 11:18:00 PM מחזירה 6/1/1999 12:00:00 AM.

מחזירה חותמת זמן בשביל יום הראשון בחודש שבו מתרחש ערך הקלט. לדוגמה, אם חותמת הזמן של הקלט היא בשביל 22 בפברואר, הפונקציה מחזירה את חותמת הזמן בשביל 1 בפברואר.

EXTRACTMONTH(expr)

שלוף נתוני רבעון

EXTRACTQUARTER("Order Date")
  • 2/22/1967 3:02:01 AM מחזירה 1/1/1967 12:00:00 AM, היום הראשון של רבעון הכספים הראשון.
  • 6/17/1999 11:18:00 PM מחזירה 4/1/1999 12:00:00 AM, היום הראשון של רבעון הכספים השני.

  • 9/2/2022 10:38:21 AM מחזירה 7/1/2022 12:00:00 AM, היום הראשון של רבעון הכספים השלישי.

    עצה: השתמש ב-QUARTER (expr) כדי לחשב רק את הרבעון הסידורי מחותמת הזמן המוחזרת.

מחזירה חותמת זמן בשביל היום הראשון ברבעון שבו מתרחש ערך הקלט. לדוגמה, אם חותמת הזמן של הקלט מתרחשת ברבעון הכספים השלישי, הפונקציה מחזירה את חותמת הזמן בשביל ה-1 ביולי.

EXTRACTQUARTER(expr)

שלוף נתוני שנייה

EXTRACTSECOND("Order Date")
  • 1997/01/07 15:32:02.150 מחזירה 1997/01/07 15:32:02.
  • 1997/01/07 20:44:18.163 מחזירה 1997/01/07 20:44:18.

מחזירה חותמת זמן בשביל ערך הקלט. לדוגמה, אם חותמת הזמן של הקלט היא בשביל 15:32:02.150, הפונקציה מחזירה את חותמת הזמן בשביל 15:32:02.

EXTRACTSECOND(expr)

שלוף נתוני שבוע

EXTRACTWEEK("Order Date")
  • 2014/09/24 10:58:00מחזירה 2014/09/21.

  • 2014/08/13 11:10:00 מחזירה 2014/08/10.

מחזירה את התאריך של היום הראשון בשבוע (ראשון) שבו מתרחש ערך הקלט. לדוגמה, אם חותמת הזמן של הקלט היא בשביל יום רביעי, 24 בספטמבר, הפונקציה מחזירה את חותמת הזמן בשביל יום ראשון, 21 בספטמבר.

EXTRACTWEEK(expr)

שלוף נתוני שנה

EXTRACTYEAR("Order Date")
  • 1967/02/22 03:02:01 מחזירה 1967/01/01 00:00:00.
  • 1999/06/17 23:18:00 מחזירה 1999/01/01 00:00:00.

מחזירה חותמת זמן ל-1 בינואר בשביל השנה שבה מתרחש ערך הקלט. לדוגמה, אם חותמת הזמן של הקלט מתרחשת בשנת 1967, הפונקציה מחזירה את חותמת הזמן בשביל ה-1 בינואר 1967.

EXTRACTYEAR (expr)

עצות על שימוש בממדי תאריך בתחומי נושא

הנה כמה טיפים להשגת התוצאות הטובות ביותר בעת שימוש בתאריכי תחום נושא בחישובים.

הוספת תאריך תחום נושא לחישוב

אם תגרור תאריך מתחום נושא ישירות לחישוב ותעבד אותו כמחרוזת או כמספר שלם, תקבל שגיאה. זה קורה מכיוון שערך התאריך הבסיסי הוא חותמת זמן.

במקום זאת, השתמש באחד מ-פונקציות שליפת נתוני תאריכים כדי לפרש את התאריך.

לדוגמה, ייתכן שיש לך את תאריכי תחום הנושא האלו.
להלן תיאור של GUID-39C55B3A-A055-45D3-9904-948680247C08-default.png
.png

כדי לשלוף חודשים מתאריכי תחום הנושא האלו, השתמש בפונקציה ExtractMonthOfYear:

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

הצג פונקציות

הצג פונקציות לביצוע מסל התוצאות של שאילתה.

פונקציה דוגמה תיאור תחביר

BottomN

BottomN(Sales, 10)

מחזיר את ה-n ערכים הנמוכים ביותר של ביטוי, מדורגים מהנמוך ביותר לגבוה ביותר.

BottomN([NumericExpression], [integer])

FILTER

FILTER(Sales USING Product = 'widget')

מחשב את הביטוי המשתמש במסנן טרום-צבירה נתון.

FILTER(measure USING filter_expr)

MAVG

MAVG(Sales, 10)

מחשב ממוצע נע (ממוצע) ל-n שורות הנתונים בסל התוצאות, כולל השורה הנוכחית.

MAVG([NumericExpression], [integer])

MSUM

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

מחשב סכום נע ל-n שורות הנתונים האחרונות, כולל השורה הנוכחית.

סכום השורה הראשונה שווה לביטוי מספרי עבור השורה הראשונה. סכום השורה השנייה מחושב על ידי סיכום שתי שורות הנתונים הראשונות, וכו'. כאשר מגיעים לשורה ה-n, הסכום מחושב על בסיס n שורות הנתונים האחרונות.

MSUM([NumericExpression], [integer])

NTILE

NTILE(Sales, 100)

קובע את דרגת הערך במונחים של טווח מוגדר למשתמש. הדבר מחזיר מספרים שלמים לייצג כל טווח של דרגות. הדוגמה מראה טווח מ-1 עד 100 כשהמכירה הנמוכה ביותר = 1 והמכירה הגבוהה ביותר = 100.

NTILE([NumericExpresssion], [integer])

PERCENTILE

PERCENTILE(Sales)

מחשב דרוג באחוזים לכל ערך שעומד בתנאי ארגומנט הביטוי הנומרי. הדרוג באחוזים נע מ-0 (המאית הראשונה) ל-1 (המאית ה-10), כולל.

PERCENTILE([NumericExpression])

RANK

RANK(Sales)

מחשב את הדירוג לכל ערך שעומד בתנאי ארגומנט הביטוי הנומרי. המספר הגבוה ביותר מוקצה לדרגה 1, ולכל דרגה עוקבת מוקצה המספר השלם הבא (2, 3, 4...). אם ערכים מסוימים שווים, תוקצה להם אותה דרגה (לדוגמה, 1, 1, 1, 4, 5, 5, 7...).

RANK([NumericExpression])

RCOUNT

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

משתמש בקבוצת רשומות כקלט וסופר את מספר הרשומות שהתגלו עד כה.

RCOUNT([NumericExpression])

RMAX

SELECT month, profit, RMAX(profit) FROM sales

משתמש בקבוצת רשומות כקלט ומציג את הערך המקסימאלי על בסיס רשומות שהתגלו עד כה. סוג הנתונים המצויים חייב להיות כזה שניתן להזמין אותו.

RMAX([NumericExpression])

RMIN

SELECT month, profit, RMIN(profit) FROM sales

משתמש בקבוצת רשומות כקלט ומציג את הערך המינימאלי על בסיס רשומות שהתגלו עד כה. סוג הנתונים המצויים חייב להיות כזה שניתן להזמין אותו.

RMIN([NumericExpression])

RSUM

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

מחשב סכום מצטבר על בסיס רשומות שהתגלו עד כה.

סכום השורה הראשונה שווה לביטוי מספרי עבור השורה הראשונה. סכום השורה השנייה מחושב על ידי סיכום שתי שורות הנתונים הראשונות, וכו'.

RSUM([NumericExpression])

TOPN

TOPN(Sales, 10)

מחזיר את n הערך הגבוה ביותר של ביטוי, מדורג מהגבוה ביותר לנמוך ביותר.

TOPN([NumericExpression], [integer])

עצות על שימוש בפונקציות תצוגה

  • FILTER - אם אתה בונה דוח באמצעות תחום נושא, השתמש בהיררכיות המוגדרות בתחום הנושא במקום לסנן עמודות היררכיה ישירות בחישוב. במילים אחרות, אם לתחום נושא יש היררכיה לזמן\שנת כספים\רבעון כספים, עליך להימנע:

    מסנן (<measure> using fiscal_quarter = 'Q4')

    מסנן (<measure> using fiscal_quarter = 'Q3')

    מסנן (<measure> using fiscal_year = 'FY24')

פונקציות הערכה

פונקציות הערכה הן פונקציות מסד נתונים שניתן להשתמש בהן כדי להעביר ביטויים המאפשרים לבצע חישובים מתקדמים.

פונקציות מסדי נתונים משובצות עשויות לחייב עמודה אחת או יותר. פונקציה זו מאזכרת עמודות אלה באמצעות %1 ... %N. יש לפרט את העמודות בפועל לאחר הפונקציה.

פונקציה דוגמה תיאור תחביר

EVALUATE

SELECT EVALUATE('instr(%1, %2)', address, 'Foster City') FROM employees

פונקציה זו מעבירה למסד הנתונים את פונקציית מסד הנתונים שצוינה כאשר העמודות שאוזכרו, אם אוזכרו כאלה, משמשות כפרמטרים לצורך הערכה.

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

EVALUATE_AGGR

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

פונקציה זו מעבירה למסד הנתונים את פונקציית מסד הנתונים שצוינה כאשר העמודות שאוזכרו, אם אוזכרו כאלה, משמשות כפרמטרים לצורך הערכה. פונקציה זו מיועדת לפונקציות צבירה עם פסוק GROUP BY.

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

פונקציות מתמטיות

הפונקציות המתמטיות המתוארות בחלק זה מבצעות פעולות מתמטיות.

פונקציה דוגמה תיאור תחביר

ABS

ABS(Profit)

מחשבת את הערך המוחלט של ביטוי מספרי.

expr הוא ביטוי כלשהו שתוצאת הערכתו היא ערך מספרי.

ABS(expr)

ACOS

ACOS(1)

מחשבת את הארק קוסינוס של ביטוי מספרי.

expr הוא ביטוי כלשהו שתוצאת הערכתו היא ערך מספרי.

ACOS(expr)

ASIN

ASIN(1)

מחשבת את הארק סינוס של ביטוי מספרי.

expr הוא ביטוי כלשהו שתוצאת הערכתו היא ערך מספרי.

ASIN(expr)

ATAN

ATAN(1)

מחשבת את הארק טנגנס של ביטוי מספרי.

expr הוא ביטוי כלשהו שתוצאת הערכתו היא ערך מספרי.

ATAN(expr)

ATAN2

ATAN2(1, 2)

מחשב את הארק-טנגנס של y /x, כאשר y הוא הביטוי המספרי הראשון ו-x הוא הביטוי המספרי השני.

ATAN2(expr1, expr2)

CEILING

CEILING(Profit)

מעגל ביטוי נומרי שאינו מספר שלם למעלה למספר השלם הקרוב ביותר. אם תוצאת הביטוי המספרי היא מספר שלם, הפונקציה CEILING מחזירה מספר שלם זה.

CEILING(expr)

COS

COS(1)

מחשבת את הקוסינוס של ביטוי מספרי.

expr הוא ביטוי כלשהו שתוצאת הערכתו היא ערך מספרי.

COS(expr)

COT

COT(1)

מחשבת את הקוטנגנס של ביטוי מספרי.

expr הוא ביטוי כלשהו שתוצאת הערכתו היא ערך מספרי.

COT(expr)

DEGREES

DEGREES(1)

ממירה ביטוי מרדיאנים למעלות.

expr הוא ביטוי כלשהו שתוצאת הערכתו היא ערך מספרי.

DEGREES(expr)

EXP

EXP(4)

מעלה את הערך בחזקה שצוינה. מחשב e בחזקת n, כאשר e הוא הבסיס של האלגוריתם הטבעי.

EXP(expr)

ExtractBit

Int ExtractBit(1, 5)

מאחזרת סיבית במקום מסוים במספר שלם. היא מחזירה את המספר השלם 0 או 1 המתאים למקום של הסיבית.

ExtractBit([Source Number], [Digits])

FLOOR

FLOOR(Profit)

מעגל ביטוי נומרי שאינו מספר שלם למטה למספר השלם הקרוב ביותר. אם תוצאת הביטוי המספרי היא מספר שלם, הפונקציה FLOOR מחזירה מספר שלם זה.

FLOOR(expr)

LOG

LOG(1)

מחשבת את הלוגריתם הטבעי של ביטוי.

expr הוא ביטוי כלשהו שתוצאת הערכתו היא ערך מספרי.

LOG(expr)

LOG10

LOG10(1)

מחשבת את הלוגריתם על בסיס 10 של ביטוי.

expr הוא ביטוי כלשהו שתוצאת הערכתו היא ערך מספרי.

LOG10(expr)

MOD

MOD(10, 3)

מחלקת את הביטוי המספרי הראשון בביטוי המספרי השני ומחזירה את חלק השארית של המנה.

MOD(expr1, expr2)

PI

PI()

מחזירה את הערך הקבוע של pi.

PI()

POWER

POWER(Profit, 2)

לוקחת את הביטוי המספרי הראשון ומעלה אותו בחזקה שצוינה בביטוי המספרי השני.

POWER(expr1, expr2)

RADIANS

RADIANS(30)

ממירה ביטוי ממעלות לרדיאנים.

expr הוא ביטוי כלשהו שתוצאת הערכתו היא ערך מספרי.

RADIANS(expr)

RAND

RAND()

מחזירה מספר פסוודו-אקראי בין 0 ל-1.

RAND()

RANDFromSeed

RAND(2)

מחזירה מספר פסוודו-אקראי-המבוסס על ערך גרעין. עבור ערך גרעין נתון, מופקת אותה קבוצה של מספרים אקראיים.

RAND(expr)

ROUND

ROUND(2.166000, 2)

מעגל ביטוי מספרי לn ספרות של דיוק.

expr הוא ביטוי כלשהו שתוצאת הערכתו היא ערך מספרי.

integer הוא מספר שלם חיובי כלשהו המייצג את מספר ספרות הדיוק.

ROUND(expr, integer)

SIGN

SIGN(Profit)

מאחזר את התוצאות הבאות:

  • 1 אם תוצאת הביטוי המספרי היא מספר חיובי

  • -1 אם חישוב הביטוי המספרי נותן מספר שלילי

  • 0 אם חישוב הביטוי המספרי נותן אפס

SIGN(expr)

SIN

SIN(1)

מחשבת את הסינוס של ביטוי מספרי.

SIN(expr)

SQRT

SQRT(7)

מחשבת את השורש הריבועי של ארגומנט הביטוי המספרי. תוצאת חישוב הביטוי המספרי צריה להיות מספר לא שלילי.

SQRT(expr)

TAN

TAN(1)

מחשבת את הטנגנס של ביטוי מספרי.

expr הוא ביטוי כלשהו שתוצאת הערכתו היא ערך מספרי.

TAN(expr)

TRUNCATE

TRUNCATE(45.12345, 2)

קוטעת מספר עשרוני כדי להחזיר מספר ספרות שצוין אחרי הנקודה העשרונית.

expr הוא ביטוי כלשהו שתוצאת הערכתו היא ערך מספרי.

integer הוא כל מספר חיובי שלם שמייצג את מספר התווים אחרי הנקודה העשרונית שיש להחזיר.

TRUNCATE(expr, integer)

פונקציות סכימה פועלות

פונקציות סכימה פועלות מבצעות פעולות על מספר ערכים כדי ליצור תוצאות סיכום.

פונקציה דוגמה תיאור תחביר

MAVG

 

מחשב ממוצע נע (ממוצע) ל-n שורות הנתונים בסל התוצאות, כולל השורה הנוכחית.

expr הוא כל ביטוי שמחזיר ערך מספרי. integer הוא כל מספר שלם חיובי. מייצג את הממוצע של n שורות הנתונים האחרונות.

MAVG(expr, integer)

MSUM

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

מחשב סכום נע ל-n שורות הנתונים האחרונות, כולל השורה הנוכחית.

expr הוא כל ביטוי שמחזיר ערך מספרי. integer הוא כל מספר שלם חיובי. מייצגת את סכום n השורות האחרונות של הנתונים.

MSUM(expr, integer)

RSUM

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

מחשב סכום מצטבר על בסיס רשומות שהתגלו עד כה.

expr הוא ביטוי כלשהו שתוצאת הערכתו היא ערך מספרי.

RSUM(expr)

RCOUNT

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

משתמש בקבוצת רשומות כקלט וסופר את מספר הרשומות שהתגלו עד כה.

expr הוא ביטוי מכל סוג נתונים.

RCOUNT(expr)

RMAX

SELECT month, profit,RMAX(profit) from sales_subject_area

משתמש בקבוצת רשומות כקלט ומציג את הערך המקסימאלי על בסיס רשומות שהתגלו עד כה.

expr הוא ביטוי מכל סוג נתונים.

RMAX(expr)

RMIN

select month, profit,RMIN(profit) from sales_subject_area

משתמש בקבוצת רשומות כקלט ומציג את הערך המינימאלי על בסיס רשומות שהתגלו עד כה.

expr הוא ביטוי מכל סוג נתונים.

RMIN(expr)

פונקציות מרחביות

פונקציות מרחביות מאפשרות לבצע ניתוח גיאוגרפי כאשר אתה ממדל נתונים. לדוגמה, תוכל לחשב את המרחק בין שני אזורים גיאוגרפיים (הידועים כצורות או מצולעים).

הערה :

אי אפשר להשתמש בפונקציות מרחביות אלה בחישובים מותאמים אישית לחוברות עבודה של המחשה.
פונקציה דוגמה תיאור תחביר
GeometryArea

GeometryArea(Shape)

מחשב את האזור שהצורה תופסת.

GeometryArea(Shape)

GeometryDistance

GeometryDistance(TRIP_START, TRIP_END)

מחשב את המרחק בין שתי צורות.

GeometryDistance(Shape 1, Shape 2)

GeometryLength

GeometryLength(Shape)

מחשב את ההיקף של צורה.

GeometryLength(Shape)

GeometryRelate

GeometryRelate(TRIP_START, TRIP_END)

קובעת אם צורה אחת היא בתוך צורה אחרת. מחזירה TRUE או FALSE כמחרוזת (varchar).

GeometryRelate(Shape 1, Shape 2)

GeometryWithinDistance

GeometryWithinDistance(TRIP_START, TRIP_END, 500)

קובעת אם שתי צורות הן במרחק מוגדר אחת מהשנייה. מחזירה TRUE או FALSE כמחרוזת (varchar).

GeometryWithinDistance(Shape1, Shape2, DistanceInFloat)

פונקציות מחרוזת

פונקציות מחרוזת מבצעות מניפולציות שונות בתווים. הן פועלות על מחרוזות תווים.

פונקציה דוגמה תיאור תחביר

ASCII

ASCII('a')

ממיר מחרוזת תו אחד לקוד ASCII המקביל, בין 0 ל-255. אם ביטוי התווים מוערך כתווים רבים, מוחזר קוד ASCII המתאים לתו הראשון בביטוי.

expr הוא ביטוי שתוצאת הערכתו היא מחרוזת תווים.

ASCII(expr)

BIT_LENGTH

BIT_LENGTH('abcdef')

מחזירה את האורך, בסיביות, של מחרוזת שצוינה. כל תו Unicode הוא באורך שני בייטים, שווה ל-16 סיביות.

expr הוא ביטוי שתוצאת הערכתו היא מחרוזת תווים.

BIT_LENGTH(expr)

CHAR

CHAR(35)

ממיר ערך נומרי בין 0 ל-255 לערך התו המקביל לקוד ASCII.

expr הוא כל ביטוי שתוצאת הערכתו היא ערך מספרי בין 0 ל-255.

CHAR(expr)

CHAR_LENGTH

CHAR_LENGTH(Customer_Name)

מחזיר את האורך, במספר תווים, של מחרוזת שצוינה. רווחים מובילים ונגררים לא נספרים באורך המחרוזת.

expr הוא ביטוי שתוצאת הערכתו היא מחרוזת תווים.

CHAR_LENGTH(expr)

CONCAT

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

משרשר שתי מחרוזות תווים.

exprs הם ביטויים שתוצאת הערכתם היא מחרוזות תווים מופרדות על ידי פסיקים.

עם CONCAT עליך להשתמש בנתונים גולמיים, לא מעוצבים.

CONCAT(expr1, expr2)

INSERT

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

מוסיף מחרוזת תווים שצוינה במיקום שצוין במחרוזת תווים אחרת.

expr1 הוא כל ביטוי שתוצאת הערכתו היא מחרוזת תווים. מזהה את מחרוזת התווים של היעד.

integer1 הוא כל מספר חיובי שלם שמייצג את מספר התווים החל מתחילת מחרוזת היעד שאחריהם יש להוסיף את המחרוזת השנייה.

integer2 הוא כל מספר חיובי שלם שמייצג את מספר התווים במחרוזת היעד שיש להחליף במחרוזת השנייה.

expr2 הוא ביטוי שתוצאת הערכתו היא מחרוזת תווים. מזהה את מחרוזת התווים שתוזן לתוך מחרוזת היעד.

INSERT(expr1, integer1, integer2, expr2)

LEFT

SELECT LEFT('123456', 3) FROM table

מחזיר מספר מוגדר של תווים, מצד שמאל של מחרוזת.

expr הוא ביטוי שתוצאת הערכתו היא מחרוזת תווים.

integer הוא כל מספר חיובי שלם שמייצג את מספר התווים החל מצד שמאל של המחרוזת שיש להחזיר.

LEFT(expr, integer)

LENGTH

LENGTH(Customer_Name)

מחזיר את האורך, במספר תווים, של מחרוזת שצוינה. מוחזר האורך, לא כולל רווחים ונגררים ריקים.

expr הוא ביטוי שתוצאת הערכתו היא מחרוזת תווים.

LENGTH(expr)

LOCATE

LOCATE('d' 'abcdef')

מחזיר את המיקום המספרי של מחרוזת תווים בתוך מחרוזת תווים אחרת. אם מחרוזת התווים לא נמצאת במחרוזת בה מתבצע החיפוש, הפונקציה מחזירה ערך 0.

expr1 הוא כל ביטוי שתוצאת הערכתו היא מחרוזת תווים. מזהה את המחרוזת לחיפוש.

expr2 הוא ביטוי שתוצאת הערכתו היא מחרוזת תווים.

מזהה את המחרוזת לחיפוש.

LOCATE(expr1, expr2)

LOCATEN

LOCATEN('d' 'abcdef', 3)

כמו LOCATE, מחזיר את המיקום המספרי של מחרוזת תווים בתוך מחרוזת תווים אחרת. LOCATEN כולל ארגומנט של מספר שלם שמאפשר להגדיר מיקום התחלתי להתחלת החיפוש.

expr1 הוא כל ביטוי שתוצאת הערכתו היא מחרוזת תווים. מזהה את המחרוזת לחיפוש.

expr2 הוא ביטוי שתוצאת הערכתו היא מחרוזת תווים. מזהה את המחרוזת לחיפוש.

integer הוא כל מספר שלם וחיובי (לא אפס) שמייצג את מיקום ההתחלה לתחילת החיפוש של מחרוזת התווים.

LOCATEN(expr1, expr2, integer)

LOWER

LOWER(Customer_Name)

ממיר מחרוזת תווים לאותיות קטנות.

expr הוא ביטוי שתוצאת הערכתו היא מחרוזת תווים.

LOWER(expr)

OCTET_LENGTH

OCTET_LENGTH('abcdef')

מחזיר את מספר הבייטים של מחרוזת שצוינה.

expr הוא ביטוי שתוצאת הערכתו היא מחרוזת תווים.

OCTET_LENGTH(expr)

POSITION

POSITION('d', 'abcdef')

מחזיר את המיקום המספרי של strExpr1 בביטוי של תווים. אם strExpr1 לא נמצא, הפונקציה מחזירה 0.

expr1 הוא כל ביטוי שתוצאת הערכתו היא מחרוזת תווים. מזהה את מחרוזת התווים לחיפוש במחרוזת היעד. לדוגמה, "d".

expr2 הוא ביטוי שתוצאת הערכתו היא מחרוזת תווים. מזהה את מחרוזת היעד לחיפוש. לדוגמה, "abcdef".

POSITION(expr1, expr2)

REPEAT

REPEAT('abc', 4)

חוזרת על ביטוי שצוין n פעמים.

expr הוא ביטוי שתוצאת הערכתו היא מחרוזת תווים.

integer הוא מספר חיובי שלם שמייצג את מספר הפעמים שיש לחזור על מחרוזת התווים.

REPEAT(expr, integer)

REPLACE

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

מחליף תו אחד או יותר מביטוי תווים שצוין בתו או תווים אחרים.

expr1 הוא כל ביטוי שתוצאת הערכתו היא מחרוזת תווים. זו המחרוזת שבה התווים יוחלפו.

expr2 הוא ביטוי שתוצאת הערכתו היא מחרוזת תווים. מחרוזת התווים השנייה מזהה את התווים מהמחרוזת הראשונה שאותם יש להחליף.

expr3 הוא ביטוי שתוצאת הערכתו היא מחרוזת תווים. המחרוזת השלישית מציינת את התווים שיש להחליף לתוך המחרוזת הראשונה.

REPLACE(expr1, expr2, expr3)

RIGHT

SELECT RIGHT('123456', 3) FROM table

מחזיר מספר תווים שצוין מצידה הימני של מחרוזת.

expr הוא ביטוי שתוצאת הערכתו היא מחרוזת תווים.

integer הוא כל מספר חיובי שלם שמייצג את מספר התווים החל מצד ימין של המחרוזת שיש להחזיר.

RIGHT(expr, integer)

SPACE

SPACE(2)

מוסיף רווחים ריקים.

integer הוא מספר חיובי שלם המציין את מספר הרווחים יש להכניס.

SPACE(expr)

SUBSTRING

SUBSTRING('abcdef' FROM 2)

יוצר מחרוזת חדשה שתחילתה ממוקמת מספר תווים קבוע מתחילת המחרוזת המקורית.

expr הוא ביטוי שתוצאת הערכתו היא מחרוזת תווים.

startPos הוא מספר חיובי שלם שמייצג את מספר התווים מתחילת הצד השמאלי של המחרוזת שאחריהם התוצאה צריכה להתחיל.

SUBSTRING([SourceString] FROM [StartPostition])

SUBSTRINGN

SUBSTRING('abcdef' FROM 2 FOR 3)

כמו SUBSTRING, יוצר מחרוזת חדשה שתחילתה ממוקמת מספר תווים קבוע מתחילת המחרוזת המקורית.

SUBSTRINGN כולל ארגומנט של מספר שלם המאפשר להגדיר את אורך המחרוזת החדשה במספר של תווים.

expr הוא ביטוי שתוצאת הערכתו היא מחרוזת תווים.

startPos הוא מספר חיובי שלם שמייצג את מספר התווים מתחילת הצד השמאלי של המחרוזת שאחריהם התוצאה צריכה להתחיל.

SUBSTRING(expr FROM startPos FOR length)

TRIMBOTH

Trim(BOTH '_' FROM '_abcdef_')

מסיר ממחרוזת תווים את התווים המובילים והנגררים שצוינו.

char הוא תו יחיד כלשהו. אם תשמיט את המפרט (ואת הגרשים הנדרשים), תו ריק ישמש כברירת מחדל.

expr הוא ביטוי שתוצאת הערכתו היא מחרוזת תווים.

TRIM(BOTH char FROM expr)

TRIMLEADING

TRIM(LEADING '_' FROM '_abcdef')

מסיר ממחרוזת תווים את התווים המובילים שצוינו.

char הוא תו יחיד כלשהו. אם תשמיט את המפרט (ואת הגרשים הנדרשים), תו ריק ישמש כברירת מחדל.

expr הוא ביטוי שתוצאת הערכתו היא מחרוזת תווים.

TRIM(LEADING char FROM expr)

TRIMTRAILING

TRIM(TRAILING '_' FROM 'abcdef_')

מסיר ממחרוזת תווים את התווים הנגררים שצוינו.

char הוא תו יחיד כלשהו. אם תשמיט את המפרט (ואת הגרשים הנדרשים), תו ריק ישמש כברירת מחדל.

expr הוא ביטוי שתוצאת הערכתו היא מחרוזת תווים.

TRIM(TRAILING char FROM expr)

UPPER

UPPER(Customer_Name)

ממיר מחרוזת תווים לאותיות רישיות.

expr הוא ביטוי שתוצאת הערכתו היא מחרוזת תווים.

UPPER(expr)

עצות על שימוש בפונקציות מחרוזת

הנה כמה עצות לקבלת התוצאות הטובות ביותר בעת שימוש בפונקציות מחרוזת בחוברות העבודה שלך.

שרשור ערכים מרובים:

השתמש ב-LISTAGG כדי לשרשר ערכים מרובים לתא אחד ושורה אחת.

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

הוסף עם קיצוץ גלישה אם המחרוזת המתקבלת ארוכה מדי, והוסף מובחן אם הערכים אינם ייחודיים.

לדוגמה:

listagg(distinct City_ID by STATE on overflow truncate)

פונקציות מערכת

פונקציית המערכת USER מחזירה ערכים הקשורים למושב העבודה. לדוגמה, שם המשתמש עימו התחברת.

פונקציה דוגמה תיאור תחביר

DATABASE

 

מחזירה את שם תחום הנושא שאליו אתה מחובר.

DATABASE()

USER

 

מחזיר את שם המשתמש של המודל הסמנטי אליו אתה מחובר.

USER()

פונקציות של סדרת זמן

פונקציות של סדרת זמן מאפשרות לך לסכום ולחזות נתונים במבוסס על ממדי זמן. לדוגמה, תוכל להשתמש בפונקציה AGO כדי לחשב הכנסה מלפני שנה.

איברי ממד זמן חייבים להיות ברמת הפונקציה או ברמה נמוכה יותר. מסיבה זו, אחת או יותר מהעמודות שמזהות איברים באופן ייחודי ברמה הנתונה או ברמה נמוכה יותר חייבות להופיע בשאילתה.

פונקציה דוגמה תיאור תחביר

AGO

SELECT Year_ID, AGO(sales, year, 1)

פונקציה זו מחשבת את הערך המסוכם של מדד בפרק זמן שצוין בעבר. לדוגמה, לחישוב הכנסה חודשית לפני שנה, השתמש ב-AGO(Revenue, Year, 1, SHIP_MONTH). לחישוב הכנסות רבעוניות ברבעון האחרון, השתמש ב-AGO(Revenue, Quarter, 1).

AGO(MEASURE, TIME_LEVEL, OFFSET)

כאשר:

  • MEASURE מייצג את המדד לחישוב, לדוגמה, הכנסה.
  • TIME_LEVEL מייצג את מרווח הזמן, שחייב להיות שנה, רבעון, חודש, שבוע או יום.
  • OFFSET מייצג את מספר מרווחי הזמן לחישוב אחורה, למשל, 1 מציין שנה אחת.

PERIODROLLING

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

פונקציה זו מחשבת את הסכימה של מדד לאורך התקופה שמתחילה ב-x יחידות זמן ומסתיימת ב-y יחידות זמן החל מהזמן הנוכחי. לדוגמה, PERIODROLLING יכול לחשב מכירות עבור תקופה שמתחילה ברבעון שלפני הרבעון הנוכחי ומסתיימת ברבעון שאחריו.

PERIODROLLING(measure, x [,y])

כאשר:

  • MEASURE מייצג את השם של עמודת מדד.
  • X הוא מספר חיובי שלם שמייצג את ההיסט מהזמן הנוכחי.
  • Y הוא מספר חיובי שלם שמייצג את מספר יחידות הזמן שלאורכן הפונקציה מחשבת.
  • HIERARCHY הוא ארגומנט אופציונלי שמייצג את השם של היררכיה בממד זמן כגון YR, MON, DAY, שבו תרצה להשתמש כדי לחשב את חלון הזמן.

TODATE

SELECT Year_ID, Month_ID, TODATE (sales, year)

פונקציה זו מחשבת את הערך המסוכם של מדד מתחילת פרק זמן ועד לפרק הזמן האחרון, לדוגמה, חישובים שנתיים מצטברים.

לדוגמה, לחישוב מכירות שנתיות מצטברות, השתמש ב-TODATE(sales, year).

TODATE(MEASURE, TIME_LEVEL)

כאשר:

  • MEASURE מייצג ביטוי שמפנה לעמודת מדד אחת לפחות, למשל, מכירות.
  • TIME_LEVEL מייצג את מרווח הזמן, שחייב להיות שנה, רבעון, חודש, שבוע או יום.