Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Każda baza danych Cosmos DB w Microsoft Fabric jest odwzorowywana do OneLake w otwartym formacie Delta Lake. Ta funkcja nie wymaga dodatkowej konfiguracji ani konfiguracji i jest automatycznie włączana po utworzeniu bazy danych. Ta ścisła integracja eliminuje potrzebę potoków ETL (Wyodrębnianie, Przekształcanie, Ładowanie) i gwarantuje, że dane Cosmos DB są zawsze gotowe do analizy.
Ta automatyczna obsługa odbicia umożliwia scenariusze, takie jak, ale nie ograniczające się do:
- Zapytania ad hoc za pomocą języka zapytań Transact-SQL (T-SQL)
- Integracja z platformą Apache Spark
- Analiza danych w czasie rzeczywistym przy użyciu notebooków
- Przepływy pracy nauki o danych i uczenia maszynowego
Stan mirroringu
Stan replikacji można sprawdzić, przechodząc do sekcji replikacji bazy danych w portalu sieci szkieletowej. Ta sekcja zawiera metadane dotyczące replikacji, w tym stan ostatniej synchronizacji.
Zapytania punktu końcowego analizy SQL
Punkt końcowy analityki SQL umożliwia wykonywanie zapytań dotyczących replikowanych danych Cosmos DB bezpośrednio w portalu Fabric, przy użyciu języka T-SQL. W dowolnym momencie możesz przełączać się między eksploratorem danych NoSQL a punktem końcowym analizy języka T-SQL SQL.
Uruchamianie podstawowych zapytań
Użyj standardowej składni języka T-SQL, aby wykonywać zapytania dotyczące danych dublowanych. W poniższym przykładzie przedstawiono proste zapytanie agregacji:
SELECT
categoryName,
COUNT(*) AS quantity
FROM
[<database-name>].[<database-name>].[<container-name>] -- Replace with your database and container name
GROUP BY
categoryName
Analizowanie przykładowych danych za pomocą zaawansowanych zapytań
W przypadku bardziej złożonych scenariuszy analitycznych można uruchamiać zapytania łączące wiele metryk i korzystać z zaawansowanych funkcji języka T-SQL. W poniższym przykładzie użyto wbudowanego zestawu danych przykładowych, aby obliczyć wskaźniki KPI produktu i przejrzeć szczegółowe informacje w różnych kategoriach. Aby uzyskać więcej informacji na temat przykładowego zestawu danych, zobacz Przykładowe zestawy danych w usłudze Cosmos DB w usłudze 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;
Obserwuj wyniki zapytania w edytorze zapytań:
[
{
"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
]
Zapytanie zagnieżdżonych tablic JSON za pomocą funkcji OPENJSON
Użyj funkcji OPENJSON do analizowania i wykonywania zapytań na zagnieżdżonych tablicach JSON w dokumentach. W poniższym przykładzie pokazano, jak analizować tablicę w priceHistory celu identyfikowania produktów o największych wzrostach cen, pomagając śledzić trendy cenowe i optymalizować strategię cenową.
-- 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;
Obserwuj wyniki zapytania w edytorze zapytań:
[
{
"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
]