หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
นําไปใช้กับ:✅ Warehouse ใน Microsoft Fabric
ในบทเรียนนี้ คุณจะได้เรียนรู้วิธีใช้ ฟังก์ชัน AI ที่มีอยู่ใน T-SQL เพื่อวิเคราะห์ข้อมูลตารางคลังสินค้าในภาษาธรรมชาติ ใช้ตารางเพื่อ dbo.fact_sale สํารวจฟังก์ชัน AI ใน SELECT คําสั่งง่าย ๆ ใช้ในคําสั่งวิเคราะห์ขั้นสูง และเก็บผลลัพธ์ไว้ในคอลัมน์
หมายเหตุ
บทช่วยสอนนี้เป็นส่วนหนึ่งของสถานการณ์แบบครอบคลุม เพื่อทําบทเรียนนี้ให้สําเร็จ คุณต้องทําบทเรียนเหล่านี้ให้สําเร็จก่อน:
- สร้าง พื้นที่ทํางาน
- สร้าง คลังสินค้า
- การนําเข้าข้อมูลลงใน คลังสินค้า
สํารวจข้อมูลด้วยฟังก์ชัน AI
ในงานนี้ เรียนรู้วิธีใช้ฟังก์ชัน SELECT AI ที่มีอยู่ในตัวในคําสั่งง่าย ๆ เพื่อสํารวจสิ่งที่พวกมันส่งกลับมาโดยไม่ต้องเปลี่ยนตาราง
ตรวจสอบให้แน่ใจว่าพื้นที่ทํางานที่คุณสร้างขึ้นในบทช่วยสอน เปิดอยู่
ดึงหมวดหมู่จากคําอธิบาย
บนแถบเครื่องมือ home ให้เลือก คิวรี SQL ใหม่
ในตัวแก้ไขคิวรี ให้วางโค้ดต่อไปนี้ โค้ดใช้
AI_EXTRACTดึงสีและขนาดออกจากคําอธิบาย เช่นAlien officer hoodie (Black) XXL.AI_EXTRACTคืนค่าวัตถุ JSON ดังนั้นใช้เพื่อOPENJSONเปลี่ยนแอตทริบิวต์เป็นคอลัมน์แยกกัน-- Extract color and size attributes. SELECT SaleKey, Description, extracted.Color, extracted.Size FROM dbo.fact_sale CROSS APPLY OPENJSON(AI_EXTRACT(Description, 'Color', 'Size')) WITH (Color varchar(50), Size varchar(20)) AS extracted;เรียกใช้คิวรี
เมื่อการดําเนินการเสร็จสมบูรณ์ ให้เปลี่ยนชื่อคิวรีเป็น
Color & Size Extractionตรวจสอบว่าColorและSizeได้ถูกเติมในคอลัมน์แยกกัน
จัดรูปแบบคําอธิบายเป็น HTML
สร้างคําสั่งค้นหาใหม่ วางโค้ดต่อไปนี้ แล้วรันคําสั่งนั้น โค้ดนี้ใช้
AI_GENERATE_RESPONSEในการเขียนDescriptionใหม่เป็นสรุปผลิตภัณฑ์ HTML พร้อมรายการแอตทริบิวต์สําคัญ พร้อมแสดงผลบนหน้าเว็บ-- Generate a catalog description formatted as HTML, with a summary and an attribute list. SELECT SaleKey, Description, AI_GENERATE_RESPONSE( 'Rewrite as a short e-commerce catalog description. Format the result as HTML: wrap the summary in a <p> tag, then list key attributes as a <dl>, with each <dt> label bolded using <strong> and followed by its <dd> value.', Description ) AS CatalogDescription FROM dbo.fact_sale;เปลี่ยนชื่อคิวรีเป็น
Short Catalog Description GenerationตรวจสอบCatalogDescriptionและยืนยันว่ามีองค์ประกอบที่<p>ร้องขอ ,<dl>,<dt>, และ<dd>
สรุปข้อมูลสินค้าขาย
สร้างคําสั่งค้นหาใหม่ วางโค้ดต่อไปนี้ แล้วรันคําสั่งนั้น โค้ดนี้ใช้
AI_GENERATE_RESPONSEเปลี่ยนคอลัมน์ตัวเลขแทนDescription, ให้กลายเป็นสรุปข้อความธรรมดาของสินค้าขาย-- Summarize each sales item in plain text, based on numeric columns only. DECLARE @prompt nvarchar(max) = N'Summarize this sales item in one short sentence for a business report.'; SELECT *, AI_GENERATE_RESPONSE( @prompt, CONCAT( 'Package: ', Package, '. Quantity: ', Quantity, '. Dry items: ', TotalDryItems, '. Chiller items: ', TotalChillerItems, '. Unit price: ', UnitPrice, '. Tax rate: ', TaxRate, '. Profit: ', Profit, '. Total including tax: ', TotalIncludingTax ) ) AS SalesItemSummary FROM dbo.fact_sale;เปลี่ยนชื่อคิวรีเป็น
Sales Item Summary Generationอ่านค่าบางค่าSalesItemSummaryและยืนยันว่าค่าเหล่านั้นสะท้อนคอลัมน์ตัวเลขในแถวเดียวกัน
กําหนดลําดับความสําคัญของแต่ละรายการขาย
ในงานนี้ ให้ใช้ AI_GENERATE_RESPONSE ในคําสั่งขั้นสูงที่รวมหลายคอลัมน์เพื่อสนับสนุนการตัดสินใจทางธุรกิจ แทนที่จะใช้เหตุผลจากคอลัมน์เดียว
สร้างคําสั่งค้นหาใหม่ วางโค้ดต่อไปนี้ แล้วรันคําสั่งนั้น รหัสนี้จะรวมวันที่ออกใบแจ้งหนี้ วันที่จัดส่ง วันที่อ้างอิง ยอดรวมของรายการ กําไร และจํานวนสินค้าชิลเลอร์ที่ต้องจัดการในตู้เย็นให้เป็นข้อมูลเดียว จากนั้นจะขอให้ AI ส่งคะแนนลําดับความสําคัญที่รวมสัญญาณเหล่านี้เป็นตัวเลขเดียว
fact_saleถือยอดขายในอดีต ดังนั้น@AsOfDateจะแทนวันที่ธุรกิจปัจจุบันที่คุณใช้ในคิวการจัดส่งแบบสด-- Score sales items for fulfillment priority based on invoice-to-delivery time, line total, profit, and chiller items. DECLARE @AsOfDate date = '2016-05-01'; DECLARE @prompt nvarchar(max) = N'Given the invoice date, delivery date, reference date, line total, profit, and number of chiller items below, return a single integer priority score from 1 (low) to 100 (urgent) for sales-item fulfillment. Consider how much time was allowed from invoice to delivery, and how close the delivery date is to the reference date. Larger line totals, closer delivery dates, higher profit, and more chiller items should raise the score. Return only the number.'; SELECT SaleKey, InvoiceDateKey, DeliveryDateKey, TotalIncludingTax, Profit, TotalChillerItems, TRY_CAST(AI_GENERATE_RESPONSE( @prompt, CONCAT( 'Invoice date: ', CONVERT(char(10), InvoiceDateKey, 23), '. Delivery date: ', CONVERT(char(10), DeliveryDateKey, 23), '. Reference date: ', CONVERT(char(10), @AsOfDate, 23), '. Line total: ', TotalIncludingTax, '. Profit: ', Profit, '. Chiller items: ', TotalChillerItems ) ) AS int) AS PriorityScore FROM dbo.fact_sale ORDER BY PriorityScore DESC;เปลี่ยนชื่อคิวรีเป็น
Sales Item Fulfillment Priority Scoringค่ายืนยันPriorityScoreอยู่ระหว่าง 1 ถึง 100 โดยคะแนนสูงสุดจะถูกจัดเรียงก่อน
คงผลลัพธ์ AI
ตัวอย่างที่ผ่านมาให้ผลลัพธ์ AI เป็น SELECT. หากต้องการนําผลลัพธ์เหล่านั้นกลับมาใช้ใหม่โดยไม่ต้องคํานวณซ้ําทุกครั้ง ให้เขียนกลับพร้อมUPDATE
แก้ไขข้อผิดพลาดทางไวยากรณ์ในคําอธิบาย
สร้างคําสั่งค้นหาใหม่ วางโค้ดต่อไปนี้ แล้วรันคําสั่งนั้น โค้ดจะใช้
AI_FIX_GRAMMARเพื่อแก้ไขDescriptionต้นฉบับ โดยเก็บข้อความต้นฉบับไว้ทุกครั้งที่ AI ไม่มีอะไรต้องแก้ไข-- Fix grammar issues in the description, in place. UPDATE dbo.fact_sale SET Description = ISNULL(AI_FIX_GRAMMAR(Description), Description) WHERE Description IS NOT NULL;เปลี่ยนชื่อคิวรีเป็น
Grammar Correction UpdateเปรียบเทียบแถวDescriptionที่เปลี่ยนไปบ้างและยืนยันว่าการแก้ไขถูกต้อง
สร้างคอลัมน์ใหม่
งานนี้จะเพิ่มคอลัมน์ปลายทางสองคอลัมน์ก่อน จากนั้นเติมข้อมูลในการอัปเดตครั้งเดียว
สร้างคําสั่งค้นหาใหม่ วางโค้ดต่อไปนี้ แล้วรันคําสั่งนั้น โค้ดจะเพิ่มคอลัมน์สําหรับคําอธิบายที่แปลแล้วและหมวดหมู่สินค้า
-- Add columns for the translated description and the product category. ALTER TABLE dbo.fact_sale ADD DescriptionFr nvarchar(max) NULL, ProductCategory nvarchar(50) NULL;เปลี่ยนชื่อคิวรีเป็น
Add Translation & Category Columnsสร้างคําสั่งค้นหาใหม่ วางโค้ดต่อไปนี้ แล้วรันคําสั่งนั้น โค้ดนี้จะเติมข้อมูลทั้งสองคอลัมน์ในอัปเดตเดียว โดยใช้
AI_TRANSLATEforDescriptionและAI_CLASSIFYเพื่อจัดเรียงแต่ละแถวเป็นชุดหมวดหมู่สินค้าคงที่ที่ตรงกับข้อมูลในตารางนี้ เช่น แก้วเครื่องดื่มแปลกใหม่ เสื้อผ้า และอุปกรณ์บรรจุภัณฑ์-- Populate the translated description and product category columns. UPDATE dbo.fact_sale SET DescriptionFr = AI_TRANSLATE(Description, 'fr'), ProductCategory = AI_CLASSIFY( Description, 'Apparel', 'Footwear', 'Novelty & Gifts', 'Packaging Materials', 'Toys & Costumes', 'Office Supplies' ) WHERE Description IS NOT NULL;เปลี่ยนชื่อคิวรีเป็น
Populate Translation & Category ColumnsยืนยันDescriptionFrและProductCategoryถูกกรอกข้อมูลสําหรับทุกแถว
ขั้นตอนถัดไป
บทช่วยสอน : สร้างคิวรีด้วยวิชวลตัวสร้างคิวรีใน Warehouse