Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Microsoft Fabric veritabanındaki her Cosmos DB, açık kaynak Delta Lake biçiminde OneLake'e yansıtılır. Bu özellik ek yapılandırma veya kurulum gerektirmez ve veritabanı oluşturulduğunda otomatik olarak etkinleştirilir. Bu sıkı tümleştirme, ETL (Ayıklama, Dönüştürme, Yükleme) işlem hatları gereksinimini ortadan kaldırır ve Cosmos DB verilerinin her zaman analize hazır olmasını sağlar.
Bu otomatik yansıtma desteği, aşağıdakiler dahil ancak bunlarla sınırlı olmamak üzere senaryoları etkinleştirir:
- Transact SQL (T-SQL) sorgu dilini kullanan geçici sorgular
- Apache Spark ile tümleştirme
- Not defterlerini kullanarak gerçek zamanlı veriler üzerinde analiz
- Veri bilimi ve makine öğrenmesi iş akışları
Yansıtma durumu
Fabric portalında veritabanının çoğaltma bölümüne giderek çoğaltmanın durumunu kontrol edebilirsiniz. Bu bölüm, son eşitlemenin durumu da dahil olmak üzere çoğaltma hakkındaki meta verileri içerir.
SQL analytics uç noktası sorguları
SQL analiz uç noktası, T-SQL kullanarak yansıtılmış Cosmos DB verilerini doğrudan Doku portalında sorgulamanızı sağlar. NoSQL veri gezgini ile T-SQL SQL analiz uç noktası arasında istediğiniz zaman geçiş yapabilirsiniz.
Temel sorguları çalıştırma
Yansıtılmış verilerinizi sorgulamak için standart T-SQL söz dizimini kullanın. Aşağıdaki örnekte basit bir toplama sorgusu gösterilmektedir:
SELECT
categoryName,
COUNT(*) AS quantity
FROM
[<database-name>].[<database-name>].[<container-name>] -- Replace with your database and container name
GROUP BY
categoryName
Gelişmiş sorgularla örnek verileri analiz etme
Daha karmaşık analiz senaryoları için, birden çok ölçümü birleştiren ve gelişmiş T-SQL özelliklerini kullanan sorgular çalıştırabilirsiniz. Aşağıdaki örnek, ürün KPI'lerini hesaplamak ve kategoriler arasında içgörüleri gözden geçirmek için yerleşik örnek veri kümesini kullanır. Örnek veri kümesi hakkında daha fazla bilgi için bkz. Microsoft Fabric'te Cosmos DB'de örnek veri kümeleri.
-- 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;
Sorgu düzenleyicisinde sorgunun sonuçlarını gözlemleyin:
[
{
"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
]
OPENJSON ile iç içe JSON dizilerini sorgulama
OPENJSON belgelerinizde iç içe JSON dizilerini ayrıştırmak ve sorgulamak için işlevini kullanın. Aşağıdaki örnek, en büyük fiyat artışlarına sahip ürünleri belirlemek için diziyi priceHistory analiz ederek fiyatlandırma eğilimlerini izlemenize ve fiyatlandırma stratejinizi iyileştirmenize yardımcı olur.
-- 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;
Sorgu düzenleyicisinde sorgunun sonuçlarını gözlemleyin:
[
{
"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
]