Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Elke Cosmos DB in de Microsoft Fabric-database wordt gespiegeld in OneLake in de open-source Delta Lake-indeling. Deze functie vereist geen extra configuratie of installatie en wordt automatisch ingeschakeld wanneer de database wordt gemaakt. Deze nauwe integratie elimineert de noodzaak van ETL-pijplijnen (extraheren, transformeren, laden) en zorgt ervoor dat Cosmos DB-gegevens altijd gereed zijn voor analyse.
Deze automatische mirror-ondersteuning maakt scenario's mogelijk, waaronder, maar niet beperkt tot:
- Ad-hocquery's met behulp van de Transact SQL-querytaal (T-SQL)
- Integratie met Apache Spark
- Analyse van realtime gegevens met behulp van notebooks
- Data science- en machine learning-werkstromen
Status van spiegeling
U kunt de status van de replicatie controleren door te navigeren naar de sectie Replicatie voor de database in de Fabric-portal. Deze sectie bevat metagegevens over replicatie, inclusief de status van de laatste synchronisatie.
SQL Analytics-eindpuntquery's
Met het EINDPUNT van SQL Analytics kunt u query's uitvoeren op gespiegelde Cosmos DB-gegevens rechtstreeks in de Fabric-portal met behulp van T-SQL. U kunt op elk gewenst moment schakelen tussen NoSQL Data Explorer en het T-SQL SQL-analyse-eindpunt.
Basisquery's uitvoeren
Gebruik de standaard T-SQL-syntaxis om een query uit te voeren op uw gespiegelde gegevens. In het volgende voorbeeld ziet u een eenvoudige aggregatiequery:
SELECT
categoryName,
COUNT(*) AS quantity
FROM
[<database-name>].[<database-name>].[<container-name>] -- Replace with your database and container name
GROUP BY
categoryName
Voorbeeldgegevens analyseren met geavanceerde query's
Voor complexere analysescenario's kunt u query's uitvoeren die meerdere metrische gegevens combineren en geavanceerde T-SQL-functies gebruiken. In het volgende voorbeeld wordt de ingebouwde set voorbeeldgegevens gebruikt om KPI's van producten te berekenen en inzichten in verschillende categorieën te bekijken. Voor meer informatie over de voorbeeldgegevenssets, zie Voorbeeldgegevenssets in Cosmos DB in Microsoft Fabric.
-- Product performance analysis by category
WITH SampleData AS (
SELECT *
FROM [<database-name>].[<database-name>].[<container-name>] -- Replace with your database and container name
),
TopProducts AS (
SELECT
categoryName,
name,
ROW_NUMBER() OVER (PARTITION BY categoryName ORDER BY currentPrice DESC) AS rn
FROM SampleData
WHERE docType = 'product'
)
SELECT
c.categoryName,
COUNT(DISTINCT CASE WHEN c.docType = 'product' THEN c.productId END) AS totalProducts,
ROUND(AVG(CASE WHEN c.docType = 'review' THEN CAST(c.stars AS FLOAT) END), 2) AS avgRating,
tp.name AS topProduct,
SUM(CASE WHEN c.docType = 'product' THEN c.currentPrice * c.inventory END) AS totalInventoryValue
FROM SampleData AS c
LEFT JOIN TopProducts AS tp ON c.categoryName = tp.categoryName AND tp.rn = 1
GROUP BY c.categoryName, tp.name
ORDER BY avgRating DESC;
Bekijk de resultaten van de query in de queryeditor:
[
{
"categoryName": "Devices, E-readers",
"totalProducts": "10",
"avgRating": "4.38",
"topProduct": "eReader Lumina Edge X7",
"totalInventoryValue": "890338.94"
},
{
"categoryName": "Devices, Smartwatches",
"totalProducts": "10",
"avgRating": "4.37",
"topProduct": "PulseSync Pro S7",
"totalInventoryValue": "750008.86"
},
// Ommitted for brevity
]
Query's uitvoeren op geneste JSON-matrices met OPENJSON
Gebruik de OPENJSON functie om geneste JSON-matrices in uw documenten te parseren en er query's op uit te voeren. In het volgende voorbeeld ziet u hoe u de priceHistory matrix analyseert om producten te identificeren met de grootste prijsverhogingen, zodat u prijstrends kunt bijhouden en uw prijsstrategie kunt optimaliseren.
-- Identify products with significant price increases
WITH PriceChanges AS (
SELECT
p.productId,
p.name,
p.categoryName,
p.currentPrice,
ph.priceDate,
ph.historicalPrice,
p.currentPrice - ph.historicalPrice AS priceIncrease,
ROUND(((p.currentPrice - ph.historicalPrice) / ph.historicalPrice) * 100, 1) AS percentIncrease
FROM [<database-name>].[<database-name>].[<container-name>] AS p -- Replace with your database and container name
CROSS APPLY OPENJSON(p.priceHistory) WITH (
priceDate datetime2,
historicalPrice float '$.price'
) AS ph
WHERE p.docType = 'product'
)
SELECT TOP 10
name,
categoryName,
currentPrice,
priceIncrease,
percentIncrease
FROM PriceChanges
WHERE priceIncrease > 0
ORDER BY percentIncrease DESC;
Bekijk de resultaten van de query in de queryeditor:
[
{
"name": "Resonova Elite360 Wireless ANC Headphones",
"categoryName": "Accessories, Premium Headphones",
"currentPrice": "523.66",
"priceIncrease": "224.66",
"percentIncrease": "75.1"
},
{
"name": "AuraLux VX Pro Leather Case",
"categoryName": "Accessories, Luxury Cases",
"currentPrice": "129.96",
"priceIncrease": "50.89",
"percentIncrease": "64.4"
},
// Ommitted for brevity
]