notesum.ai
Published at December 10Automating Business Intelligence Requirements with Generative AI and Semantic Search
cs.SE
Released Date: December 10, 2024
Authors: Nimrod Busany1, Ethan Hadar1, Hananel Hadad1, Gil Rosenblum1, Zofia Maszlanka2, Okhaide Akhigbe3, Daniel Amyot3
Aff.: 1Accenture Labs; 2Avanade; 3EECS, University of Ottawa

| Business Question (User): “Please provide the total amount of earnings per product sold in Euro”. Listing 1: Query Generation Response (System) ⬇ SELECT Product.ProductNumber, SUM(SalesOrderDetail.LineTotalCurrencyRate.AverageRate) AS TotalEarnings FROM Product JOIN SalesOrderDetail ON SalesOrderDetail.ProductID = Product.ProductID JOIN SalesOrderHeader ON SalesOrderDetail.SalesOrderID = SalesOrderHeader.SalesOrderID ... WHERE CurrencyRate.ToCurrencyCode = "Euro" GROUP BY Product.ProductNumber |
|---|
| Query Explanation Response (System): The results display the total earnings of each product, calculated by multiplying the sales line total by average currency exchange rate, specifically for transaction converted to Euros, with the data organized by product names. |
| Execution Results and Test Case (System): The query execution results are displayed in the table in See Figure 2 (left). The table includes the two columns ProductNumber and TotalEarnings, and total earnings per product. Listing 2: Ontology Snippet (System) ⬇ Class specialofferproduct { Data Property: rowguid VARCHAR, Data Property: ModifiedDate VARCHAR, Data Property: SpecialOfferID INT, Data Property: ProductID INT, Object Property: has_product REFERENCES product } Class productdocument { Data Property: ModifiedDate VARCHAR, Data Property: ProductID INT, Data Property: DocumentNode INT, Object Property: has_product REFERENCES product } ... Listing 3: Bindings Snippet (System) ⬇ Class c: specialofferproduct => Table t: specialofferproduct, Table t2: product c.rowguid => t.rowguid, c.SpecialOfferID=> t.SpecialOfferID, c. ProductID =>t. ProductID, c.ModifiedDate=>t.ModifiedDate , c.has_specialoffer=>t.specialofferproduct, c.has_product=> t2.specialofferproduct ... |