ฟังก์ชันเฉพาะผู้จำหน่าย ค่าคงที่ ค่าคงที่เป็นค่าที่คงที่ที่คุณใช้ในนิพจน์ ตัวดำเนินการ ตัวดำเนินการจะระบุว่าเกิดอะไรขึ้นกับค่าบนอีกด้านหนึ่งของตัวดำเนินการ ตัวดำเนินการจะคล้ายกับฟังก์ชัน ที่ดำเนินการกับไอเท็มข้อมูลและส่งคืนผลลัพธ์ วันที่ แทรกวันที่ระบบปัจจุบัน วันที่-เวลา แทรกวันที่และเวลาระบบปัจจุบัน เวลาที่มีเขตเวลา แทรกเวลาศูนย์ที่มีเขตเวลา เวลาประทับที่มีเขตเวลา แทรกตัวอย่างของเวลาประทับที่มีเขตเวลา แทรกค่า false interval แทรกช่วงเวลาศูนย์: 000 00:00:00.000 interval year แทรกช่วงเวลาศูนย์ปี: 0 year interval month แทรกช่วงเวลาศูนย์เดือน: 0 month interval year to month แทรกศูนย์ปีเข้ากับช่วงเวลาเดือน: 0000-00 year to month interval day แทรกช่วงเวลาศูนย์วัน: 0 day interval hour แทรกช่วงเวลาศูนย์ชั่วโมง: 0 hour interval minute แทรกช่วงเวลาศูนย์นาที: 0 minute interval second แทรกช่วงเวลาศูนย์วินาที: 0 second interval day to hour แทรกศูนย์วันเข้ากับช่วงเวลาชั่วโมง: 0 00 day to hour interval day to minute แทรกศูนย์วันเข้ากับช่วงเวลานาที: 0 00:00 day to minute interval day to second แทรกศูนย์วันเข้ากับช่วงเวลาวินาที: 0 00:00:00.000000000 day to second interval hour to minute แทรกศูนย์ชั่วโมงเข้ากับช่วงเวลานาที: 0 00:00 hour to minute interval hour to second แทรกศูนย์ชั่วโมงเข้ากับช่วงเวลาวินาที: 0 00:00:00.000000000 hour to second interval minute to second แทรกศูนย์นาทีเข้ากับช่วงเวลาวินาที: 0 00:00.000000000 minute to second แทรก "null" ถ้าไม่ตรงตามเงื่อนไขของนิพจน์ number แทรกเลข 0 ซึ่งสามารถแทนด้วยค่าตัวเลขใหม่ สตริง แทรกสตริงว่างเป็นเครื่องหมายคำพูดเดี่ยวสองตัวระหว่างที่คุณสามารถพิมพ์สตริง time แทรกเวลาระบบปัจจุบัน แทรกค่า true
ระบุจุดเริ่มต้นของนิพจน์ ( expression ) ระบุจุดสิ้นสุดของนิพจน์ ( expression ) คูณค่าตัวเลขสองจำนวน value1 * value2 , แยกคอมโพเนนต์ของนิพจน์ expression ( parameter1, parameter2 ) หารค่าตัวเลขสองจำนวน value1 / value2 รวมสตริง string1 || string2 บวกค่าตัวเลขสองจำนวน value1 + value2 ลบค่าตัวเลขสองจำนวนหรือทำให้ค่าตัวเลขเป็นค่าลบ value1 - value2 หรือ - value เปรียบเทียบค่าที่แทนโดย "value1" กับ "value2" และดึงค่าที่น้อยกว่า "value2" value1 < value2 เปรียบเทียบค่าที่แทนโดย "value1" กับ "value2" และดึงค่าที่น้อยกว่าหรือเท่ากับ "value2" value1 <= value2 เปรียบเทียบค่าที่แทนโดย "value1" กับ "value2" และดึงค่าที่ไม่เท่ากับ "value2" value1 <> value2 เปรียบเทียบค่าที่แทนโดย "value1" กับ "value2" และดึงค่าไม่เท่ากับ "value2" value1 = value2 เปรียบเทียบค่าที่แทนโดย "value1" กับ "value2" และดึงค่าที่มากกว่า "value2" value1 > value2 แยกคอมโพเนนต์ในนิพจน์สมาชิกที่เป็นตัวอักษร [namespace].[dimension].[hierarchy].[level]->[L1] เปรียบเทียบค่าที่แทนโดย "value1" กับ "value2" และดึงค่าที่มากกว่าหรือเท่ากับ "value2" value1 >= value2 ส่งคืน "true" ถ้าเงื่อนไขที่อยู่ทั้งสองด้านของนิพจน์เป็น true argument1 and argument2 ทำงานกับนิพจน์การสรุปเพื่อกำหนดขอบเขตที่ต้องการปรับโดยยึดตามคอลัมน์การจัดกลุ่มในเคียวรี ขอบเขตจะขึ้นอยู่กับบริบท aggregate_function ( expression AUTO ) ตรวจสอบว่าค่าอยู่ในช่วงที่กำหนดหรือไม่ นิพจน์ between value1 and value2 ตัวอย่าง: [Revenue] between 200 and 300 ผลลัพธ์: ส่งคืนจำนวนของผลลัพธ์ที่มีรายได้ระหว่าง 200 และ 300 Revenue Between ---- ---- $332.06 false $230.55 true $107.94 false ทำงานกับ when, then, else และ end Case จะระบุจุดเริ่มต้นของสถานการณ์เฉพาะ ในขณะที่กำหนดแอ็คชัน when, then และ else case expression { when expression then expression } [ else expression ] end ตรวจสอบว่า "string1" มี "string2" หรือไม่ ไวยากรณ์นี้สนับสนุนทั้งสองอักขระเมต้า: เครื่องหมายเปอร์เซ็นต์ (%) แทนอักขระศูนย์ หนึ่งหรือหลายตัว และเครื่องหมายขีดล่าง (_) แทนอักขระใด ๆ คีย์เวิร์ด LITERAL ซึ่งจะระบุหรือไม่ก็ได้ระบุวิธีตีความหมาย '%' และ '_' เมื่อระบุคีย์เวิร์ด LITERAL, '%' และ '_' จะไม่ถือว่าเป็นอักขระเมต้า (ดูตัวอย่างที่ 3 และ 5) ไม่เช่นนั้น ในกรณีที่ระบุคีย์เวิร์ด LITERAL, '%' และ '_' จะทำหน้าที่เป็นอักขระเมต้า (ดูตัวอย่างที่ 1, 2 และ 4) string1 contains [LITERAL] string2 ตัวอย่างที่ 1: [PRODUCT_LINE] contains 'door' ผลลัพธ์ 1: Outdoor Equipment ตัวอย่างที่ 2: [PRODUCT_LINE] contains 'Golf%' ผลลัพธ์ 2: Golf Equipment ตัวอย่างที่ 3: [PRODUCT_LINE] contains literal 'Golf%' ผลลัพธ์ 3: Golf% ตัวอย่างที่ 4: [PRODUCT_LINE] contains 'Current_Year%' ผลลัพธ์ 4: Current Year Price, Current Year Price%, Current_Year Price%. ตัวอย่างที่ 5: [PRODUCT_LINE] contains literal 'Current_Year%' ผลลัพธ์ 5: Current_Year%. คีย์เวิร์ดที่สามารถใช้เป็นอาร์กิวเมนต์แรกของฟังก์ชันการสรุปสมาชิก ฟังก์ชันนี้จะปรากฏในรายงานตัวอย่าง Total Revenue by Country ในแพ็กเกจ GO Data Warehouse (query) aggregate_function ( currentMeasure within set expression ) current_date ส่งคืนวันที่ปัจจุบันของฐานข้อมูล current_date ทำงานกับประโยค lookup lookup (....) ใน (....) ดีฟอลต์ (....) คีย์เวิร์ดที่ใช้ในนิพจน์การรวมเพื่อรวมเฉพาะค่าที่ปรากฏที่ต่างกัน ดูเพิ่มเติมที่ฟังก์ชัน unique distinct dataItem ตัวอย่าง: count ( distinct [OrderDetailQuantity] ) ผลลัพธ์: 1704 ทำงานกับประโยค if หรือ case ถ้าเงื่อนไข if หรือนิพจน์ case ไม่เป็น true ดังนั้นจะใช้นิพจน์ else ฟังก์ชันนี้จะปรากฏในรายงานตัวอย่าง Top 10 Retailers for 2005 ในแพ็กเกจ GO Data Warehouse (analysis) if ( condition ) then .... else ( expression ) , or case .... else ( expression ) end ระบุจุดสิ้นสุดของประโยค case หรือ when case .... end ตรวจสอบว่า "string1" ลงท้ายด้วย "string2" หรือไม่ ไวยากรณ์นี้สนับสนุนทั้งสองอักขระเมต้า: เครื่องหมายเปอร์เซ็นต์ (%) แทนอักขระศูนย์ หนึ่งหรือหลายตัว และเครื่องหมายขีดล่าง (_) แทนอักขระใด ๆ คีย์เวิร์ด LITERAL ซึ่งจะระบุหรือไม่ก็ได้ระบุวิธีตีความหมาย '%' และ '_' เมื่อระบุคีย์เวิร์ด LITERAL, '%' และ '_' จะไม่ถือว่าเป็นอักขระเมต้า (ดูตัวอย่างที่ 3 และ 5) ไม่เช่นนั้น ในกรณีที่ระบุคีย์เวิร์ด LITERAL, '%' และ '_' จะทำหน้าที่เป็นอักขระเมต้า (ดูตัวอย่างที่ 1, 2 และ 4) string1 ends with [LITERAL] string2 ตัวอย่างที่ 1: [PRODUCT_LINE] ends with 'Equipment' ผลลัพธ์ 1: Camping Equipment, Golf Equipment ตัวอย่างที่ 2: [PRODUCT_LINE] ends with '%Equipment' ผลลัพธ์ 2: Golf Equipment, Camping Equipment ตัวอย่างที่ 3: [PRODUCT_LINE] ends with literal 'Equipment%' ผลลัพธ์ที่ 3: Equipment% ตัวอย่างที่ 4: [PRODUCT_LINE] ends with '%Price' ผลลัพธ์ที่ 4: Product Price, Current_Year Price ตัวอย่างที่ 5: [PRODUCT_LINE] ends with literal '%Price' ผลลัพธ์ 5: %Price ตรวจสอบว่า "string1" ตรงกับรูปแบบของ "string2" โดยที่อักขระ "char" ใช้เป็นทางเลือก escape อักขระในสตริงรูปแบบ string1 LIKE string2 [ ESCAPE char ] ตัวอย่าง: [PRODUCT_LINE] like 'G%' ผลลัพธ์: ผลิตภัณฑ์ทั้งหมดที่เริ่มด้วย 'G'. ตัวอย่าง: [PRODUCT_LINE] like '%Ga%' escape 'a' ผลลัพธ์: ผลิตภัณฑ์ทั้งหมดที่เริ่มด้วย 'G%'. ทำงานกับนิพจน์การสรุปเพื่อกำหนดขอบเขตของการรวมในเคียวรี aggregate_function ( expression for expression { , expression } ) ทำงานกับนิพจน์การสรุปเพื่อกำหนดขอบเขตที่ต้องการปรับโดยยึดตามชุดย่อยของคอลัมน์การจัดกลุ่มในเคียวรี เทียบเท่ากับประโยค for aggregate_function ( expression for ANY expression { , expression } ) ทำงานกับนิพจน์การสรุปเพื่อกำหนดขอบเขตที่จะเป็นคอลัมน์การจัดกลุ่มทั้งหมดในเคียวรี ดูเพิ่มเติมที่ประโยค for aggregate_function ( expression for ALL expression { , expression } ) ทำงานกับนิพจน์การสรุปเพื่อกำหนดขอบเขตที่จะเป็นเคียวรีทั้งหมด ดูเพิ่มเติมที่ประโยค for ฟังก์ชันนี้จะปรากฏในรายงานตัวอย่าง Customer Returns and Satisfaction ในแพ็กเกจ GO Data Warehouse (analysis) aggregate_function ( expression for report ) ทำงานกับประโยค then และ else ถ้ากำหนดเงื่อนไข เมื่อเงื่อนไข if เป็น true จะใช้นิพจน์ then เมื่อเงื่อนไข if ไม่เป็น true จะใช้นิพจน์ else ฟังก์ชันนี้จะปรากฏในรายงานตัวอย่าง Top 10 Retailers for 2005 ในแพ็กเกจ GO Data Warehouse (analysis) if ( condition ) then ( expression ) else ( expression ) ตรวจสอบว่ามี "expression1" ในรายการของนิพจน์ที่กำหนดหรือไม่ expression1 in ( expression_list ) ตรวจสอบว่ามี "expression1" ในรายการของค่าคงที่หรือช่วงที่กำหนดหรือไม่ expression1 in_range { constant : constant [ , constant : constant ] } ตัวอย่าง: [code] in_range { 5 } ผลลัพธ์: นี่จะเทียบเท่ากับ [code] = 5 ตัวอย่าง: [code] in_range { 5: } ผลลัพธ์: นี้เทียบเท่ากับ [code] >= 5 ตัวอย่าง: [code] in_range { :5 } ผลลัพธ์: นี้เทียบเท่ากับ [code] <= 5 ตัวอย่าง: [code] in_range { 5:10 } ผลลัพธ์: นี่เทียบเท่ากับ ( [code] >= 5 และ [code] <= 10 ) ตัวอย่าง: [code] in_range { :5,10,20: } ผลลัพธ์: นี่เทียบเท่ากับ ( [code] <= 5 หรือ [code] = 10 หรือ [code] >= 20 ) ตรวจสอบว่า "value" ไม่ได้กำหนดในข้อมูลหรือไม่ value is missing ตรวจสอบว่า "value" ไม่ได้กำหนดในข้อมูลหรือไม่ value is null ตรวจสอบว่า "value" ถูกกำหนดไว้ในข้อมูลหรือไม่ value is not missing ตรวจสอบว่า "value" ถูกกำหนดไว้ในข้อมูลหรือไม่ value is not null ตรวจสอบว่า "string1" ตรงกับรูปแบบของ "string2" โดยที่อักขระ "char" ใช้เป็นทางเลือก escape อักขระในสตริงรูปแบบ ไวยากรณ์นี้สนับสนุนทั้งสองอักขระเมต้า: เครื่องหมายเปอร์เซ็นต์ (%) แทนอักขระศูนย์ หนึ่งหรือหลายตัว และเครื่องหมายขีดล่าง (_) แทนอักขระใดๆ string1 LIKE string2 [ ESCAPE char ] ตัวอย่างที่ 1: [PRODUCT_LINE] like 'G%' ผลลัพธ์ 1: All product lines that start with 'G'. ตัวอย่างที่ 2: [PRODUCT_LINE] like '%Ga%' escape 'a' ผลลัพธ์ 2: สายการผลิตทั้งหมดที่ลงท้ายด้วย 'G%'. ตัวอย่างที่ 3: [PRODUCT_LINE] like 'C_R_' ผลลัพธ์ 3: สายการผลิตทั้งหมดที่มีชื่อ CARS หรือ CARD ตัวอย่าง: lookup ( [Country]) in ( 'Canada'--> ( [List Price] * 0.60), 'Australia'--> ( [List Price] * 0.80 ) ) default ( [List Price] ) ค้นหาและแทนข้อมูลด้วยค่าที่คุณระบุ แนะนำให้ใช้การประโยค case lookup ( name ) in ( value1 --> value2 ) default ( expression ) ส่งคืน TRUE ถ้า "argument" เป็น false หรือส่งคืน FALSE ถ้า "argument" เป็น true อาร์กิวเมนต์ NOT ส่งคืน TRUE ถ้า "argument1" หรือ "argument2" ตัวใดตัวหนึ่งเป็น true argument1 or argument2 ดำเนินการคำนวณการสรุปก่อนใช้ตัวกรองการสรุป summary_function ([expression] prefilter) ตัวอย่าง: total ( [Quantity] for report prefilter ) summaryFilter: total( [Quantity] for [ProductNo] ) > 50000 ผลลัพธ์: หาผลรวมของปริมาณในรายงานก่อนใช้ตัวกรองการสรุป PNo Total Total Total forPNo forRep forRep_Prefilter --------- -------- ---------- ------------------- 88 54928 298140 2215354 89 51126 298140 2215354 90 69996 298140 2215354 94 69004 298140 2215354 95 53086 298140 2215354 นับจำนวนแถวที่ให้เอาต์พุตโดยเคียวรี ใช้กับ Count () count ( ROWS ) นับจำนวนแถวที่ให้เอาต์พุตโดยเคียวรี ใช้กับ Count () count ( ROWS  [ expression ]) ตรวจสอบว่า "string1" เริ่มต้นด้วย "string2" หรือไม่ ไวยากรณ์นี้สนับสนุนทั้งสองอักขระเมต้า: เครื่องหมายเปอร์เซ็นต์ (%) แทนอักขระศูนย์ หนึ่งหรือหลายตัว และเครื่องหมายขีดล่าง (_) แทนอักขระใด ๆ คีย์เวิร์ด LITERAL ซึ่งจะระบุหรือไม่ก็ได้ระบุวิธีตีความหมาย '%' และ '_' เมื่อระบุคีย์เวิร์ด LITERAL, '%' และ '_' จะไม่ถือว่าเป็นอักขระเมต้า (ดูตัวอย่างที่ 3 และ 5) ไม่เช่นนั้น ในกรณีที่ระบุคีย์เวิร์ด LITERAL, '%' และ '_' จะทำหน้าที่เป็นอักขระเมต้า (ดูตัวอย่างที่ 1, 2 และ 4) string1 starts with [LITERAL] string2 ตัวอย่างที่ 1: [PRODUCT_LINE] starts with 'Golf' ผลลัพธ์ 1: Golf Equipment ตัวอย่างที่ 2: [PRODUCT_LINE] starts with 'Outdoor%' ผลลัพธ์ 2: Outdoor Equipment ตัวอย่างที่ 3: [PRODUCT_LINE] starts with literal 'Golf%' ผลลัพธ์ 3: Golf% ตัวอย่างที่ 4: [PRODUCT_LINE] starts with 'Current_Year%' ผลลัพธ์ 4: Current Year Price, Current Year Price%, Current_Year Price% ตัวอย่างที่ 5: [PRODUCT_LINE] starts with literal 'Current_Year%' ผลลัพธ์ 5: Current_Year% ทำงานกับประโยค if หรือ case เมื่อเงื่อนไข if หรือ นิพจน์ when เป็น true จะใช้นิพจน์ then ฟังก์ชันนี้จะปรากฏในรายงานตัวอย่าง Top 10 Retailers for 2005 ในแพ็กเกจ GO Data Warehouse (analysis) if ( condition ) then ..., or case expression when expression then .... end ทำงานกับประโยค case คุณสามารถกำหนดเงื่อนไขเพื่อให้ปรากฏเมื่อนิพจน์ WHEN เป็น true case [expression] when ... end
สรุป รายการนี้ประกอบด้วยฟังก์ชันที่กำหนดไว้ล่วงหน้าที่ส่งคืนค่าสรุปค่าเดียวสำหรับกลุ่มของค่าที่เกี่ยวข้องกัน หรือค่าสรุปที่แตกต่างกันสำหรับแต่ละอินสแตนซ์ของกลุ่มของค่าที่เกี่ยวข้องกัน ส่งคืนค่าที่ถูกคำนวณโดยใช้ฟังก์ชันการรวมที่เหมาะสม โดยยึดตามชนิดของการรวมของนิพจน์ ฟังก์ชันนี้จะปรากฏในรายงานตัวอย่าง Budget vs. Actual ในแพ็กเกจ GO Data Warehouse (analysis) aggregate ( expression [ auto ] ) aggregate ( expression for [ all|any ] expression { , expression } ) aggregate ( expression for report ) ส่งคืนค่าเฉลี่ยของไอเท็มข้อมูลที่เลือก Distinct คือนิพจน์อื่นที่เข้ากันได้กับผลิตภัณฑ์เวอร์ชันก่อนหน้านี้ average ( [ distinct ] expression [ auto ] ) average ( [ distinct ] expression for [ all|any ] expression { , expression } ) average ( [ distinct ] expression for report ) ตัวอย่าง: average ( Sales ) ผลลัพธ์: ส่งคืนค่าเฉลี่ยของค่า Sales ทั้งหมด ส่งคืนจำนวนของไอเท็มข้อมูลที่เลือกที่ไม่รวมค่า null Distinct คือนิพจน์อื่นที่เข้ากันได้กับผลิตภัณฑ์เวอร์ชันก่อนหน้านี้ ทั้งหมดนี้ได้รับการสนับสนุนในโหมด DQM เท่านั้นและจะหลีกเลี่ยงข้อสันนิษฐานของการนับหน่วยข้อมูลของตารางมิติเป็นสองเท่า count ( [ all | distinct ] expression [ auto ] ) count ( [ all | distinct ] expression for [ all|any ] expression { , expression } ) count ( [ all | distinct ] expression for report ) ตัวอย่าง: count ( Sales ) ผลลัพธ์: ส่งคืนจำนวนทั้งหมดของรายการที่อยู่ภายใต้ Sales ส่งคืนค่าที่สูงที่สุดของไอเท็มข้อมูลที่เลือก Distinct คือนิพจน์อื่นที่เข้ากันได้กับผลิตภัณฑ์เวอร์ชันก่อนหน้านี้ maximum ( [ distinct ] expression [ auto ] ) maximum ( [ distinct ] expression for [ all|any ] expression { , expression } ) maximum ( [ distinct ] expression for report ) ตัวอย่าง: maximum ( Sales ) ผลลัพธ์: ส่งคืนค่าสูงสุดจากค่า Sales ทั้งหมด ส่งคืนค่ามีเดียนของไอเท็มข้อมูลที่เลือก median ( expression [ auto ] ) median ( expression for [ all|any ] expression { , expression } ) median ( expression for report ) ส่งคืนค่าที่ต่ำที่สุดของไอเท็มข้อมูลที่เลือก Distinct คือนิพจน์อื่นที่เข้ากันได้กับผลิตภัณฑ์เวอร์ชันก่อนหน้านี้ minimum ( [ distinct ] expression [ auto ] ) minimum ( [ distinct ] expression for [ all|any ] expression { , expression } ) minimum ( [ distinct ] expression for report ) ตัวอย่าง: minimum ( Sales ) ผลลัพธ์: ส่งคืนค่าที่น้อยที่สุดจากค่าของ Sales ทั้งหมด ส่งคืน moving averager โดยแถวสำหรับชุดของค่าที่ระบุของจำนวนแถวที่ระบุ "<for-option>" จะกำหนดขอบเขตของฟังก์ชัน อ็อพชัน "at" กำหนดระดับของการรวมและสามารถใช้ในบริบทของแหล่งข้อมูลเชิงสัมพันธ์เท่านั้น moving-average ( numeric_expression , numeric_expression [ at expression { , expression } ] [ <for-option> ] [ prefilter ] ) moving-average (  numeric_expression , numeric_expression [ <for-option> ] [ prefilter ] ) <for-option> ::= for expression { , expression }|for report|auto ตัวอย่าง: moving-average ( Qty , 3 ) ผลลัพธ์: สำหรับแต่ละแถว จะส่งคืนปริมาณและ moving average ของแถวปัจจุบันและแถวที่นำหน้าสองแถว Qty Moving-Average (Qty, 3) ------ ------------------------------------ 200 200 700 450 400 433.3333 200 433.3333 200 266.6667 500 300.0000 ส่งคืน moving total โดยแถวสำหรับชุดของค่าที่ระบุของจำนวนแถวที่ระบุ "<for-option>" จะกำหนดขอบเขตของฟังก์ชัน อ็อพชัน "at" กำหนดระดับของการรวมและสามารถใช้ในบริบทของแหล่งข้อมูลเชิงสัมพันธ์เท่านั้น moving-total ( numeric_expression , numeric_expression [ at expression { , expression } ] [ <for-option> ] [ prefilter ] ) moving-total (  numeric_expression , numeric_expression [ <for-option> ] [ prefilter ] ) <for-option> ::= for expression { , expression }|for report|auto ตัวอย่าง: moving-total ( Qty , 3 ) ผลลัพธ์: สำหรับแต่ละแถว จะส่งคืนปริมาณและ moving total ของแถวปัจจุบันและแถวที่นำหน้าสองแถว Qty Moving-Total (Qty, 3) ------ -------------------------------- 200 200 700 900 400 1300 200 1300 200 800 500 900 ส่งคืนเปอร์เซ็นต์ของค่าผลรวมสำหรับไอเท็มข้อมูลที่เลือก "<for-option>" จะกำหนดขอบเขตของฟังก์ชัน อ็อพชัน "at" กำหนดระดับของการรวมและสามารถใช้ในบริบทของแหล่งข้อมูลเชิงสัมพันธ์เท่านั้น ฟังก์ชันนี้จะปรากฏในรายงานตัวอย่าง Percentage Calculation (by year) แบบมีการโต้ตอบ percentage ( numeric_expression [ at expression  { , expression } ] [ <for-option> ] [ prefilter ] ) percentage (  numeric_expression [ <for-option> ] [ prefilter ] ) <for-option> ::= for expression { , expression }|for report|auto ตัวอย่าง: percentage ( Sales 98 ) ผลลัพธ์: ส่งคืนเปอร์เซ็นต์ของยอดขายรวมสำหรับ 1998 ที่เป็นคุณสมบัติของตัวแทนฝ่ายขาย Employee Sales 98 Percentage --------- --------- ------------- Gibbons 60646 7.11% Flertjan 62523 7.35% Cornel 22396 2.63% ส่งคืนค่า บนสเกลของหนึ่งร้อย ที่ระบุเปอร์เซ็นต์ของการกระจายที่เท่ากับหรือน้อยกว่าไอเท็มข้อมูลที่เลือก "<for-option>" จะกำหนดขอบเขตของฟังก์ชัน อ็อพชัน "at" กำหนดระดับของการรวมและสามารถใช้ในบริบทของแหล่งข้อมูลเชิงสัมพันธ์เท่านั้น percentile ( numeric_expression [ at expression { , expression } ] [ <for-option> ] [ prefilter ] ) percentile (  numeric_expression [ <for-option> ] [ prefilter ] ) <for-option> ::= for expression { , expression }|for report|auto ตัวอย่าง: percentile ( Sales 98 ) ผลลัพธ์: สำหรับแต่ละแถว ส่งคืนเปอร์เซ็นต์ของแถวที่เท่ากับหรือน้อยกว่าค่าปริมาณของแถวนั้น Qty Percentile (Qty) ------ ----------------- 800 1 700 0.875 600 0.75 500 0.625 400 0.5 400 0.5 200 0.25 200 0.25 ส่งคืนลำดับของค่าภายในช่วงที่คุณระบุ ซึ่งจะส่งคืนจำนวนเต็มเพื่อแทนช่วงของลำดับ เช่น 1 (สูงที่สุด) ถึง 100 (ต่ำที่สุด) "<for-option>" จะกำหนดขอบเขตของฟังก์ชัน อ็อพชัน "at" กำหนดระดับของการรวมและสามารถใช้ในบริบทของแหล่งข้อมูลเชิงสัมพันธ์เท่านั้น quantile ( numeric_expression , numeric_expression [ at expression { , expression } ] [ <for-option> ] [ prefilter ] ) quantile (  numeric_expression , numeric_expression [ <for-option> ] [ prefilter ] ) <for-option> ::= for expression { , expression }|for report|auto ตัวอย่าง: quantile ( Qty , 4 ) ผลลัพธ์: ส่งคืนปริมาณ ลำดับของค่าปริมาณ และค่าปริมาณที่แบ่งออกเป็น 4 กลุ่ม quantile (quartiles) Qty Rank Quantile (Qty, 4) ------ ------- --------------- 800 1 1 700 2 1 600 3 2 500 4 2 400 5 3 400 5 3 200 7 4 200 7 4 ส่งคืนลำดับของค่า ที่แทนเป็นจำนวนเต็มจาก1 (สูงที่สุด) ถึง 4 (น้อยที่สุด) ที่สัมพันธ์กับกลุ่มของค่า "<for-option>" จะกำหนดขอบเขตของฟังก์ชัน อ็อพชัน "at" กำหนดระดับของการรวมและสามารถใช้ในบริบทของแหล่งข้อมูลเชิงสัมพันธ์เท่านั้น quartile ( numeric_expression [ at expression { , expression } ] [ <for-option> ] [ prefilter ] ) quartile (  numeric_expression [ <for-option> ] [ prefilter ] ) <for-option> ::= for expression { , expression }|for report|auto ตัวอย่าง: quartile ( Qty ) ผลลัพธ์: ส่งคืนปริมาณและ quartile ของค่าปริมาณเป็นจำนวนเต็มจาก 1 (สูงที่สุด) ถึง 4 (น้อยที่สุด) Qty Quartile (Qty) ------ --------------------- 450 1 400 1 350 2 300 2 250 3 200 3 150 4 100 4 ส่งคืนลำดับของค่าของไอเท็มข้อมูลที่เลือก การเรียงลำดับเป็นอ็อพชัน โดยจะถือว่าเป็นลำดับจากมากไปหาน้อย (DESC) โดยดีฟอลต์ ถ้ามีแถวสองแถวหรือมากกว่าที่เชื่อมเข้าด้วยกัน ดังนั้นจะมีช่องว่างในลำดับของค่าที่ถูกจัดอันดับ (หรือเรียกว่า Olympic ranking) "<for-option>" จะกำหนดขอบเขตของฟังก์ชัน อ็อพชัน "at" กำหนดระดับของการรวมและสามารถใช้ในบริบทของแหล่งข้อมูลเชิงสัมพันธ์เท่านั้น Distinct คือนิพจน์อื่นที่เข้ากันได้กับผลิตภัณฑ์เวอร์ชันก่อนหน้านี้ ค่า null จะเป็นอันดับสุดท้าย ฟังก์ชันนี้จะปรากฏในรายงานตัวอย่าง Top 10 Retailers for 2005 ในแพ็กเกจ GO Data Warehouse (analysis) rank ( expression [ ASC|DESC ] { , expression [ ASC|DESC ] } [ at expression { , expression } ] [ <for-option> ] [ prefilter ] ) rank ( [ distinct ] expression [ ASC|DESC ] { , expression [ ASC|DESC ] } [ <for-option>] [ prefilter ] ) <for-option> ::= for expression { , expression }|for report|auto ตัวอย่าง: rank ( Sales 98 ) ผลลัพธ์: สำหรับแต่ละแถว ส่งคืนค่าลำดับของยอดขายสำหรับปี 1998 ที่เป็นคุณสมบัติของตัวแทนฝ่ายขาย บางจำนวนจะถูกข้ามเมื่อมีการเชื่อมระหว่างแถว Employee Sales 98 Rank --------- --------- ------------ Gibbons 60000 1 Flertjan 50000 2 Cornel 50000 2 Smith 48000 4 ส่งคืน running average โดยแถว (รวมถึงแถวปัจจุบัน) สำหรับชุดของค่า "<for-option>" จะกำหนดขอบเขตของฟังก์ชัน อ็อพชัน "at" กำหนดระดับของการรวมและสามารถใช้ในบริบทของแหล่งข้อมูลเชิงสัมพันธ์เท่านั้น running-average ( numeric_expression [ at expression { , expression } ] [ <for-option> ] [ prefilter ] ) running-average (  numeric_expression [ <for-option> ] [ prefilter ] ) <for-option> ::= for expression { , expression }|for report|auto ตัวอย่าง: running-average ( Qty ) ผลลัพธ์: สำหรับแต่ละแถว ส่งคืนปริมาณและ running average ของแถวปัจจุบันและแถวก่อนหน้านี้ Name Qty Avg Running-Average for name ------- ------ ------ ----------------------- Smith 7 5 7 Smith 3 5 5 Smith 6 5 5.33 Smith 4 5 5 Wong 3 4 3 Wong 5 4 4 ส่งคืน running count โดยแถว (รวมถึงแถวปัจจุบัน) สำหรับชุดของค่า "<for-option>" จะกำหนดขอบเขตของฟังก์ชัน อ็อพชัน "at" กำหนดระดับของการรวมและสามารถใช้ในบริบทของแหล่งข้อมูลเชิงสัมพันธ์เท่านั้น running-count ( numeric_expression [ at expression { , expression } ] [ <for-option> ] [ prefilter ] ) running-count (  numeric_expression [ <for-option> ] [ prefilter ] ) <for-option> ::= for expression { , expression }|for report|auto ตัวอย่าง: running-count ( Qty ) ผลลัพธ์: สำหรับแต่ละแถว ส่งคืนปริมาณและ running count ของตำแหน่งของแถวปัจจุบัน Name Qty Count Running-Count for name ------- ------ --------- ------------------------ Smith 7 4 1 Smith 3 4 2 Smith 6 4 3 Smith 4 4 4 Wong 3 3 1 Wong 5 3 2 ส่งคืน running difference โดยแถว ที่คำนวณเป็นความแตกต่างระหว่างค่าสำหรับแถวปัจจุบันและแถวที่มาก่อน (รวมถึงแถวปัจจุบัน) สำหรับชุดของค่า "<for-option>" จะกำหนดขอบเขตของฟังก์ชัน อ็อพชัน "at" กำหนดระดับของการรวมและสามารถใช้ในบริบทของแหล่งข้อมูลเชิงสัมพันธ์เท่านั้น running-difference ( numeric_expression [ at expression { , expression } ] [ <for-option> ] [ prefilter ] ) running-difference (  numeric_expression [ <for-option> ] [ prefilter ] ) <for-option> ::= for expression { , expression }|for report|auto ตัวอย่าง: running-difference ( Qty ) ผลลัพธ์: สำหรับแต่ละแถว ส่งคืนปริมาณและ running difference ระหว่างค่าสำหรับแถวปัจจุบันและแถวที่มาก่อน Name Qty Running-Difference for name ------- ------ --------------------------- Smith 7 NULL Smith 3 -4 Smith 6 3 Smith 4 -2 Wong 3 -1 Wong 5 2 ส่งคืน running maximum โดยแถว (รวมถึงแถวปัจจุบัน) สำหรับชุดของค่า "<for-option>" จะกำหนดขอบเขตของฟังก์ชัน อ็อพชัน "at" กำหนดระดับของการรวมและสามารถใช้ในบริบทของแหล่งข้อมูลเชิงสัมพันธ์เท่านั้น running-maximum (  numeric_expression [ at expression { , expression } ] [ <for-option> ] [ prefilter ] ) running-maximum (  numeric_expression [ <for-option> ] [ prefilter ] ) <for-option> ::= for expression { , expression }|for report|auto ตัวอย่าง: running-maximum ( Qty ) ผลลัพธ์: สำหรับแต่ละแถว ส่งคืนปริมาณและ running maximum ของแถวปัจจุบันและแถวก่อนหน้านี้ Name Qty Max Running-Maximum (Qty) for name ------- ------ ------ ------------------------- Smith 2 7 2 Smith 3 7 3 Smith 6 7 6 Smith 7 7 7 Wong 3 5 3 Wong 5 5 5 ส่งคืน running minimum โดยแถว (รวมถึงแถวปัจจุบัน) สำหรับชุดของค่า "<for-option>" จะกำหนดขอบเขตของฟังก์ชัน อ็อพชัน "at" กำหนดระดับของการรวมและสามารถใช้ในบริบทของแหล่งข้อมูลเชิงสัมพันธ์เท่านั้น running-minimum ( numeric_expression [ at expression { , expression } ] [ <for-option> ] [ prefilter ] ) running-minimum (  numeric_expression [ <for-option> ] [ prefilter ] ) <for-option> ::= for expression { , expression }|for report|auto ตัวอย่าง: running-minimum ( Qty ) ผลลัพธ์: สำหรับแต่ละแถว ส่งคืนปริมาณและ running minimum ของแถวปัจจุบันและแถวก่อนหน้านี้ Name Qty Min Running-Minimum (Qty) for name ------- ----- ------ -------------------------- Smith 7 2 7 Smith 3 2 3 Smith 6 2 3 Smith 2 2 2 Wong 4 3 4 Wong 5 3 4 ส่งคืน running total โดยแถว (รวมถึงแถวปัจจุบัน) สำหรับชุดของค่า "<for-option>" จะกำหนดขอบเขตของฟังก์ชัน อ็อพชัน "at" กำหนดระดับของการรวมและสามารถใช้ในบริบทของแหล่งข้อมูลเชิงสัมพันธ์เท่านั้น running-total ( numeric_expression [ at expression { , expression } ] [ <for-option> ] [ prefilter ] ) running-total (  numeric_expression [ <for-option> ] [ prefilter ] ) <for-option> ::= for expression { , expression }|for report|auto ตัวอย่าง: running-total ( Qty ) ผลลัพธ์: สำหรับแต่ละแถว ส่งคืนปริมาณและ running total ของแถวปัจจุบันและแถวก่อนหน้านี้ Name Qty Total Running-Total (Qty) for name ------- ------ -------- ------------------------- Smith 2 18 2 Smith 3 18 5 Smith 6 18 11 Smith 7 18 18 Wong 3 12 3 Wong 5 12 8 ส่งคืนค่าเบี่ยงเบนมาตฐานของไอเท็มข้อมูลที่เลือก standard-deviation (  expression [ auto ] ) standard-deviation (  expression for [ all|any ] expression { , expression } ) standard-deviation (  expression for report ) ตัวอย่าง: standard-deviation ( ProductCost ) ผลลัพธ์: ส่งคืนค่าที่ระบุค่าเบี่ยงเบนมาตรฐานระหว่างต้นทุนของผลิตภัณฑ์และต้นทุนเฉลี่ยของผลิตภัณฑ์ คำนวณค่าเบี่ยงเบนมาตรฐานของประชากรและส่งคืนรากที่สองของความแปรปรวนของประชากร standard-deviation-pop (  expression [ auto ] ) standard-deviation-pop (  expression for [ all|any ] expression { , expression } ) standard-deviation-pop (  expression for report ) ตัวอย่าง: standard-deviation-pop ( ProductCost ) ผลลัพธ์: ส่งคืนค่าของรากที่สองของความแปรปรวนของประชากร คำนวณค่าเบี่ยงเบนมาตรฐานของประชากรตัวอย่างและส่งคืนรากที่สองของความแปรปรวนของประชากร standard-deviation-samp (  expression [ auto ] ) standard-deviation-samp (  expression for [ all|any ] expression { , expression } ) standard-deviation-samp (  expression for report ) ตัวอย่าง: standard-deviation-samp ( ProductCost ) ผลลัพธ์: ส่งคืนค่าของรากที่สองของความแปรปรวนตัวอย่าง ส่งคืนลำดับของค่าเป็น High, Middle หรือ Low ที่สัมพันธ์กับกลุ่มของค่า tertile (  expression [ auto ] ) tertile (  expression for [ all|any ] expression { , expression } ) tertile (  expression for report ) ตัวอย่าง: tertile ( Qty ) ผลลัพธ์: ส่งคืนปริมาณ quantile ของค่าปริมาณเมื่อแบ่งเป็น tertiles และค่าปริมาณที่แบ่งเป็น tertiles Qty Quantile (Qty, 3) Tertile (Qty) ------ ------------------------ ------------------ 800 1 H 700 1 H 500 2 M 400 2 M 200 3 L 200 3 L ส่งคืนค่าทั้งหมดของไอเท็มข้อมูลที่เลือก Distinct คือนิพจน์อื่นที่เข้ากันได้กับผลิตภัณฑ์เวอร์ชันก่อนหน้านี้ ฟังก์ชันนี้จะปรากฏในรายงานตัวอย่าง Budget vs. Actual ในแพ็กเกจ GO Data Warehouse (analysis) total ( [ distinct ] expression [ auto ] ) total ( [ distinct ] expression for [ all|any ] expression { , expression } ) total ( [ distinct ] expression for report ) ตัวอย่าง: total ( Sales ) ผลลัพธ์: ส่งคืนค่าผลรวมของค่า Sales ทั้งหมด ฟังก์ชันทางสถิติ รายการนี้ประกอบด้วยฟังก์ชันการสรุปที่กำหนดไว้ล่วงหน้าของค่าทางสถิติ ส่งคืนความแปรปรวนของไอเท็มข้อมูลที่เลือก variance (  expression [ auto ] ) variance (  expression for [ all|any ] expression { , expression } ) variance (  expression for report ) Example: variance ( Product Cost ) ผลลัพธ์: ส่งคืนค่าที่ระบุความกว้างของต้นทุนของผลิตภัณฑ์ที่แตกต่างจากต้นทุนเฉลี่ยของผลิตภัณฑ์ ส่งคืนความแปรปรวนของประชากรของชุดของจำนวนหลังจากที่ไม่รวมค่า null ในชุดนี้ variance-pop (  expression [ auto ] ) variance-pop (  expression for [ all|any ] expression { , expression } ) variance-pop (  expression for report ) ตัวอย่าง: variance-pop ( Qty ) ผลลัพธ์: สำหรับแต่ละแถว ส่งคืนความแปรปรวนของประชากรของชุดของตัวเลขหลังจากไม่รวมค่า null ในชุดนี้ ส่งคืนความแปรปรวนของตัวอย่างของชุดของจำนวนหลังจากที่ไม่รวมค่า null ในชุดนี้ variance-samp (  expression [ auto ] ) variance-samp (  expression for [ all|any ] expression { , expression } ) variance-samp (  expression for report ) ตัวอย่าง: variance-samp ( Qty ) ผลลัพธ์: สำหรับแต่ละแถว ส่งคืนความแปรปรวนของตัวอย่างของชุดของตัวเลขหลังจากไม่รวมค่า null ในชุดนี้ corr ( numeric_expression1 ,  numeric_expression2  [ auto ] ) corr ( numeric_expression1 ,  numeric_expression2 for [ all|any ] expression { , expression } ) corr ( numeric_expression1 ,  numeric_expression2 for report ) ส่งคืนสัมประสิทธิ์สหสัมพันธ์ของชุดของคู่ตัวเลข ซึ่งคำนวณดังนี้: COVAR_POP(numeric_expression1, numeric_expression2) / (STDDEV_POP(numeric_expression1) * STDDEV_POP(numeric_expression2)) ตัวอย่าง: corr ( Cost ,  Margin  for report) ผลลัพธ์: สัมประสิทธิ์สหสัมพันธ์ระหว่างต้นทุนและกำไรขั้นต้น Cost Margin corr (Cost, Margin for report) ------- ---------- ----------------------------------------- 4 0.33 0.0872648 5 0.28 0.0872648 9.22 0.23 0.0872648 15.93 0.28 0.0872648 34.97 0.3 0.0872648 covariance-pop ( numeric_expression1 ,  numeric_expression2 ) covariance-pop ( numeric_expression1 ,  numeric_expression2 for [ all|any ] expression { , expression } ) covariance-pop ( numeric_expression1 ,  numeric_expression2 for report ) ส่งคืนความแปรปรวนรวมของประชากรของชุดของคู่ตัวเลข ตัวอย่าง: covariance-pop ( Cost ,  Margin  for report) ผลลัพธ์: ความแปรปรวนรวมของประชากรระหว่างต้นทุนและกำไรขั้นต้น Cost Margin covariance-pop (Cost, Margin for report) ------- ---------- --------------------------------------------------------- 4 0.33 0.032384 5 0.28 0.032384 9.22 0.23 0.032384 15.93 0.28 0.032384 34.97 0.3 0.032384 covariance-samp ( numeric_expression1 ,  numeric_expression2 ) covariance-samp ( numeric_expression1 ,  numeric_expression2 for [ all|any ] expression { , expression } ) covariance-samp ( numeric_expression1 ,  numeric_expression2 for report ) ส่งคืนความแปรปรวนรวมของตัวอย่างของชุดของคู่ตัวเลข ตัวอย่าง: covariance-samp ( Cost ,  Margin  for report) ผลลัพธ์: ความแปรปรวนตัวอย่างระหว่างต้นทุนและกำไรขั้นต้น Cost Margin covariance-samp (Cost, Margin for report) ------- ---------- ------------------------------------------------------------ 4 0.33 0.04048 5 0.28 0.04048 9.22 0.23 0.04048 15.93 0.28 0.04048 34.97 0.3 0.04048 regression-average-x ( numeric_expression1 ,  numeric_expression2 ) regression-average-x ( numeric_expression1 ,  numeric_expression2 for [ all|any ] expression { , expression } ) regression-average-x ( numeric_expression1 ,  numeric_expression2 for report ) ส่งคืนค่าเฉลี่ยของตัวแปรอิสระ (numeric_expression2) ของเส้นถดถอย ตัวอย่าง: regression-average-x ( Cost ,  Margin  for report) ผลลัพธ์: ค่าเฉลี่ยของกำไรขั้นต้นของเส้นถดถอยสำหรับต้นทุนและกำไรขั้นต้น Cost Margin regression-average-x (Cost, Margin for report) ------- ---------- ----------------------------------------------------------------- 4 0.33 0.284 5 0.28 0.284 9.22 0.23 0.284 15.93 0.28 0.284 34.97 0.3 0.284 regression-average-y ( numeric_expression1 ,  numeric_expression2 ) regression-average-y ( numeric_expression1 ,  numeric_expression2 for [ all|any ] expression { , expression } ) regression-average-y ( numeric_expression1 ,  numeric_expression2 for report ) ส่งคืนค่าเฉลี่ยของตัวแปรตาม (numeric_expression1) ของเส้นถดถอย ตัวอย่าง: regression-average-y ( Cost ,  Margin  for report) ผลลัพธ์: ค่าเฉลี่ยของต้นทุนของเส้นถดถอยสำหรับต้นทุนและกำไรขั้นต้น Cost Margin regression-average-y (Cost, Margin for report) ------- ---------- ----------------------------------------------------------------- 4 0.33 13.824 5 0.28 13.824 9.22 0.23 13.824 15.93 0.28 13.824 34.97 0.3 13.824 regression-count ( numeric_expression1 ,  numeric_expression2 ) regression-count ( numeric_expression1 ,  numeric_expression2 for [ all|any ] expression { , expression } ) regression-count ( numeric_expression1 ,  numeric_expression2 for report ) ส่งคืนจำนวนของตัวเลขที่ไม่ใช่ null ที่ใช้เพื่อให้พอดีกับเส้นถดถอย ตัวอย่าง: regression-count ( Cost ,  Margin  for report) ผลลัพธ์: จำนวนของตัวเลขที่ไม่ใช่ null ที่ใช้เพื่อให้พอดีกับเส้นถดถอยสำหรับต้นทุนและกำไรขั้นต้น Cost Margin regression-count (Cost, Margin for report) ------- ---------- ----------------------------------------------------------- 4 0.33 5 5 0.28 5 9.22 0.23 5 15.93 0.28 5 34.97 0.3 5 regression-intercept ( numeric_expression1 ,  numeric_expression2 ) regression-intercept ( numeric_expression1 ,  numeric_expression2 for [ all|any ] expression { , expression } ) regression-intercept ( numeric_expression1 ,  numeric_expression2 for report ) ส่งคืน y-intercept ของเส้นถดถอย ซึ่งคำนวณดังนี้: AVG(numeric_expression1) - REGR_SLOPE(numeric_expression1, numeric_expression2) * AVG(numeric_expression2) ตัวอย่าง: regression-intercept ( Cost ,  Margin  for report) ผลลัพธ์: y-intercept ของเส้นถดถอยสำหรับต้นทุนและกำไรขั้นต้น Cost Margin regression-intercept (Cost, Margin for report) ------- ---------- ---------------------------------------------------------------- 4 0.33 5.18015038 5 0.28 5.18015038 9.22 0.23 5.18015038 15.93 0.28 5.18015038 34.97 0.3 5.18015038 regression-r2 ( numeric_expression1 ,  numeric_expression2 ) regression-r2 ( numeric_expression1 ,  numeric_expression2 for [ all|any ] expression { , expression } ) regression-r2 ( numeric_expression1 ,  numeric_expression2 for report ) ส่งคืนสัมประสิทธิ์ของการตัดสินใจ (หรือเรียกว่า "R-squared" หรือ "goodness of fit") ของเส้นถดถอย ค่านี้คำนวณโดยขึ้นอยู่กับเงื่อนไขต่อไปนี้: IF VAR_POP(numeric_expression2) = 0 THEN NULL IF VAR_POP(numeric_expression1) = 0 AND VAR_POP(numeric_expression2) <> 0 THEN 1 IF VAR_POP(numeric_expression1) > 0 and VAR_POP(numeric_expression2) <> 0 THEN POWER(CORR (numeric_expression1, numeric_expression2)) ตัวอย่าง: regression-r2 ( Cost ,  Margin  for report) ผลลัพธ์: สัมประสิทธิ์ของตัวกำหนดของต้นทุนของเส้นถดถอยสำหรับต้นทุนและกำไรขั้นต้น Cost Margin regression-r2 (Cost, Margin for report) ------- ---------- ------------------------------------------------------ 4 0.33 0.00761514 5 0.28 0.00761514 9.22 0.23 0.00761514 15.93 0.28 0.00761514 34.97 0.3 0.00761514 regression-slope ( numeric_expression1 ,  numeric_expression2 ) regression-slope ( numeric_expression1 ,  numeric_expression2 for [ all|any ] expression { , expression } ) regression-slope ( numeric_expression1 ,  numeric_expression2 for report ) ส่งคืนความชันของเส้นถดถอย ซึ่งคำนวณดังนี้: COVAR_POP(numeric_expression1,numeric_expression2) / VAR_POP(numeric_expression2) ตัวอย่าง: regression-slope ( Cost ,  Margin ) ผลลัพธ์: slope ของเส้นถดถอยสำหรับต้นทุนและกำไรขั้นต้น Cost Margin regression-slope (Cost, Margin for report) ------- ---------- ----------------------------------------------------------- 4 0.33 30.43609023 5 0.28 30.43609023 9.22 0.23 30.43609023 15.93 0.28 30.43609023 34.97 0.3 30.43609023 regression-sxx ( numeric_expression1 ,  numeric_expression2 ) regression-sxx ( numeric_expression1 ,  numeric_expression2 for [ all|any ] expression { , expression } ) regression-sxx ( numeric_expression1 ,  numeric_expression2 for report ) ส่งคืนการคำนวณต่อไปนี้หลังจากลบคู่ของค่า NULL: REGR_COUNT(numeric_expression1, numeric_expression2) * VAR_POP(numeric_expression2) ตัวอย่าง: regression-sxx ( Cost ,  Margin  for report) ผลลัพธ์: การคำนวณ sxx ของเส้นถดถอยสำหรับต้นทุนและกำไรขั้นต้น Cost Margin regression-sxx (Cost, Margin for report) ------- ---------- --------------------------------------------------------- 4 0.33 0.00532 5 0.28 0.00532 9.22 0.23 0.00532 15.93 0.28 0.00532 34.97 0.3 0.00532 regression-sxy ( numeric_expression1 ,  numeric_expression2 ) regression-sxy ( numeric_expression1 ,  numeric_expression2 for [ all|any ] expression { , expression } ) regression-sxy ( numeric_expression1 ,  numeric_expression2 for report ) ส่งคืนการคำนวณต่อไปนี้หลังจากลบคู่ของค่า NULL: REGR_COUNT(numeric_expression1, numeric_expression2) * COVAR_POP(numeric_expression1, numeric_expression2) ตัวอย่าง: regression-sxy ( Cost ,  Margin  for report) ผลลัพธ์: การคำนวณ sxy ของเส้นถดถอยสำหรับต้นทุนและกำไรขั้นต้น Cost Margin regression-sxy (Cost, Margin for report) ------- ---------- --------------------------------------------------------- 4 0.33 0.16192 5 0.28 0.16192 9.22 0.23 0.16192 15.93 0.28 0.16192 34.97 0.3 0.16192 regression-syy ( numeric_expression1 ,  numeric_expression2 ) regression-syy ( numeric_expression1 ,  numeric_expression2 for [ all|any ] expression { , expression } ) regression-syy ( numeric_expression1 ,  numeric_expression2 for report ) ส่งคืนการคำนวณต่อไปนี้หลังจากลบคู่ของค่า NULL: REGR_COUNT(numeric_expression1, numeric_expression2) * VAR_POP(numeric_expression1) ตัวอย่าง: regression-syy ( Cost ,  Margin  for report) ผลลัพธ์: การคำนวณ syy ของเส้นถดถอยสำหรับต้นทุนและกำไรขั้นต้น Cost Margin regression-syy (Cost, Margin for report) ------- ---------- --------------------------------------------------------- 4 0.33 647.15932 5 0.28 647.15932 9.22 0.23 647.15932 15.93 0.28 647.15932 34.97 0.3 647.15932 การสรุปสมาชิก รายการนี้ประกอบด้วยฟังก์ชันที่กำหนดไว้ล่วงหน้าที่ส่งคืนค่าสรุปค่าเดียวสำหรับชุดของสมาชิก หรือค่าสรุปที่แตกต่างกันสำหรับแต่ละสมาชิกในชุดของสมาชิก
ข้อผิดพลาด มีข้อผิดพลาดในนิพจน์ของคุณที่โทเค็นที่ถูกไฮไลต์
การสร้างประโยค รายการนี้มีการสร้างประโยคและเท็มเพลตที่สามารถใช้เพื่อสร้างนิพจน์ เท็มเพลตจะรวมหลายฟังก์ชันเป็นกลุ่ม ตัวอย่างเช่น เท็มเพลต search case จะรวมฟังก์ชัน case, when, else และ end search case การสร้างนี้เป็นเท็มเพลตสำหรับกรณีการค้นหา รวมถึงฟังก์ชัน CASE, WHEN, ELSE, และ END CASE WHEN [Country] = 'Canada' THEN ([List Price] * 0.60) WHEN [CountryCode] > 100 THEN [List Price] * 0.80 ELSE [List Price] END simple case การสร้างนี้เป็นเท็มเพลตสำหรับกรณีอย่างง่าย รวมถึงฟังก์ชัน CASE, WHEN, ELSE, และ END CASE [Country] WHEN 'Canada' THEN ([List Price] * 0.60) WHEN 'Australia' THEN [List Price] * 0.80 ELSE [List Price] END if then else การสร้างประโยคนี้เป็นเท็มเพลตสำหรับประโยค if...then...else การสร้างประโยคนี้จะปรากฏในรายงานตัวอย่าง Top 10 Retailers for 2005 ในแพ็กเกจ GO Data Warehouse (analysis) IF ([Country] = 'Canada') THEN ([List Price] * 0.60) ELSE ([List Price]) in_range นี้เป็นเท็มเพลตสำหรับนิพจน์ in_range [code] IN_RANGE { :30 , 40, 50, 999: } ตัวอย่าง: [code] IN_RANGE { 5 } ผลลัพธ์: นี่จะเทียบเท่ากับ [code] = 5 ตัวอย่าง: [code] IN_RANGE { 5: } ผลลัพธ์: นี้เทียบเท่ากับ [code] >= 5 ตัวอย่าง: [code] IN_RANGE { 5 } ผลลัพธ์: นี้เทียบเท่ากับ [code] <= 5 ตัวอย่าง: [code] IN_RANGE { 5:10 } ผลลัพธ์: นี่เทียบเท่ากับ ( [code] >= 5 และ [code] <= 10 ) ตัวอย่าง: [code] IN_RANGE { :5,10,20: } ผลลัพธ์: นี่เทียบเท่ากับ ( [code] <= 5 หรือ [code] = 10 หรือ [code] >= 20 )
เพรดิเคตระยะเวลา รายการนี้ประกอบด้วยเพรดิเคตที่สามารถใช้เพื่อเปรียบเทียบนิพจน์ระยะเวลา มี ส่งคืน "true" ถ้า "period_expression1" มี "period_expression2"; นั่นคือ ส่งคืน "true" ถ้าระยะเวลาแรกมีค่า datetime หรือค่าทั้งหมดซึ่งมีอยู่ในระยะเวลาที่สอง period_expression1 มี ( period_expression2 | datetime_expression ) ระยะเวลา( 1989-11-01, 1991-05-19 ) มีระยะเวลา( 1991-05-19, 1991-06-04 ) ผลลัพธ์: false ระยะเวลา( 1989-11-01, 1991-05-19 ) มีระยะเวลา( 1990-05-19, 1991-04-04 ) ผลลัพธ์: true ระยะเวลา( 1989-11-01, 1991-05-19 ) มี 1991-04-04 ผลลัพธ์: true เท่ากับ ส่งคืน "true" ถ้า "period_expression1" และ "period_expression2" มีค่าเริ่มต้นระยะเวลาและค่าสิ้นสุดระยะเวลาเดียวกัน period_expression1 เท่ากับ period_expression2 ระยะเวลา( 1989-11-01, 1991-05-19 ) เท่ากับระยะเวลา( 1989-11-01, 1991-05-19 ) ผลลัพธ์: true นำหน้าติดกับ ส่งคืน "true" ถ้า "period_expression1" นำหน้าติดกับ "period_expression2"; นั่นคืน ค่าสิ้นสุดของระยะเวลาแรกเท่ากับค่าเริ่มต้นของระยะเวลาที่สอง period_expression1 นำหน้าติดกับ period_expression2 ระยะเวลา( 1989-11-01, 1991-05-19 ) นำหน้าติดกับระยะเวลา( 1991-05-19, 1991-06-04 ) ผลลัพธ์: true ระยะเวลา( 1989-11-01, 1991-05-18 ) นำหน้าติดกับระยะเวลา( 1991-05-19, 1991-06-04 ) ผลลัพธ์: false ตามหลังติดกับ ส่งคืน "true" ถ้า "period_expression1" ตามหลังติดกับ "period_expression2"; นั่นคือ ค่าเริ่มต้นของระยะเวลาแรกเท่ากับค่าสิ้นสุดของระยะเวลาที่สอง period_expression1 ตามหลังติดกับ period_expression2 ระยะเวลา( 1991-05-19, 1994-01-10 ) ตามหลังติดกับระยะเวลา( 1991-01-19, 1991-05-19 ) ผลลัพธ์: true ระยะเวลา( 1991-05-19, 1994-01-10 ) ตามหลังติดกับระยะเวลา( 1991-01-20, 1991-05-18 ) ผลลัพธ์: false ซ้อนทับ ส่งคืน "true" ถ้า "period_expression1" ซ้อนทับ "period_expression2"; นั่นคือ มีค่าอย่างน้อยหนึ่งค่าที่ใช้ร่วมกัน period_expression1 ซ้อนทับ period_expression2 ระยะเวลา( 1991-05-19, 1994-01-10 ) ซ้อนทับระยะเวลา( 1993-01-19, 1995-05-19 ) ผลลัพธ์: true นำหน้า ส่งคืน "true" ถ้า "period_expression1" นำหน้า "period_expression2"; นั่นคือ ค่าทั้งหมดที่มีอยู่ในระยะเวลาแรกน้อยกว่า หรือเท่ากับค่าเริ่มต้นของระยะเวลาที่สอง period_expression1 นำหน้า period_expression2 ระยะเวลา( 1989-11-01, 1991-05-19 ) นำหน้าระยะเวลา( 1991-05-19, 1991-06-04 ) ผลลัพธ์: true ระยะเวลา( 1989-11-01, 1991-05-18 ) นำหน้าระยะเวลา( 1991-05-19, 1991-06-04 ) ผลลัพธ์: true ตามหลัง ส่งคืน "true" ถ้า "period_expression1" ตามหลัง "period_expression2"; นั่นคือ ค่าทั้งหมดที่มีอยู่ในระยะเวลาแรกมากกว่า หรือเท่ากับค่าสิ้นสุดของระยะเวลาที่สอง period_expression1 ตามหลัง period_expression2 ระยะเวลา( 1991-05-19, 1994-01-10 ) ตามหลังระยะเวลา( 1991-01-19, 1991-05-19 ) ผลลัพธ์: true ระยะเวลา( 1991-05-20, 1994-01-10 ) ตามหลังระยะเวลา( 1991-01-20, 1991-05-19 ) ผลลัพธ์: true
ฟังก์ชันวันที่/เวลาทางธุรกิจ รายการนี้ประกอบด้วยฟังก์ชันทางธุรกิจสำหรับการดำเนินการคำนวณวันที่และเวลา _add_seconds ( time_expression, integer_expression ) ส่งคืนเวลาหรือวันที่เวลา ขึ้นอยู่กับรูปแบบของ "time_expression" ที่เป็นผลลัพธ์จากการเพิ่ม "integer_expression" วินาทีเข้ากับ "time_expression" ตัวอย่าง: _add_seconds ( 13:04:59 , 1 ) ผลลัพธ์: 13 ตัวอย่าง: _add_seconds ( 2002-04-30 12:10:10.000, 1 ) ผลลัพธ์: 2002-04-30 12:10:11.000 ตัวอย่าง: _add_seconds ( 2002-04-30 00:00:00.000, 1/100 ) Note that the second argument is not a whole number. ซึ่งสนับสนุนโดยเทคโนโลยีฐานข้อมูลบางอย่างและการเพิ่มส่วนของเวลา ผลลัพธ์: 2002-04-30 00:00:00.010 _add_minutes ( time_expression, integer_expression ) ส่งคืนเวลาหนือวันที่เวลา ขึ้นอยู่กับรูปแบบของ "time_expression" ที่เป็นผลลัพธ์จากการเพิ่ม "integer_expression" นาทีเข้ากับ "time_expression" ตัวอย่าง: _add_minutes ( 13:59:00 , 1 ) ผลลัพธ์: 14:00:00 ตัวอย่าง: _add_minutes ( 2002-04-30 12:59:10.000, 1 ) ผลลัพธ์: 2002-04-30 13:00:10.000 ตัวอย่าง: _add_minutes ( 2002-04-30 00:00:00.000, 1/60 ) Note that the second argument is not a whole number. ซึ่งสนับสนุนโดยเทคโนโลยีฐานข้อมูลบางอย่างและการเพิ่มส่วนของเวลา ผลลัพธ์: 2002-04-30 00:00:00.010 _add_hours ( time_expression, integer_expression ) ส่งคืนเวลาหรือวันที่เวลา ขึ้นอยู่กับรูปแบบของ "time_expression" ที่เป็นผลลัพธ์จากการเพิ่ม "integer_expression" วันเข้ากับ "time_expression" ตัวอย่าง: _add_hours ( 13:59:00 , 1 ) ผลลัพธ์: 14:00:00 ตัวอย่าง: _add_hours ( 2002-04-30 12:10:10.000, 1 ) ผลลัพธ์: 2002-04-30 13:10:10.000, ตัวอย่าง: _add_hours ( 2002-04-30 00:00:00.000, 1/60 ) โปรดสังเกตว่า อาร์กิวเมนต์ตัวที่สองไม่ใช่ตัวเลขทั้งหมด ซึ่งสนับสนุนโดยเทคโนโลยีฐานข้อมูลบางอย่างและการเพิ่มส่วนของเวลา ผลลัพธ์: 2002-04-30 00:01:00.000 _add_days ( date_expression, integer_expression ) ส่งคืนวันที่หรือวันที่เวลา ขึ้นอยู่กับรูปแบบของ "date_expression" ที่เป็นผลลัพธ์จากการเพิ่ม "integer_expression" วันเข้ากับ "date_expression" ตัวอย่าง: _add_days ( 2002-04-30 , 1 ) ผลลัพธ์: 2002-05-01 ตัวอย่าง: _add_days ( 2002-04-30 12:10:10.000, 1 ) ผลลัพธ์: 2002-05-01 12:10:10.000 ตัวอย่าง: _add_days ( 2002-04-30 00:00:00.000, 1/24 ) โปรดสังเกตว่าอาร์กิวเมนต์ second จะไม่ใช่ตัวเลขทั้งหมด ซึ่งสนับสนุนโดยเทคโนโลยีฐานข้อมูลบางอย่างและการเพิ่มส่วนของเวลา ผลลัพธ์: 2002-04-30 01:00:00.000 _add_months ( date_expression, integer_expression ) เพิ่ม "integer_expression" เดือนให้กับ "date_expression" ถ้าผลลัพธ์ของเดือนมีจำนวนวันน้อยกว่าจำนวนวันของคอมโพเนนต์เดือน, จากนั้นวันสุดท้ายของผลลัพธ์ของเดือนจะถูกส่งคืน ในกรณีอื่น ๆ ทั้งหมด ค่าที่ส่งคืนมีวันของคอมโพเนนต์เดือนเหมือนกับ "date_expression" ตัวอย่าง: _add_months ( 2012-04-15 , 3 ) ผลลัพธ์: 2012-07-15 ผลลัพธ์ไม่ใช่วันสุดท้ายของเดือนที่เป็นผลลัพธ์ ตัวอย่าง: _add_months ( 2012-02-29 , 1 ) ผลลัพธ์: 2012-03-29 ใช้ฟังก์ชัน _last_of_month เพื่อส่งคืนวันสุดท้ายของเดือน ตัวอย่าง: _last_of_month ( _add_months ( 2012-02-29 , 1 ) ) ผลลัพธ์: 2012-03-31 วันถูกปรับให้เป็นวันสุดท้ายของเดือนที่เป็นผลลัพธ์ ตัวอย่าง: _add_months ( 2012-01-31 , 1 ) ผลลัพธ์: 2012-02-29 การเพิ่มเวลาประทับ ตัวอย่าง: _add_months ( 2002-04-30 12:10:10.000 , 1 ) ผลลัพธ์: 2002-05-30 12:10:10.000 _add_years ( date_expression, integer_expression ) เพิ่ม "integer_expression" ปีให้กับ "date_expression" ถ้า "date_expression" คือวันที่ 29 เดือนกุมภาพันธ์ และปีที่เป็นผลลัพธ์ไม่ใช่ปีอธิกสุรทิน, วันที่เป็นผลลัพธ์จะถูกตั้งค่าเป็นวันที่ 28 เดือนกุมภาพันธ์ ในกรณีอื่น ๆ ทั้งหมด ค่าที่ส่งคืนมีวันและเดือนเดียวกับ "date_expression" ตัวอย่าง: _add_years ( 2012-04-15 , 1 ) ผลลัพธ์: 2013-04-15 วันที่ 29 เดือนกุมภาพันธ์ถูกปรับไว้สำหรับปีที่ไม่ใช่ปีอธิกสุรทิน ตัวอย่าง: _add_years ( 2012-02-29 , 1 ) ผลลัพธ์: 2013-02-28 การเพิ่มเวลาประทับ ตัวอย่าง: _add_years ( 2002-04-30 12:10:10.000 , 1 ) ผลลัพธ์: 2003-04-30 12:10:10.000 _age ( date_expression ) ส่งคืนตัวเลขที่ได้รับจากการลบ "date_expression" จากวันที่ของวันนี้ ค่าที่ส่งคืนมีรูปแบบ YYYYMMDD โดยที่ YYYY แทนตัวเลขของปี MM แทนตัวเลขของเดือน และ DD แทนตัวเลขของวัน ตัวอย่าง: _age ( 1990-04-30 ) (ถ้าวันที่ของวันนี้คือ 2003-02-05) ผลลัพธ์: 120906 หมายถึง 12 ปี 9 เดือนและ 6 วัน _date_to_int ( date_expression ) ส่งคืนการแสดงเลขจำนวนเต็มของ "date_expression" ค่าที่ส่งคืนมีรูปแบบ YYYYMMDD โดยที่ YYYY แทนตัวเลขของปี MM แทนตัวเลขของเดือน และ DD แทนตัวเลขของวัน ตัวอย่าง: _date_to_int ( 2003-01-01 ) ผลลัพธ์: 20030101 _day_of_week ( date_expression, integer ) ส่งคืนวันของสัปดาห์ (1 ถึง 7) โดยที่ 1 เป็นวันแรกของสัปดาห์ตามที่ระบุโดยพารามิเตอร์ตัวที่สอง (1 ถึง 7 เป็น Monday และ 7 เป็น Sunday) โปรดสังเกตว่า ในมาตรฐาน ISO 8601 สัปดาห์เริ่มต้นด้วยการนับวันจันทร์เป็นวันที่ 1 ตัวอย่าง: _day_of_week ( 2003-01-01 , 1 ) ผลลัพธ์: 3 _day_of_year ( date_expression ) ส่งคืนวันของปี (1 ถึง 366) ใน "date_ expression" หรือเรียกว่าวัน Julian ตัวอย่าง: _day_of_year ( 2003-03-01 ) ผลลัพธ์: 61 _days_between ( date_expression1 , date_expression2 ) ส่งคืนจำนวนบวกหรือลบที่แทนตัวเลขของวันระหว่าง "date_expression1" และ "date_expression2" ถ้า "date_expression1" < "date_expression2" ดังนั้น ผลลัพธ์จะเป็นจำนวนลบ ตัวอย่าง: _days_between ( 2002-06-21 , 2002-04-30 ) ผลลัพธ์: 52 ตัวอย่าง: _days_between ( 2002-04-30 , 2002-06-21 ) ผลลัพธ์: -52 _days_to_end_of_month ( date_expression ) ส่งคืนตัวเลขที่แทนจำนวนของวันที่เหลืออยู่ในเดือนที่แทนโดย "date_expression" ตัวอย่าง: _days_to_end_of_month ( 2002-04-20 14:30:22.123 ) ผลลัพธ์: 10 _first_of_month ( date_expression ) ส่งคืนวันที่หรือวันที่เวลา ขึ้นอยู่กับอาร์กิวเมนต์ โดยการแปลง "date_expression" เป็นวันที่มีปีและเดือนเดียวกัน แต่มีวันที่ตั้งค่าเป็น 1 ตัวอย่าง: _first_of_month ( 2002-04-20 ) ผลลัพธ์: 2002-04-01 ตัวอย่าง: _first_of_month ( 2002-04-20 12:10:10.000 ) ผลลัพธ์: 2002-04-01 12:10:10.000 _last_of_month ( date_expression ) ส่งคืนวันที่หรือวันที่เวลา ขึ้นอยู่กับอาร์กิวเมนต์ ที่เป็นวันสุดท้ายของเดือนที่แทนโดย "date_expression" ตัวอย่าง: _last_of_month ( 2002-01-14 ) ผลลัพธ์: 2002-01-31 ตัวอย่าง: _last_of_month ( 2002-01-14 12:10:10.000 ) ผลลัพธ์: 2002-01-31 12:10:10.000 _make_timestamp ( integer_expression1, integer_expression2, integer_expression3 ) ส่งคืนเวลาประทับที่สร้างจาก "integer_expression1" (ปี), "integer_expression2" (เดือน) และ "integer_expression3" (วัน) ส่วนของเวลามีค่าดีฟอลต์เป็น 00:00:00.000 ตัวอย่าง: _make_timestamp ( 2002 , 01 , 14 ) ผลลัพธ์: 2002-01-14 00:00:00.000 _months_between ( date_expression1, date_expression2 ) ส่งคืนจำนวนบวกหรือลบที่แทนตัวเลขของเดือนระหว่าง "date_expression1" และ "date_expression2" ถ้า "date_expression1" มาก่อน "date_expression2" ดังนั้นจะส่งคืนจำนวนลบ ตัวอย่าง: _months_between ( 2002-04-03 , 2002-01-30 ) ผลลัพธ์: 2 ตัวอย่าง: _months_between ( 2002-01-30 , 2002-04-03 ) ผลลัพธ์: -2 _shift_timezone ( timestamp_value , from_time_zone , target_time_zone ) _shift_timezone ( timestamp_with_time_zone_value , target_time_zone ) เลื่อนค่าเวลาประทับจากเขตเวลาหนึ่งไปอีกเขตเวลาหนึ่ง ฟังก์ชันนี้ใช้ Daylight Savings Time เมื่อใช้ได้ ถ้าอาร์กิวเมนต์แรกเป็นชนิด "timestamp" ดังนั้นอาร์กิวเมนต์ที่สองและสามจะแทนเขตเวลา "จาก" และ "ปลายทาง" ตามลำดับ ถ้าอาร์กิวเมนต์แรกเป็นชนิด "timestamp with time zone" ดังนั้นเขตเวลา "จาก" จะถูกใช้ในอาร์กิวเมนต์แรกแล้ว ดังนั้นอาร์กิวเมนต์สองแทนเขตเวลา "ปลายทาง" ชนิดข้อมูลของอาร์กิวเมนต์แรกยังจะเป็นตัวกำหนดชนิดข้อมูลของค่าส่งคืน อาร์กิวเมนต์ที่สองและสามเป็นชนิด "string" และแทนตัวบ่งชี้เขตเวลา รายการของตัวบ่งชี้เหล่านี้สามารถดูได้ด้านล่าง หมายเหตุ: การใช้ฟังก์ชันนี้จะทำให้เกิดการประมวลผลที่โลคัล ตัวอย่าง: _shift_timezone( 2013-06-30 12:00:00 , 'America/New_York' , 'GMT' ) ผลลัพธ์: 2013-06-30 16:00:00 ตัวอย่าง: _shift_timezone( 2013-11-30 12:00:00-05:00 , 'America/Vancouver' ) ผลลัพธ์: 2013-11-30 09:00:00-08:00 ตัวบ่งชี้เขตเวลา: GMT (GMT+00:00) Greenwich Mean Time Europe/Lisbon (GMT+00:00) Portugal Time (Lisbon) Europe/Amsterdam (GMT+01:00) Netherlands Time Europe/Paris (GMT+01:00) France Time Europe/Berlin (GMT+01:00) Germany Time Europe/Brussels (GMT+01:00) Belgium Time Europe/Rome (GMT+01:00) Italy Time Europe/Vienna (GMT+01:00) Austria Time Africa/Cairo (GMT+02:00) Egypt Time Africa/Johannesburg (GMT+02:00) South Africa Time Europe/Athens (GMT+02:00) Greece Time Africa/Addis_Ababa (GMT+03:00) Ethiopia Time Asia/Dubai (GMT+04:00) United Arab Emirates Time Asia/Karachi (GMT+05:00) Pakistan Time Asia/Calcutta (GMT+05:30) India Time Asia/Dhaka (GMT+06:00) Bangladesh Time Asia/Saigon (GMT+07:00) Vietnam Time Asia/Hong_Kong (GMT+08:00) Hong Kong SAR China Time Asia/Tokyo (GMT+09:00) Japan Time Australia/Darwin (GMT+09:30) Australia Time (Darwin) Australia/Sydney (GMT+10:00) Australia Time (Sydney) Pacific/Guadalcanal (GMT+11:00) Solomon Islands Time America/Argentina/San_Juan (GMT-03:00) Argentina Time (San Juan) America/Buenos_Aires (GMT-03:00) Argentina Time (Buenos Aires) America/Sao_Paulo (GMT-03:00) Brazil Time (Sao Paulo) America/St_Johns (GMT-03:30) Canada Time (St. John’s) America/Puerto_Rico (GMT-04:00) Puerto Rico Time America/New_York (GMT-05:00) United States Time (New York) America/Toronto (GMT-05:00) Canada Time (Toronto) America/Jamaica (GMT-05:00) Jamaica Time America/Chicago (GMT-06:00) United States Time (Chicago) America/Mexico_City (GMT-06:00) Mexico Time (Mexico City) America/Cambridge_Bay (GMT-07:00) Canada Time (Cambridge Bay) America/Edmonton (GMT-07:00) Canada Time (Edmonton) America/Yellowknife (GMT-07:00) Canada Time (Yellowknife) America/Denver (GMT-07:00) United States Time (Denver) America/Chihuahua (GMT-07:00) Mexico Time (Chihuahua) America/Los_Angeles (GMT-08:00) United States Time (Los Angeles) America/Tijuana (GMT-08:00) Mexico Time (Tijuana) America/Vancouver (GMT-08:00) Canada Time (Vancouver) America/Anchorage (GMT-09:00) United States Time (Anchorage) Pacific/Honolulu (GMT-10:00) United States Time (Honolulu) Pacific/Tahiti (GMT-10:00) French Polynesia Time (Tahiti) Pacific/Midway (GMT-11:00) U.S. Minor Outlying Islands Time (Midway) Pacific/Niue (GMT-11:00) Niue Time ตัวบ่งชี้เขตเวลาที่กำหนดเองอาจถูกใช้เช่นกัน โดยใช้รูปแบบ GMT(+|-)HH:MM ตัวอย่างเช่น GMT-06:30 หรือ GMT+02:00 _week_of_year ( date_expression ) ส่งคืนตัวเลขของสัปดาห์ของปีของ "date_expression" ตามมาตรฐาน ISO 8601 Week 1 ของปีเป็นสัปดาห์แรกของปีที่มี Thursday ซึ่งเทียบเท่ากับสัปดาห์แรกที่มี January 4th สัปดาห์เริ่มต้น Monday (วันที่ 1) และลงท้ายด้วย (วันที่ 7) ตัวอย่าง: _week_of_year ( 2003-01-01 ) ผลลัพธ์: 1 _years_between ( date_expression1, date_expression2 ) ส่งคืนจำนวนบวกหรือลบที่แทนตัวเลขของปีระหว่าง "date_expression1" และ "date_expression2" ถ้า "date_expression1" < "date_expression2" ดังนั้นจะส่งคืนค่าลบ ตัวอย่าง: _years_between ( 2003-01-30 , 2001-04-03 ) ผลลัพธ์: 1 ตัวอย่าง: _years_between ( 2001-04-03 , 2003-01-30 ) ผลลัพธ์: -1 _ymdint_between ( date_expression1 , date_expression2 ) ส่งคืนตัวเลขที่แทนความแตกต่างระหว่าง "date_expression1" และ "date_expression2" ค่าที่ส่งคืนมีรูปแบบ YYYYMMDD โดยที่ YYYY แทนตัวเลขของปี MM แทนตัวเลขของเดือน และ DD แทนตัวเลขของวัน ตัวอย่าง: _ymdint_between ( 1990-04-30 , 2003-02-05 ) ผลลัพธ์: 120905, หมายถึง 12 ปี, 9 เดือน และ 5 วัน _year ( date_expression ) ส่งคืนค่าของฟิลด์ปีใน "date_expression" ตัวอย่าง: _year ( 2003-03-01 ) ผลลัพธ์: 2003 _month ( date_expression ) ส่งคืนค่าของฟิลด์เดือนใน "date_expression" ตัวอย่าง: _month ( 2003-03-01 ) ผลลัพธ์: 3 _day ( date_expression ) ส่งคืนค่าของฟิลด์วันใน "date_expression" ตัวอย่าง: _day ( 2003-03-01 ) ผลลัพธ์: 1 _hour ( date_expression ) ส่งคืนค่าของฟิลด์ชั่วโมงใน "date_expression" ตัวอย่าง: _hour ( 2002-01-31 12:10:10.254 ) ผลลัพธ์: 12 _minute ( date_expression ) ส่งคืนค่าของฟิลด์นาทีใน "date_expression" ตัวอย่าง: _minute ( 2002-01-31 12:10:10.254 ) ผลลัพธ์: 10 _second ( date_expression ) ส่งคืนค่าของฟิลด์วินาทีใน "date_expression" ตัวอย่าง: _second ( 2002-01-31 12:10:10.254 ) ผลลัพธ์: 10.254 _timezone_hour ( timestamp_with_time_zone_value ) _timezone_hour ( time_with_time_zone_value ) ส่งคืนค่าของฟิลด์ชั่วโมงของเขตเวลาในนิพจน์ นิพจน์ต้องเป็นชนิด "timestamp with time zone" หรือ "time with time zone" ตัวอย่าง: _timezone_hour ( 2002-01-31 12:10:10.254-05:30 ) ผลลัพธ์: -5 _timezone_minute ( timestamp_with_time_zone_value ) _timezone_minute ( time_with_time_zone_value ) ส่งคืนค่าของฟิลด์นาทีของเขตเวลาในนิพจน์ นิพจน์ต้องเป็นชนิด "timestamp with time zone" หรือ "time with time zone" ตัวอย่าง: _timezone_minute ( 2002-01-31 12:10:10.254-05:30 ) ผลลัพธ์: -30 _start_of_day ([ date_expression ]) ส่งคืนจุดเริ่มต้นของ "date_expression" หรือจุดเริ่มต้นของวันนี้เป็นเวลาประทับ ตัวอย่าง: _start_of_day ( 2014-11-23 12:10:10.254 ) ผลลัพธ์: 2014-11-23 00:00:00 ตัวอย่าง: _start_of_day () ผลลัพธ์: 2016-01-01 00:00:00 _end_of_day ([ date_expression ]) ส่งคืนจุดสิ้นสุดของ "date_expression" หรือจุดสิ้นสุดของวันนี้เป็นเวลาประทับ ตัวอย่าง: _end_of_day ( 2014-11-23 12:10:10.254 ) ผลลัพธ์: 2014-11-23 23:59:59 ตัวอย่าง: _end_of_day () ผลลัพธ์: 2016-01-01 23:59:59 _unix_timestamp ( date_expression ) ส่งคืนจำนวนวินาทีตั้งแต่ 1970-01-01 00:00:00-00 สำหรับ "date_expression" ที่ระบุ ตัวอย่าง: _unix_timestamp ( 2014-11-23 ) ผลลัพธ์: 1416718800 _from_unixtime ( integer_expression ) ส่งคืนเวลาของ unix ที่ระบุโดย "integer_expression" เป็นเวลาประทับที่มีเขตเวลา ตัวอย่าง: _from_unixtime (1417807335) ผลลัพธ์: 2014-12-05 19:22:15+00:00
ฟังก์ชันแมโคร รายการนี้ประกอบด้วยฟังก์ชันที่สามารถใช้ภายในแมโคร แมโครอาจมีฟังก์ชันแมโครเดียวหรือมากกว่า แมโครจะถูกคั่นด้วยเครื่องหมายจำนวน (#) ที่เริ่มต้นและท้าย ทุกสิ่งที่อยู่ระหว่างเครื่องหมายจำนวนจะถือว่าเป็นนิพจน์แมโครและถูกประมวลผลขณะรันไทม์ สำหรับฟังก์ชันแมโครที่ยอมรับนิพจน์ของชนิดข้อมูลเวลาประทับที่มีเขตเวลาเป็นอาร์กิวเมนต์ รูปแบบที่ใช้ได้คือ 'yyyy-mm-dd hh:mm:ss[.ff]+hh:mm' โดยที่เศษส่วนของวินาทีเป็นอ็อพชันและสามารถแทนได้โดย 1 ถึง 9 หลัก การแทนที่ของช่องว่างที่แยกส่วนของวันที่กับส่วนของเวลา ยังสามารถใช้อักขระ 'T' นอกจากนี้ การแทนที่เขตเวลา '+hh:mm' สามารถใช้อักขระ 'Z' และจะถูกประมวลผลภายในเป็น '+00:00' ฟังก์ชันแมโครที่ส่งคืนฟังก์ชันที่เป็นชนิดข้อมูลเวลาประทับที่มีเขตเวลาที่ส่งคืน 9 หลักโดยดีฟอลต์สำหรับเศษส่วนของวินาที สามารถใช้ฟังก์ชันแมโคร timestampMask () เพื่อตัดเอาต์พุตได้ถ้าต้องการ ส่งคืนเวลาประทับที่มีเขตเวลา (เป็นสตริง) ที่เป็นผลลัพธ์จากการเพิ่ม "integer_expression" จำนวนของวินาทีเข้ากับ "string_expression" โดยที่ "string_expression" แทนเวลาประทับที่มีเขตเวลา _add_seconds ( string_expression , integer_expression ) ตัวอย่าง: # _add_seconds ( '2005-11-01 12:00:00.000-05:00' , -1 ) # ผลลัพธ์: 2005-11-01 11:59:59.000-05:00 ตัวอย่าง: # _add_seconds ( $current_timestamp , 1 ) # ผลลัพธ์: 2005-11-01 12:00:00-05:00 ตัวอย่าง: # timestampMask ( _add_seconds ( $current_timestamp , 1 ) , 'hh:mm:ss' ) # ผลลัพธ์: 12 ส่งคืนเวลาประทับที่มีเขตเวลา (เป็นสตริง) ที่เป็นผลลัพธ์จากการเพิ่ม "integer_expression" จำนวนของนาทีเข้ากับ "string_expression" โดยที่ "string_expression" แทนเวลาประทับที่มีเขตเวลา _add_minutes ( string_expression , integer_expression ) ตัวอย่าง: # _add_minutes ( '2005-11-01 12:00:00.000-05:00' , -1 ) # ผลลัพธ์: 2005-11-01 11:59:00.000-05:00 ตัวอย่าง: # _add_minutes ( $current_timestamp , 1 ) # ผลลัพธ์: 2005-11-01 12:00:00.000000000-05:00 ตัวอย่าง: # timestampMask ( _add_minutes ( $current_timestamp , 1 ) , 'hh:mm:ss' ) # ผลลัพธ์: 12 ส่งคืนเวลาประทับที่มีเขตเวลา (เป็นสตริง) ที่เป็นผลลัพธ์จากการเพิ่ม "integer_expression" จำนวนของชั่วโมงเข้ากับ "string_expression" โดยที่ "string_expression" แทนเวลาประทับที่มีเขตเวลา _add_hours ( string_expression , integer_expression ) ตัวอย่าง: # _add_hours ( '2005-11-01 12:00:00.000-05:00' , -1 ) # ผลลัพธ์: 2005-11-01 13:00:00.000-05:00 ตัวอย่าง: # _add_hours ( $current_timestamp , 1 ) # ผลลัพธ์: 2005-11-01 13:00:00.000000000-05:00 ตัวอย่าง: # timestampMask ( _add_hours ( $current_timestamp , 1 ) , 'hh:mm:ss' ) # ผลลัพธ์: 13 ส่งคืนเวลาประทับที่มีเขตเวลา (เป็นสตริง) ที่เป็นผลลัพธ์จากการบวก "integer_expression" จำนวนของวันเข้ากับ "string_expression" โดยที่ "string_expression" แทนเวลาประทับที่มีเขตเวลา เมื่ออาร์กิวเมนต์แรกเป็นวันที่ โดยระบุเป็นสตริงด้วยรูปแบบ: yyyy-mm-dd แล้วค่าที่ส่งคืนจะเป็นสตริงที่มีรูปแบบวันที่ _add_days ( string_expression , integer_expression ) ตัวอย่าง: # _add_days ( '2005-11-01 12:00:00.000-05:00' , -1 ) # ผลลัพธ์: 2005-10-31 12:00:00.000000000-05:00 ตัวอย่าง: # _add_days ( $current_timestamp , 1 ) # ผลลัพธ์: 2005-11-02 12:00:00.000000000-05:00 ตัวอยย่าง: # timestampMask ( _add_days ( $current_timestamp , 1 ) , 'yyyy-mm-dd' ) # ผลลัพธ์: 2005-11-02 ตัวอย่าง: # _add_days( '2019-11-14' , 3 ) # ผลลัพธ์: 2019-11-17 ส่งคืนเวลาประทับที่มีเขตเวลา (เป็นสตริง) ที่เป็นผลลัพธ์จากการบวก "integer_expression" จำนวนของเดือนเข้ากับ "string_expression" โดยที่ "string_expression" แทนเวลาประทับที่มีเขตเวลา เมื่ออาร์กิวเมนต์แรกเป็นวันที่ โดยระบุเป็นสตริงด้วยรูปแบบ: yyyy-mm-dd แล้วค่าที่ส่งคืนจะเป็นสตริงที่มีรูปแบบวันที่ _add_months ( string_expression , integer_expression ) ตัวอย่าง: # _add_months ( '2005-11-01 12:00:00.000-05:00' , -1 ) # ผลลัพธ์: 2005-10-01 12:00:00.000000000-05:00 ตัวอย่าง: # _add_months ( $current_timestamp , 1 ) # ผลลัพธ์: 2005-12-01 12:00:00.000000000-05:00 ตัวอย่าง: # timestampMask ( _add_months ( $current_timestamp , 1 ) , 'yyyy-mm-dd' ) # ผลลัพธ์: 2005-12-01 ตัวอย่าง: # _add_months( '2019-11-14' , -1 ) # ผลลัพธ์: 2019-10-14 ส่งคืนเวลาประทับที่มีเขตเวลา (เป็นสตริง) ที่เป็นผลลัพธ์จากการบวก "integer_expression" จำนวนของปีเข้ากับ "string_expression" โดยที่ "string_expression" แทนเวลาประทับที่มีเขตเวลา เมื่ออาร์กิวเมนต์แรกเป็นวันที่ โดยระบุเป็นสตริงด้วยรูปแบบ: yyyy-mm-dd แล้วค่าที่ส่งคืนจะเป็นสตริงที่มีรูปแบบวันที่ _add_years ( string_expression , integer_expression ) ตัวอย่าง: # _add_years ( '2005-11-01 12:00:00.000-05:00' , -1 ) # ผลลัพธ์: 2004-11-01 12:00:00.000000000-05:00 ตัวอย่าง: # _add_years ( $current_timestamp , 1 ) # ผลลัพธ์: 2006-11-01 12:00:00.000000000-05:00 ตัวอย่าง: # timestampMask ( _add_years ( $current_timestamp , 1 ) , 'yyyy-mm-dd' ) # ผลลัพธ์: 2006-11-01 ตัวอย่าง: # _add_years( '2019-11-14' , -2 ) # ผลลัพธ์: 2017-11-14 _first_of_month ( string_expression ) ส่งคืนเวลาประทับที่มีเขตเวลา (เป็นสตริง) โดยการแปลงค่าวันใน "string_expression" เป็น 1 โดยที่ "string_expression" เป็นเวลาประทับที่มีเขตเวลา ตัวอย่าง: # _first_of_month ( '2005-11-11 12:00:00.000-05:00' ) # ผลลัพธ์: 2005-11-01 12:00:00.000000000-05:00 ตัวอย่าง: # timestampMask ( _first_of_month ( '2005-11-11 12:00:00.000-05:00' ) , 'yyyymmdd' ) # ผลลัพธ์: 20051101 _last_of_month ( string_expression ) ส่งคืนเวลาประทับที่มีเขตเวลา (เป็นสตริง) ที่วันสุดท้ายของเดือนแทนโดย "string_expression" โดยที่ "string_expression" เป็นเวลาประทับที่มีเขตเวลา ตัวอย่าง: # _last_of_month ( '2005-11-11 12:00:00.000-05:00' ) # ผลลัพธ์: 2005-11-30 12:00:00.000000000-05:00 ตัวอย่าง: # timestampMask ( _last_of_month ( '2005-11-11 12:00:00.000-05:00' ) , 'yyyy-mm-dd' ) # ผลลัพธ์: 2005-11-30 modelj ( 'identifier' [ , 'model_search_path' [ , 'options' ] ] ) ส่งคืนส่วนของโมเดลข้อมูลเมตาในรูปแบบ json โมเดลปัจจุบันจะถูกใช้งานเมื่อไม่ได้ระบุ 'model_search_path' ไว้ อ็อพชัน 'options' สามารถตั้งค่าาเป็น 'cleanup' นี่จะเปลี่ยนแปลงบางส่วนของผลลัพธ์เป็นค่าแบบคงที่ (มีประโยชน์สำหรับการทดสอบ) sq ( modelj ( '[gosales].[country].[country]' ) ใส่ "string_expression" ไว้ในวงเล็บเหลี่ยม sb ( string_expression ) ตัวอย่าง: # sb ( 'abc' ) # ผลลัพธ์: [abc] ใส่ "string_expression" ไว้ในเครื่องหมายคำพูดเดี่ยว sq ( string_expression ) ตัวอย่าง: # sq ( 'zero' ) # ผลลัพธ์: 'zero' ใส่ "string_expression" ไว้ในเครื่องหมายคำพูดคู่ dq ( string_expression ) ตัวอย่าง: # dq ( 'zero' ) # ผลลัพธ์: "zero" ใช้ข้อมูลเอกลักษณ์ของผู้ใช้ที่ได้รับการพิสูจน์ตัวตนปัจจุบันเพื่อค้นหาค่าในพารามิเตอร์แม็พที่ระบุ แต่ละส่วนของเอกลักษณ์ของผู้ใช้ (ชื่อแอคเคาต์ ชื่อกลุ่ม ชื่อบทบาท) ถูกใช้เป็นคีย์ในแม็พ จากนั้นรายการเฉพาะของค่าที่ถูกดึงจากพารามิเตอร์แม็พจะถูกส่งคืนเป็นสตริง โดยที่แต่ละค่าจะอยู่ในเครื่องหมายคำพูดเดี่ยวและค่าหลายค่าจะถูกคั่นด้วยเครื่องหมายคอมมา CSVIdentityName ( %parameter_map_name [ , separator_string ] ) ตัวอย่าง: # CSVIdentityName ( %security_clearance_level_map ) # ผลลัพธ์: 'level_500', 'level_501', 'level_700' ส่งคืนส่วนของเอกลักษณ์ของผู้ใช้ (ชื่อแอคเคาต์ ชื่อกลุ่ม ชื่อบทบาท) เป็นรายการของสตริง รายการเฉพาะของค่าจะถูกส่งคืนเป็นสตริง โดยที่แต่ละค่าจะอยู่ในเครื่องหมายคำพูดเดี่ยวและค่าหลายค่าถูกคั่นด้วยเครื่องหมายคอมมา CSVIdentityNameList ( [ separator_string ] ) ตัวอย่าง: # CSVIdentityNameList ( ) # ผลลัพธ์: 'Everyone', 'Report Administrators', 'Query User' ส่งคืน Cognos® Access Manager passport CAMPassport ( ) ตัวอย่าง: # CAMPassport ( ) # ผลลัพธ์: 111:98812d62-4fd4-037b-4354-26414cf7ebef:3677162321 ส่งคืนส่วนของ Cognos® Access Manager ID (CAMID) ของผู้ใช้ เช่น ชื่อแอคเคาต์ ชื่อกลุ่ม หรือชื่อบทบาท เป็นรายการของค่าที่คั่นด้วยเครื่องหมายคอมมา CAMIDList ( [ separator_string ] ) ตัวอย่าง: #CAMIDList ( ) # ผลลัพธ์: CAMID ( "::Everyone" ) , CAMID ( ":Authors" ) , CAMID ( ":Query Users" ) , CAMID ( ":Consumers" ) , CAMID ( ":Metrics Authors" ) ส่งคืนอาร์เรย์ของ Cognos® Access Manager IDs (CAMIDs) ของผู้ใช้โดยใช้ชนิดของเอกลักษณ์ (แอคเคาต์ กลุ่ม หรือบทบาท) CAMIDListForType สามารถใช้กับแมโคร csv หรือ join CAMIDListForType ( identity type ) ตัวอย่าง: [qs].[userRole] in ( # csv ( CAMIDListForType ( 'role' ) ) # ) ผลลัพธ์: [qs]userRole] in ( 'CAMID ( ":: ผู้ดูแลระบบ" ) ' , 'CAMID ( ":Authors" )' ) รวมสองสตริง value1 + value2 ตัวอย่าง: # '{ ' + $runLocale + ' }' # ผลลัพธ์: {en-us} แยกอักขระนำหน้าจากอาร์กิวเมนต์แรก อาร์กิวเมนต์ที่สองที่เป็นอ็อพชันจะกำหนดชุดของอักขระที่ต้องการแยก โดยดีฟอลต์ ฟังก์ชันนี้จะตัดช่องว่าง (เช่น ช่องว่าง, แท็บ, carriage return และ line feed) lstrip ( string_expression [ , set_of_characters ] ) ตัวอย่าง: # sq( lstrip ( ' abc ' ) ) # ผลลัพธ์: 'abc ' ตัวอย่าง: # lstrip ( ' 0053.2100 ' , '0 \t\r\n' ) # ผลลัพธ์: 53.2100 ส่งคืนค่าพารามิเตอร์ของ "parameterName" หากกำหนดไว้ จะส่งคืนค่าของ "defaultText" หากไม่มี "parameterName" เมื่อตั้งค่า "datatype" เป็น "string" ดังนั้นค่าของผลลัพธ์จะอยู่ในเครื่องหมายคำพูดเดี่ยว การใช้ฟังก์ชันนี้จะไม่ทำให้ข้อยกเว้นพารามิเตอร์หายไป ParamValue ( parameterName [ , defaultText [, datatype ] ] ) ตัวอย่าง: # ParamValue ( 'p_country' ) # Result: 'Canada' - p_country is set Result: null - p_country is not a known parameter Result: null - p_country is used in an optional prompt and is not set ตัวอย่าง: # ParamValue ( 'p_country' , 'Netherlands' ) # Result: 'Canada' - p_country is set Result: 'Netherlands' - p_country is not a known parameter Result: 'Netherlands' - p_country is used in an optional prompt and is not set ตัวอย่าง: # ParamValue ( 'p_country', ' cast ( null as varchar(20)) ' , 'token' ) # Result: 'Canada' - p_country is set Result: cast ( null as varchar(20)) - p_country is not a known parameter Result: cast ( null as varchar(20)) - p_country is used in an optional prompt and is not set พร้อมต์ผู้ใช้สำหรับค่าเดียวหรือสมาชิก ต้องการเฉพาะ "prompt_name" ชนิดข้อมูลดีฟอลต์เป็น 'string' เมื่อไม่ได้ระบุ พร้อมต์เป็นอ็อพชันเมื่อระบุ "defaultText" "Text" เมื่อระบุจะนำหน้าค่า สามารถระบุ "QueryItem" เพื่อใช้ประโยชน์ของคุณสมบัติของข้อมูลพร้อมต์ของ "queryItem" "Trailing_text" เมื่อระบุจะผนวกเข้ากับค่า เมื่อชนิดข้อมูลเป็น 'memberuniquename' พร้อมต์เลือกสมาชิกเดียวจะถูกสร้างขึ้น จะเป็นการดีที่จะระบุค่าดีฟอลต์ เป็นอาร์กิวเมนต์ลำดับที่ 3 ค่าดีฟอลต์ต้องเป็นชื่อเฉพาะของสมาชิกที่ถูกต้อง ซึ่งยังสามารถเป็นนามแฝงที่อ้างถึงเฉพาะของสมาชิกเช่นเดียวกับที่ทำใน Report Studio prompt ( prompt_name , datatype , defaultText , text , queryItem , trailing_text ) ตัวอย่าง: select . . . where COUNTRY_MULTILINGUAL.COUNTRY_CODE > #prompt ( 'Starting CountryCode' , 'integer' , '10' ) # ผลลัพธ์: select . . . where COUNTRY_MULTILINGUAL.COUNTRY_CODE > 10 Example: [gosales].[COUNTRY].[COUNTRY] = # prompt ( 'countryPrompt' , 'string' , '''Canada''' ) # ผลลัพธ์: [gosales]COUNTRY].[COUNTRY] = 'Canada' ตัวอย่าง: ชุด ( #prompt ('myProduct', 'memberuniquename', '[Camping Equipment]', '', '[Sales].[Product].[Product].[Product line]')#) ผลลัพธ์: [Sales]Product].[Product].[Product line]->[all].[1]) ต้องระบุพารามิเตอร์ "defaultText" เพื่อให้ใช้ได้ในบริบทของแมโคร เนื่องจากไม่มีการจัดรูปแบบค่านี้ สตริงดีฟอลต์ '''Canada''' ในตัวอย่างที่สอง 2 จะถูกระบุเป็นสตริงโดยใช้เครื่องหมายคำพูดเดี่ยว ที่เครื่องหมายคำพูดเดี่ยวแบบฝังจะถูกทำซ้ำ เป็น 3 เครื่องหมายคำพูด ผลลัพธ์นี้ทำให้แสดงสตริงได้อย่างถูกต้องภายในเครื่องหมายคำพูดเดี่ยวในนิพจน์ เนื่องจากเป็นกฏทั่วไปสำหรับชนิดข้อมูลสตริง ควรระบุ "defaultText" เช่นนี้เสมอ ยกเว้นในบริบทของพารามิเตอร์โพรซีเดอร์ที่เก็บ สำหรับ "defaultText" ที่เป็นชนิด 'date' หรือ 'datetime' ควรใช้รูปแบบพิเศษในบริบทของ SQL ตัวอย่างของรูปแบบเหล่านี้คือ 'DATE ''2001-12-25'''และ 'DATETIME ''2001-12-25 12:00:00''' ในบริบทอื่นทั้งหมด ใช้ date/datetime โดยไม่มีคีย์เวิร์ดและ escape เครื่องหมายคำพูดเดี่ยว (เช่น '2001-12-25') พร้อมต์ผู้ใช้ให้ป้อนค่าหนึ่งค่าหรือมากกว่าหรือสมาชิก ต้องการเฉพาะ "prompt_name" ชนิดข้อมูลดีฟอลต์เป็น 'string' เมื่อไม่ได้ระบุ พร้อมต์เป็นอ็อพชันเมื่อระบุ "defaultText" "Text" เมื่อระบุจะนำหน้ารายการของค่า สามารถระบุ "QueryItem" เพื่อใช้ประโยชน์ของคุณสมบัติของข้อมูลพร้อมต์ของ "queryItem" "Trailing_text" เมื่อระบุจะผนวกเข้ากับรายการของค่า เมื่อชนิดข้อมูลเป็น 'memberuniquename' พร้อมต์เลือกสมาชิกหลายรายการจะถูกสร้างขึ้น จะเป็นการดีที่จะระบุค่าดีฟอลต์ เป็นอาร์กิวเมนต์ลำดับที่ 3 ค่าดีฟอลต์ต้องเป็นชื่อเฉพาะของสมาชิกที่ถูกต้อง ซึ่งยังสามารถเป็นนามแฝงที่อ้างถึงเฉพาะของสมาชิกเช่นเดียวกับที่ทำใน Report Studio promptmany ( prompt_name , datatype , defaultText , text , queryItem , trailing_text ) ตัวอย่าง: select . . . where COUNTRY_MULTILINGUAL.COUNTRY in ( # promptmany ( 'CountryName' ) # ) ผลลัพธ์: select . . . where COUNTRY_MULTILINGUAL.COUNTRY_CODE in ( 'Canada' , 'The Netherlands' , 'Russia' ) ตัวอย่าง: select . . . from gosales.gosales.dbo.COUNTRY_MULTILINGUAL COUNTRY_MULTILINGUAL , gosales.gosales.dbo.COUNTRY XX where COUNTRY_MULTILINGUAL.COUNTRY_CODE = XX.COUNTRY_CODE # promptmany ( 'Selected CountryCodes' , 'integer' , ' ' , ' and COUNTRY_MULTILINGUAL.COUNTRY_CODE in ( ' , '' , ' ) ' ) # ผลลัพธ์: select . . . from gosales.gosales.dbo.COUNTRY_MULTILINGUAL COUNTRY_MULTILINGUAL , gosales.gosales.dbo.COUNTRY XX where COUNTRY_MULTILINGUAL.COUNTRY_CODE = XX.COUNTRY_CODE and COUNTRY_MULTILINGUAL.COUNTRY_CODE in ( 'Canada' , 'The Netherlands' , 'Russia' ) ตัวอย่าง: ชุด ( #promptmany ('myProduct', 'memberuniquename', '[Camping Equipment]', '', '[Sales].[Product].[Product].[Product line]')#) ผลลัพธ์: [Sales]Product].[Product].[Product line]->[all].[1]; [Sales].[Product].[Product].[Product line]->[all].[2]) เรียกใช้งานเคียวรีสำหรับคอลัมน์เดียวและส่งคืนค่าในแถวแรก (เท่านั้น) ไม่มีการจัดรูปแบบผลลัพธ์ ตรวจสอบว่า call อยู่ใน sq ( ) เมื่อจำเป็น queryValue ( value_expression [ , filter_expression ] ) ตัวอย่าง: # sq ( queryValue ( 'TheCalendar.TheWeekdayName' , 'TheCalendar.TheDate = 2018-06-06' ) ) # Result: 'Wednesday' สร้างประโยคอาร์เรย์จากรายการของพารามิเตอร์ array ( string_expression|array_expression { , string_expression|array_expression } ) ตัวอย่าง: # csv ( array ( 'a1' , array ( 'x1' , 'x2' ) , 'a2' ) ) # ผลลัพธ์: 'a1' , 'x1' , 'x2' , 'a2' สร้างประโยคสตริงจากสตริงของอาร์เรย์ โดยคั่นค่าด้วยเครื่องหมายคอมมา นอกจากนี้ คุณยังสามารถระบุตัวคั่นและสตริงเครื่องหมายคำพูด ตัวคั่นดีฟอลต์คือเครื่องหมายคอมมา ( , ) และอักขระเครื่องหมายคำพูดดีฟอลต์คือเครื่องหมายคำพูดเดี่ยว ( ' ) csv ( array_expression [ , separator_string [ , quote_string ] ] ) ตัวอย่าง: # sq ( csv ( array ( 'a1' , 'a2' ) ) ) # ผลลัพธ์: 'a1', 'a2' ขอรับรายการจากไฟล์คอนฟิกูเรชัน IBM® Cognos® force_decode_flag เป็นทางเลือก และต้องเป็นค่าอย่างใดอย่างหนึ่งดังนี้: 'true' , '1', 1 , 'false', '0', 0 ค่าดีฟอลต์คือ 'false' ในกรณีพิเศษ force_decode_flag ควรมีการตั้งค่าเป็น true เมื่อ force_decode_flag มีการตั้งค่าเป็น true ผลคือรายการที่กำหนดคอนฟิกในคอนฟิกูเรชัน IBM® Cognos® ผ่าน คุณสมบัติขั้นสูง จะมีการส่งคืนค่าข้อความธรรมดาของรายการคอนฟิกูเรชัน สำหรับรายการที่ไม่มีการระบุใน คุณสมบัติขั้นสูง จะมีการส่งคืนสตริงที่ว่าง โดยไม่คำนึงว่าจะมีข้อมูลที่เข้ารหัสอยู่หรือไม่ รายการใน คุณสมบัติขั้นสูง คือ qs.getConfigurationEntry.1 และเป็นรายชื่อที่คั่นด้วยเครื่องหมายเซมิโคลอน โดยดีฟอลต์รายชื่อนี้ว่าง และการเรียกไปยังฟังก์ชันนี้โดยที่ตั้งค่าแฟล็กเป็น true จะส่งคืนสตริงที่ว่าง getConfigurationEntry ( entry_string , force_decode_flag ) ตัวอย่าง: # getConfigurationEntry ( 'serverLocale'  ) # ผลลัพธ์: en ส่งคืนรายการจากไฟล์รีซอร์ส อาร์กิวเมนต์ตัวแรกคือ ID รีซอร์สซึ่งพบในไฟล์รีซอร์ส อาร์กิวเมนต์ตัวที่สองที่เป็นทางเลือกคือชื่อไฟล์รีซอร์สที่ไม่มีส่วนต่อท้ายโลแคล (เช่น 'mfwa4j' สำหรับไฟล์ข้อความ 'mfwa4j_en.properties') ไฟล์รีซอร์สดีฟอลต์คือ 'xqejavamsgs' อาร์กิวเมนต์ตัวที่สามที่เป็นทางเลือกคือโลแคล ซึ่งมีค่าดีฟอลต์เป็น 'en' getResourceString ( resource_id_string [, resource_file_string [ , locale_string ] ] ) ตัวอย่าง: # getResourceString ( 'XQE_BIN_binLow' ) # ผลลัพธ์: XQE-BIN-0001 น้อยกว่า %1 ตัวอย่าง: # getResourceString ( 'MFW_UT_INTERNAL_ERROR' , 'mfw4j' , 'en' ) # ผลลัพธ์: MFW-UT-1002 เกิดปัญหาภายในขึ้น โปรดติดต่อผู้ดูแลระบบของคุณ ค้นหาและส่งคืนอิลิเมนต์ของอาร์เรย์ที่ตรงกับรูปแบบที่ระบุใน "pattern_string" สนับสนุนเฉพาะอักขระเมต้า: ^ (beginning of word), $ (end of word), ! (negate - สนับสนุนเป็นอักขระตัวแรกเท่านั้น) grep ( pattern_string , array_expression ) ตัวอย่าง: # sq ( csv ( grep ( 's' , array ( 'as', 'an', 'arts' ) ) ) ) # ผลลัพธ์: 'as', 'arts' ตัวอย่าง: # sq ( csv ( grep ( '^g' , array ( 'group', 'golf' ) ) ) ) # ผลลัพธ์: 'group', 'golf' ตัวอย่าง: # sq ( csv ( grep ( 's$' , array ( 'oranges', 'mangoes' ) ) ) ) # ผลลัพธ์: 'oranges', 'mangoes' ตัวอย่าง: # sq ( csv ( grep ( '!o' , array ( 'oranges', 'apples' ) ) ) ) # ผลลัพธ์: 'apples' ค้นหาออฟเซ็ตใน 'str' เมื่อพบ 'substr' ส่งคืนค่า -1 เมื่อไม่พบ 'substr' คุณยังสามารถระบุ 'offset' เพื่อเริ่มต้นการค้นหาที่ อาร์กิวเมนต์แรก 'str' ยังสามารถเป็น array_expression ในกรณีดังกล่าว ฟังก์ชันจะนำมาใช้กับแต่ละอิลิเมนต์อาร์เรย์และผลลัพธ์ของฟังก์ชันเป็นอาร์เรย์ของค่า index ( str , substr [ , offset ] ) # index ( 'The black horse jumped over the black sheep.', 'black' ) # ผลลัพธ์: 4 # index ( 'The black horse jumped over the black sheep.', 'black', 10 ) # ผลลัพธ์: 32 # index ( 'The black horse jumped over the black sheep.', 'green' ) # ผลลัพธ์: -1 # sq ( join ( ' | ', index ( array ('black' , 'red', 'green' ) , 'e' ) ) ) # ผลลัพธ์: -1 | 1 | 2 รวมอิลิเมนต์ของอาร์เรย์โดยใช้ "separator_string" join ( separator_string , array_expression ) ตัวอย่าง: # sq ( join ( ' | | ' , array ( 'as', 'an', 'arts' ) ) ) # ผลลัพธ์: 'as | | an | | arts' คำนวณจำนวนของอักขระใน string_expression หากอาร์กิวเมนต์เป็น array_expression ดังนั้นผลลัพธ์จะเป็นอาร์เรย์ของค่า แต่ละรายการจะเป็นจำนวนของอักขระในแต่ละอิลิเมนต์ array_expression length ( string_expression | array_expression ) length ( 'abcdef' ) ผลลัพธ์: 6 join ( '--', length ( array ( 'abcdef' , 'xyz' ) ) ) ผลลัพธ์: 6--3 ค้นหาออฟเซ็ตสุดท้ายใน 'str' เมื่อพบ 'substr' ฟังก์ชันนี้เรียกว่า reverse index คุณสามารถดูได้เหมือนกับเริ่มต้นสแกนจากท้ายของสตริง ส่งคืนค่า -1 เมื่อไม่พบ 'substr' คุณยังสามารถระบุ 'offset' เพื่อสิ้นสุดการค้นหาที่ อาร์กิวเมนต์แรก 'str' สามารถเป็น array_expression ในกรณีดังกล่าว ฟังก์ชันจะนำมาใช้กับแต่ละอิลิเมนต์อาร์เรย์และผลลัพธ์ของฟังก์ชันเป็นอาร์เรย์ของค่า rindex ( str , substr [ , offset ] ) # rindex ( 'The black horse jumped over the black sheep.', 'black' ) # ผลลัพธ์: 32 # rindex ( 'The black horse jumped over the black sheep.', 'black', 10 ) # ผลลัพธ์: 4 # rindex ( 'The black horse jumped over the black sheep.', 'green' ) # ผลลัพธ์: -1 # sq ( join ( ' | ', rindex ( array ('black' , 'red', 'green' ) , 'e' ) ) ) # ผลลัพธ์: -1 | 1 | 3 ตัดอักขระข้างท้ายจากอาร์กิวเมนต์แรก อาร์กิวเมนต์ที่สองที่เป็นอ็อพชันจะกำหนดชุดของอักขระที่ต้องการแยก โดยดีฟอลต์ ฟังก์ชันนี้จะตัดช่องว่าง (เช่น ช่องว่าง, แท็บ, carriage return และ line feed) rstrip ( string_expression [ , set_of_characters ] ) ตัวอย่าง: # sq( rstrip ( ' abc ' ) ) # ผลลัพธ์: ' abc' ตัวอย่าง: # rstrip ( ' 0053.2100 ' , '0 \t\r\n' ) # ผลลัพธ์: 0053.21 เรียงลำดับอิลิเมนต์ของอาร์เรย์ตามลำดับตัวอักษร อิลิเมนต์ที่ซ้ำกันจะคงไว้ sort ( array_expression ) ตัวอย่าง: # csv ( sort ( array ( 's3', 'a', 'x' ) ) ) # ผลลัพธ์: 'a', 's3', 'x' แยกสตริงหรืออิลิเมนต์สตริงของอาร์เรย์เป็นอิลิเมนต์ที่แยกจากกัน split ( pattern_string, string_expression|array_expression ) ตัวอย่าง: # sq ( csv ( split ( '::', 'ab=c::de=f::gh=i' ) ) ) # ผลลัพธ์: 'ab=c', 'de=f', 'gh=i' ตัวอย่าง: # sq ( csv ( split ( '=' , split ( '::', 'ab=c::de=f::gh=i' ) ) ) ) # ผลลัพธ์: 'ab', 'c', 'de', 'f', 'gh', 'i' ตัดอักขระนำหน้าและต่อท้ายจากอาร์กิวเมนต์แรก อาร์กิวเมนต์ที่สองที่เป็นอ็อพชันจะกำหนดชุดของอักขระที่ต้องการแยก โดยดีฟอลต์ ฟังก์ชันนี้จะตัดช่องว่าง (เช่น ช่องว่าง, แท็บ, carriage return และ line feed) strip ( string_expression [ , set_of_characters ] ) ตัวอย่าง: # sq( strip ( ' abc ' ) ) # ผลลัพธ์: 'abc' ตัวอย่าง: # strip ( ' 0053.2100 ' , '0 \t\r\n' ) # ผลลัพธ์: 53.21 ค้นหารูปแบบในสตริงหรือในอิลิเมนต์สตริงของอาร์เรย์และแทนที่ "pattern_string" แรกที่ปรากฏด้วย "replacement_string" สนับสนุนเฉพาะอักขระเมต้า: ^ (beginning of word), $ (end of word) substitute ( pattern_string, replacement_string, string_expression|array_expression ) ตัวอย่าง: #sq ( substitute ( '^cn=', '***', 'cn=help' ) )# ผลลัพธ์: '***help' ตัวอย่าง: # csv ( substitute ( '^cn=', '***', array ( 'cn=help' , 'acn=5' ) ) ) # ผลลัพธ์: '***help', 'acn=5' ตัวอย่าง: # csv ( substitute ( 'cn=', '', array ( 'cn=help' , 'acn=5' ) ) ) # ผลลัพธ์: 'help', 'a5' ตัวอย่าง: #sq ( substitute ( 'help$', '***', 'cn=help' ) )# ผลลัพธ์: 'cn=***' แยกส่วนจาก 'string_expression' เริ่มต้นที่ 'start_offset' คุณสามารถระบุ 'length' เป็นจำนวนของอักขระที่จะแยก หากไม่ได้ระบุ 'length' ดังนั้นระบบจะส่งคืนค่าจนถึงท้ายของ 'string_expression' อาร์กิวเมนต์แรกยังสามารถเป็น array_expression ในกรณีดังกล่าว ฟังก์ชันจะนำมาใช้กับแต่ละอิลิเมนต์อาร์เรย์และผลลัพธ์ของฟังก์ชันเป็นอาร์เรย์ของสตริง substr ( string_expression , start_offset [ , length ] ) substr ( 'The horse is black.', 0, 3 ) ผลลัพธ์: The substr ( 'The horse is black.', 4 ) ผลลัพธ์: horse is black. substr ( 'The horse is black', index ('The horse is black.' , 'green' ) ) ผลลัพธ์: The horse is black. join ( ' | ', substr ( array ('black' , 'red', 'green' ) , 2, 2 ) ) ผลลัพธ์: ac | d | en substr ('over the moon', -2, 4) ผลลัพธ์จะแสดงข้อผิดพลาด: อาร์กิวเมนต์ที่สองของฟังก์ชัน 'substr' ต้องมากกว่าหรือเท่ากับ -1' . ผลลัพธ์ "string_expression1" การแทนสตริงด้วยเขตเวลา ที่ถูกตัดเป็นรูปแบบที่ระบุใน "string_expression2" รูปแบบใน "string_expression2" ต้องหนึ่งในรูปแบบต่อไปนี้: 'yyyy', 'mm', 'dd', 'yyyy-mm', 'yyyymm', 'yyyy-mm-dd', 'yyyymmdd', 'yyyy-mm-dd hh:mm:ss', 'yyyy-mm-dd hh:mm:ss+hh:mm', 'yyyy-mm-dd hh:mm:ss.ff3', 'yyyy-mm-dd hh:mm:ss.ff3+hh:mm', 'yyyy-mm-ddThh:mm:ss', 'yyyy-mm-ddThh:mm:ss+hh:mm', 'yyyy-mm-ddThh:mm:ss.ff3+hh:mm' หรือ 'yyyy-mm-ddThh:mm:ss.ff3+hh:mm' ฟังก์ชันแมโครที่ส่งคืนสตริงที่แทนเวลาประทับที่มีเขตเวลาแสดงความแม่นยำ 9 หลักสำหรับส่วนของเศษส่วนของวินาทีโดยดีฟอลต์ อ็อพชัน format อนุญาตให้ตัดเป็นความแม่นยำ 3 หรือ 0 timestampMask ( string_expression1 , string_expression2 ) ตัวอย่าง: # timestampMask ( $current_timestamp , 'yyyy-dd-mm' ) # ผลลัพธ์: 2005-11-01 ตัวอย่าง: # timestampMask (  '2005-11-01 12:00:00.000-05:00' , 'yyyy-mm-dd hh:mm:ss+hh:mm' ) # ผลลัพธ์: 2005-11-01 12:00:00-05:00 ตัวอย่าง: # timestampMask (  '2005-11-01 12:00:00.123456789-05:00' , 'yyyy-mm-ddThh:mm:ss+hh:mm.ff3+hh:mm' ) # ผลลัพธ์: 2005-11-01T12:00:00.123-05:00 ส่งคืนสตริงที่แทนเวลาประทับที่มีเขตเวลาจากการปรับ "string_expression" เป็นเขตเวลาของระบบปฏิบัติการ โปรดสังเกตว่า สามารถใช้ฟังก์ชันแมโคร timestampMask () เพื่อตัดเอาต์พุตได้ถ้าต้องการ toLocal ( string_expression ) ตัวอย่าง: # toLocal ( '2005-11-01 17:00:00.000-00:00' ) # โดยที่เขตเวลาของ OS คือ -05:00 ผลลัพธ์: 2005-11-01 12:00:00.000000000-05:00 ตัวอย่าง: # timestampMask ( toLocal ( '2005-11-01 17:00:00.000-00:00' ) , 'yyyy-mm-dd hh:mm:ss+hh:mm' ) # โดยที่เขตเวลาของ OS คือ -05:00 ผลลัพธ์: 2005-11-01 12:00:00-05:00 ตัวอย่าง: # toLocal ( '2005-11-01 13:30:00.000-03:30' ) # โดยที่เขตเวลาของ OS คือ -05:00 ผลลัพธ์: 2005-11-01 12:00:00.000000000-05:00 ส่งคืนสตริง "string_expression" ที่มีอักขระทั้งหมดที่ถูกแปลงเป็นตัวพิมพ์เล็กโดยใช้กฏของโลแคล "locale_string" ถ้าไม่ได้ระบุโลแคล จะใช้โลแคล 'en' tolower ( string_expression [ , locale_string ] ) ตัวอย่าง: # tolower ( 'ABC' ) # ผลลัพธ์: abc ตัวอย่าง: # tolower ( 'ABC' , 'fr' ) # ผลลัพธ์: abc ส่งคืนสตริง "string_expression" ที่มีอักขระทั้งหมดที่ถูกแปลงเป็นตัวพิมพ์ใหญ่โดยใช้กฏของโลแคลที่กำหนดไว้ใน "locale_string" ถ้าไม่ได้ระบุ "locale_string" จะใช้โลแคล 'en' toupper ( string_expression [ , locale_string ] ) ตัวอย่าง: # toupper ( 'abc' ) # ผลลัพธ์: ABC ตัวอย่าง: # toupper ( 'abc' , 'fr' ) # ผลลัพธ์: ABC ส่งคืนสตริงที่แทนเวลาประทับที่มีเขตเวลาที่เป็นผลลัพธ์จากการปรับ "string_expression" เป็นเขตเวลา UTC ที่อ้างอิงจุดศูนย์ หรือเวลา GMT โปรดสังเกตว่า สามารถใช้ฟังก์ชันแมโคร timestampMask () เพื่อตัดเอาต์พุตได้ถ้าต้องการ toUTC ( string_expression ) ตัวอย่าง: # toUTC ( '2005-11-01 12:00:00.000-05:00' ) # ผลลัพธ์: 2005-11-01 17:00:00.000000000-00:00 ตัวอย่าง: # timestampMask( toUTC ( '2005-11-01 12:00:00.000-05:00' ) , 'yyyy-mm-dd hh:mm:ss.ff3+hh:mm' ) # ผลลัพธ์: 2005-11-01 17:00:00.000-00:00 ตัวอย่าง: # toUTC ( $current_timestamp ) # ผลลัพธ์: 2005-11-01 17:00:00.000000000-00:00 ลบรายการที่ซ้ำกันออกจากอาร์เรย์ ลำดับของอิลิเมนต์จะถูกรักษาไว้ unique ( array_expression ) # csv ( unique ( array ( 's3', 'a', 's3', 'x' ) ) ) # ผลลัพธ์: 's3', 'a', 'x' อาร์กิวเมนต์ที่ถูกผ่าน URL-encodes ฟังก์ชันนี้มีประโยชน์เมื่อระบุสตริงการเชื่อมต่อ XML urlencode ( prompt ( 'userValue' ) ) urlencode ( prompt ( 'some_val' ) ) %27testValue%27 simple case การสร้างแมโครนี้เป็นเท็มเพลตสำหรับกรณีอย่างง่าย รวมฟังก์ชัน case, when, then, else และ end âโปรดสังเกตว่าสิ่งที่สร้างแมโครได้รับการสนับสนุนในโหมด DQM เท่านั้น CASE <expression> WHEN <literal> THEN <expression> [ELSE <expression>] END ตัวอย่าง: #CASE prompt('pDateRange','token') WHEN 'Current Week' THEN '[PR Current Week]' ELSE '[PR Prior Week]' END# ผลลัพธ์: [PR Current Week]
ฟังก์ชันบล็อก รายการนี้ประกอบด้วยฟังก์ชันที่ใช้เพื่อเข้าถึงสมาชิกของชุด โดยทั่วไปในบริบทของ Analysis Studio ส่งคืนสมาชิกแรกที่พบในชุดจนถึง "numeric_expression_maximum" + "numeric_expression_overflow" ถ้าเกิน "numeric_expression_maximum" + "numeric_expression_overflow" ดังนั้นจะส่งคืนเฉพาะจำนวนสงสุดของสมาชิก สำหรับชุดที่มีสมาชิกมากกว่า numeric_expression_maximum ที่ระบุไม่มาก numeric_expression_overflow จะอนุญาตให้รวมชุดของสมาชิกเพิ่มเติมจำนวนน้อย ถ้าชุดมีสมาชิกมากกว่าโอเวอร์โฟลว์ที่อนุญาต ดังนั้นจะส่งคืนเฉพาะสมาชิก numeric_expression_maximum _firstFromSet ( set_expression , numeric_expression_maximum , numeric_expression_overflow ) _firstFromSet ( [great_outdoors_company].[Products].[Products].[Product line] , 2 , 8 ) ผลลัพธ์: ส่งคืนหน้าสมาชิกในชุดของ Product line สมาชิกสองรายการแรกจะถูกส่งคืนภายในค่าสูงสุดและอนุญาตให้ส่งคืนสมาชิกสามรายการเป็นโอเวอร์โฟลว์ Camping Equipment Golf Equipment Mountaineering Equipment Outdoor Protection Personal Accessories _firstFromSet ( [great_outdoors_company].[Products].[Products].[Product line] , 2 , 2 ) ผลลัพธ์: Camping Equipment, Golf Equipment ส่งคืนชุดที่มี "member_expression" เมื่อขนาดของ "set_expression" มากกว่า "numeric_expression" เช่น สมาชิกใหม่ จะถูกสร้างขึ้นถ้าจำนวนของสมาชิกใน "set_expression" มากกว่า "numeric_expression" ที่ระบุ _remainderSet ( member_expression, set_expression , numeric_expression ) _remainderSet ( member ( aggregate ( currentMeasure within set [great_outdoors_company].[Products].[Products].[Product line] ) , 'Product Aggregate' , 'Product Aggregate' , [great_outdoors_company].[Products].[Products] ) , [great_outdoors_company].[Products].[Products].[Product line] , 1 ) ผลลัพธ์: ปริมาณที่ขายสำหรับ Product Aggregate