Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :✅Entrepôt dans Microsoft Fabric
Dans ce tutoriel, vous apprenez à utiliser des fonctions d’IA intégrées en T-SQL pour raisonner sur les données de tables d’entrepôt en langage naturel. Utilisez le dbo.fact_sale tableau pour explorer les fonctions d’IA dans des requêtes simples SELECT , utilisez-les dans une requête analytique plus avancée, et faites persister leurs résultats en colonnes.
Note
Ce tutoriel fait partie d’un scénario de bout en bout. Pour compléter ce tutoriel, vous devez d’abord suivre ces tutoriels :
Explorez les données avec des fonctions d’IA
Dans cette tâche, apprenez à utiliser quelques-unes des fonctions d’IA intégrées dans des requêtes simples SELECT afin d’explorer ce qu’elles renvoient, sans modifier la table.
Vérifiez que l’espace de travail que vous avez créé dans le premier didacticiel est ouvert.
Extraire les catégories à partir de la description
Dans le ruban Accueil, sélectionnez nouvelle requête SQL.
Dans l’éditeur de requête, collez le code suivant. Le code utilise
AI_EXTRACTpour extraire la couleur et la taille de descriptions telles queAlien officer hoodie (Black) XXL.AI_EXTRACTrenvoie un objet JSON, donc utiliseOPENJSONpour transformer les attributs en colonnes séparées.-- 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;Exécutez la requête.
Une fois l’exécution terminée, renommez la requête en tant que
Color & Size Extraction. Vérifiez celaColoretSizesont répartis dans des colonnes séparées.
Description du format sous forme HTML
Créez une nouvelle requête, collez le code suivant, puis exécutez-la. Le code utilise
AI_GENERATE_RESPONSEpour réécrireDescriptionen un résumé produit en HTML avec une liste des principaux attributs, prêt à être affiché sur une page web.-- 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;Renommez la requête
Short Catalog Description Generation. InspectezCatalogDescriptionet confirmez qu’il comprend les éléments demandés<p>,<dl>,<dt>et<dd>.
Résumez les informations sur les articles de vente
Créez une nouvelle requête, collez le code suivant, puis exécutez-la. Le code utilise
AI_GENERATE_RESPONSEpour transformer des colonnes numériques, plutôt queDescription, en un résumé en texte brut de l’article vendu.-- 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;Renommez la requête
Sales Item Summary Generation. Lisez quelquesSalesItemSummaryvaleurs et confirmez qu’elles reflètent les colonnes numériques dans la même ligne.
Déterminez la priorité de chaque article de vente
Dans cette tâche, utilisez AI_GENERATE_RESPONSE une requête plus avancée qui combine plusieurs colonnes pour soutenir une décision métier, au lieu de raisonner sur une seule colonne.
Créez une nouvelle requête, collez le code suivant, puis exécutez-la. Le code combine la date de facture, la date de livraison, une date de référence, le total de lignes, le profit et le nombre d’articles de refroidissement nécessitant une manipulation réfrigérée en une seule entrée, puis demande à l’IA de renvoyer un score de priorité qui fusionne ces signaux en un seul chiffre.
fact_salecontient les ventes historiques, donc@AsOfDateremplace la date d’activité du jour que vous utiliseriez dans une file d’attente de traitement en temps réel.-- 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;Renommez la requête
Sales Item Fulfillment Priority Scoring. Les valeurs de confirmationPriorityScorese situent entre 1 et 100, les meilleurs scores étant d’abord classés.
Résultats de Persist AI
Les exemples jusqu’ici renvoient des résultats d’IA dans un SELECT. Pour réutiliser ces résultats sans les recalculer à chaque fois, écrivez-les en retour avec UPDATE.
Corriger les erreurs de grammaire dans la description
Créez une nouvelle requête, collez le code suivant, puis exécutez-la. Le code utilise
AI_FIX_GRAMMARpour corrigerDescriptiondirectement, en conservant le texte d’origine chaque fois que l’IA n’a rien à corriger.-- 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;Renommez la requête
Grammar Correction Update. Comparez quelques lignes dans lesquellesDescriptiona été modifié et confirmez que la correction est exacte.
Générer de nouvelles colonnes
Cette tâche ajoute d’abord deux colonnes de destination, puis les remplit en une seule mise à jour.
Créez une nouvelle requête, collez le code suivant, puis exécutez-la. Le code ajoute des colonnes pour une description traduite et une catégorie de produit.
-- Add columns for the translated description and the product category. ALTER TABLE dbo.fact_sale ADD DescriptionFr nvarchar(max) NULL, ProductCategory nvarchar(50) NULL;Renommez la requête
Add Translation & Category Columns.Créez une nouvelle requête, collez le code suivant, puis exécutez-la. Le code peuple les deux colonnes dans une seule mise à jour, utilisant
AI_TRANSLATEpourDescriptionetAI_CLASSIFYpour trier chaque ligne dans un ensemble fixe de catégories de produits correspondant à ce qui se trouve réellement dans ce tableau, comme les mugs fantaisie, les vêtements et les fournitures d’emballage.-- 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;Renommez la requête
Populate Translation & Category Columns. Confirmez queDescriptionFretProductCategorysont renseignés pour chaque ligne.