Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
I denne hurtige introduktion kan du bruge Jupyter Notebook i Visual Studio Code til hurtigt at udlede forretningsindsigt. Du bruger driveren mssql-python til Python til at oprette forbindelse til din SQL-database i Fabric og læse de data, der derefter formateres til brug i e-mails, rapporter, præsentationer osv.
Driveren mssql-python kræver ingen eksterne afhængigheder på Windows-maskiner. Driveren installerer alt, hvad den har brug for, med en enkelt pip installation, så du kan bruge den nyeste version af driveren til nye scripts uden at bryde andre scripts, som du ikke har tid til at opgradere og teste.
mssql-python dokumentation | mssql-python kildekode | Pakke (PyPi) | Visual Studio-kode
Forudsætninger
Python 3
Hvis du ikke allerede har Python, så installer Python runtime og pip package manager fra python.org.
Vil du ikke bruge dit eget miljø? Åbn som en devcontainer ved hjælp af GitHub Codespaces.
Visual Studio Code med følgende udvidelser:
Azure Command-Line Interface (CLI) - Anbefales til macOS- og Linux-autentificering.
Hvis du ikke allerede har
uv, skal du installereuvved at følge instruktionerne fra https://docs.astral.sh/uv/getting-started/installation/.Installer engangsoperativsystemspecifikke forudsætninger.
Opret projektet, og kør koden
- Opret et nyt projekt
- Tilføj afhængigheder
- Start Visual Studio Code
- Opdater pyproject.toml
- Gem forbindelsesstrengen
- Opret en Jupyter Notebook
- Vise resultater i en tabel
- Vise resultater i et diagram
Opret et nyt projekt
Åbn en kommandoprompt i din udviklingsmappe. Hvis du ikke har en, skal du oprette en ny mappe kaldet
python,scriptsosv. Undgå mapper på dit OneDrive, synkroniseringen kan forstyrre administrationen af dit virtuelle miljø.Opret et nyt projekt med
uv.uv init jupyter-notebook-qs cd jupyter-notebook-qs
Tilføj afhængigheder
I samme mappe skal du installere pakkerne mssql-python, python-dotenv, richpandas, og matplotlib . Tilføj derefter ipykernel og uv som udviklerafhængigheder. VS Code kræver ipykernel og uv tilføjes for at kunne interagere med uv fra dine notebook-celler ved hjælp af kommandoer som !uv add mssql_python.
uv add mssql_python dotenv rich pandas matplotlib
uv add --dev ipykernel
uv add --dev uv
Start Visual Studio Code
Kør følgende kommando i samme mappe.
code .
Opdater pyproject.toml
pyproject.toml indeholder metadataene for dit projekt.
Opdater beskrivelsen, så den er mere beskrivende.
description = "A quick example using the mssql-python driver and Jupyter Notebooks."Gem og luk filen.
Gem forbindelsesstrengen
Åbn filen,
.gitignoreog tilføj en udeladelse for.envfiler. Din fil skal ligne dette eksempel. Sørg for at gemme og lukke den, når du er færdig.# Python-generated files __pycache__/ *.py[oc] build/ dist/ wheels/ *.egg-info # Virtual environments .venv # Connection strings and secrets .envI den aktuelle mappe skal du oprette en ny fil med navnet
.env.Tilføj
.enven post for din forbindelsesstreng med navnetSQL_CONNECTION_STRING. Erstat eksemplet her med din faktiske forbindelsesstrengværdi.SQL_CONNECTION_STRING="Server=<server_name>;Database={<database_name>};Encrypt=yes;TrustServerCertificate=no;Authentication=ActiveDirectoryDefault"Tips
For SQL-database i Fabric skal du bruge ODBC-forbindelsesstrengen fra fanen Forbindelsesstrenge uden DRIVER-oplysningerne .
Opret en Jupyter Notebook
Vælg Filer, derefter Ny fil og Jupyter Notebook på listen. En ny notesbog åbnes.
Vælg Filer, derefter Gem som..., og giv din nye notesbog et navn.
Tilføj følgende importer i den første celle.
from os import getenv from mssql_python import connect from dotenv import load_dotenv from rich.console import Console from rich.table import Table import pandas as pd import matplotlib.pyplot as pltBrug knappen + Markdown øverst i notesbogen til at tilføje en ny markdown-celle.
Føj følgende tekst til den nye markdown-celle.
## Define queries for use laterMarkér fluebenet på celleværktøjslinjen, eller brug tastaturgenvejene
Ctrl+EnterellerShift+Entertil at gengive markdown-cellen.Brug knappen + Kode øverst i notesbogen til at tilføje en ny kodecelle.
Føj følgende kode til den nye kodecelle.
SQL_QUERY_ORDERS_BY_CUSTOMER = """ SELECT TOP 5 c.CustomerID, c.CompanyName, COUNT(soh.SalesOrderID) AS OrderCount FROM SalesLT.Customer AS c LEFT OUTER JOIN SalesLT.SalesOrderHeader AS soh ON c.CustomerID = soh.CustomerID GROUP BY c.CustomerID, c.CompanyName ORDER BY OrderCount DESC; """ SQL_QUERY_SPEND_BY_CATEGORY = """ select top 10 pc.Name as ProductCategory, SUM(sod.OrderQty * sod.UnitPrice) as Spend from SalesLT.SalesOrderDetail sod inner join SalesLT.SalesOrderHeader soh on sod.salesorderid = soh.salesorderid inner join SalesLT.Product p on sod.productid = p.productid inner join SalesLT.ProductCategory pc on p.ProductCategoryID = pc.ProductCategoryID GROUP BY pc.Name ORDER BY Spend; """
Vise resultater i en tabel
Brug knappen + Markdown øverst i notesbogen til at tilføje en ny markdown-celle.
Føj følgende tekst til den nye markdown-celle.
## Print orders by customer and display in a tableMarkér fluebenet på celleværktøjslinjen, eller brug tastaturgenvejene
Ctrl+EnterellerShift+Entertil at gengive markdown-cellen.Brug knappen + Kode øverst i notesbogen til at tilføje en ny kodecelle.
Føj følgende kode til den nye kodecelle.
load_dotenv() with connect(getenv("SQL_CONNECTION_STRING")) as conn: # type: ignore with conn.cursor() as cursor: cursor.execute(SQL_QUERY_ORDERS_BY_CUSTOMER) if cursor: table = Table(title="Orders by Customer") # https://rich.readthedocs.io/en/stable/appendix/colors.html table.add_column("Customer ID", style="bright_blue", justify="center") table.add_column("Company Name", style="bright_white", justify="left") table.add_column("Order Count", style="bold green", justify="right") records = cursor.fetchall() for r in records: table.add_row(f"{r.CustomerID}", f"{r.CompanyName}", f"{r.OrderCount}") Console().print(table)
Tips
På macOS fungerer begge ActiveDirectoryInteractive til ActiveDirectoryDefault Microsoft Entra-autentificering.
ActiveDirectoryInteractive opfordrer dig til at logge ind hver gang, du kører scriptet. For at undgå gentagne login-prompts, log ind én gang via Azure CLI ved at køre az login, og brug ActiveDirectoryDefaultderefter , som genbruger den cachede legitimationsoplysninger.
Brug knappen Kør alle øverst i notesbogen til at køre notesbogen.
Vælg jupyter-notebook-qs-kernen , når du bliver bedt om det.
Vise resultater i et diagram
Gennemse outputtet af den sidste celle. Du bør se en tabel med tre kolonner og fem rækker.
Brug knappen + Markdown øverst i notesbogen til at tilføje en ny markdown-celle.
Føj følgende tekst til den nye markdown-celle.
## Display spend by category in a horizontal bar chartMarkér fluebenet på celleværktøjslinjen, eller brug tastaturgenvejene
Ctrl+EnterellerShift+Entertil at gengive markdown-cellen.Brug knappen + Kode øverst i notesbogen til at tilføje en ny kodecelle.
Føj følgende kode til den nye kodecelle.
with connect(getenv("SQL_CONNECTION_STRING")) as conn: # type: ignore data = pd.read_sql_query(SQL_QUERY_SPEND_BY_CATEGORY, conn) # Set the style - use print(plt.style.available) to see all options plt.style.use('seaborn-v0_8-notebook') plt.barh(data['ProductCategory'], data['Spend'])Brug knappen Udfør celle eller
Ctrl+Alt+Entertil at køre cellen.Gennemse resultaterne. Gør denne notesbog til din egen.
Næste trin
Besøg driverens mssql-python GitHub-lager for at få flere eksempler for at bidrage med ideer eller rapportere problemer.