Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
I denne hurtigstarten bruker du Jupyter Notebook i Visual Studio Code til raskt å utlede forretningsinnsikt. Du bruker driveren mssql-python for Python til å koble til SQL-databasen din i Fabric og lese dataene som deretter formateres for bruk i e-poster, rapporter, presentasjoner osv.
Driveren mssql-python krever ingen eksterne avhengigheter på Windows-maskiner. Driveren installerer alt den trenger med en enkelt pip installasjon, slik at du kan bruke den nyeste versjonen av driveren for nye skript uten å bryte andre skript som du ikke har tid til å oppgradere og teste.
mssql-python-dokumentasjon | mssql-python kildekode | Pakke (PyPi) | Visual Studio-kode
Forutsetninger
Python 3
Hvis du ikke allerede har Python, installer Python runtime og pip package manager fra python.org.
Vil du ikke bruke ditt eget miljø? Åpne som en devcontainer ved hjelp av GitHub Codespaces.
Visual Studio Code med følgende utvidelser:
Azure Command-Line Interface (CLI) – Anbefales for autentisering på macOS og Linux.
Hvis du ikke allerede har
uv, installeruvved å følge instruksjonene fra https://docs.astral.sh/uv/getting-started/installation/.Installer engangsoperativsystemspesifikke forutsetninger.
Opprett prosjektet og kjør koden
- Opprette et nytt prosjekt
- Legge til avhengigheter
- Start Visual Studio Code
- Oppdater pyproject.toml
- Lagre tilkoblingsstrengen
- Opprette en Jupyter-notatblokk
- Vise resultater i en tabell
- Vise resultater i et diagram
Opprette et nytt prosjekt
Åpne en ledetekst i utviklingskatalogen. Hvis du ikke har en, opprett en ny katalog kalt
python,scripts, etc. Unngå mapper på OneDrive, synkroniseringen kan forstyrre administrasjonen av det virtuelle miljøet ditt.Opprett et nytt prosjekt med
uv.uv init jupyter-notebook-qs cd jupyter-notebook-qs
Legge til avhengigheter
I samme katalog installerer du pakkene mssql-python, python-dotenv, richpandas, , og matplotlib . Deretter legger du til ipykernel og uv som utvikleravhengigheter. VS Code krever ipykernel og uv legges til for å kunne samhandle med uv fra notatblokkcellene ved hjelp av 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
Kjør følgende kommando i samme katalog.
code .
Oppdater pyproject.toml
pyproject.toml inneholder metadataene for prosjektet ditt.
Oppdater beskrivelsen slik at den blir mer beskrivende.
description = "A quick example using the mssql-python driver and Jupyter Notebooks."Lagre og lukk filen.
Lagre tilkoblingsstrengen
Åpne
.gitignorefilen og legg til en ekskludering for.envfiler. Filen din skal ligne på dette eksemplet. Sørg for å lagre og lukke den når du er ferdig.# Python-generated files __pycache__/ *.py[oc] build/ dist/ wheels/ *.egg-info # Virtual environments .venv # Connection strings and secrets .envI gjeldende katalog oppretter du en ny fil med navnet
.env.I
.envfilen legger du til en oppføring for tilkoblingsstrengen med navnetSQL_CONNECTION_STRING. Erstatt eksemplet her med den faktiske tilkoblingsstrengverdien.SQL_CONNECTION_STRING="Server=<server_name>;Database={<database_name>};Encrypt=yes;TrustServerCertificate=no;Authentication=ActiveDirectoryDefault"Tips
For SQL-database i Fabric bruker du ODBC-tilkoblingsstrengen fra kategorien tilkoblingsstrenger uten DRIVER-informasjonen .
Opprette en Jupyter-notatblokk
Velg Fil, deretter Ny fil og Jupyter Notebook fra listen. En ny notatblokk åpnes.
Velg Fil, deretter Lagre som..., og gi den nye notatblokken et navn.
Legg til følgende importer i den første cellen.
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 pltBruk + Markdown-knappen øverst i notatblokken til å legge til en ny markdown-celle.
Legg til følgende tekst i den nye markdown-cellen.
## Define queries for use laterMerk merket på celleverktøylinjen, eller bruk hurtigtastene
Ctrl+EnterellerShift+Entertil å gjengi markdown-cellen.Bruk + Kode-knappen øverst i notatblokken til å legge til en ny kodecelle.
Legg til følgende kode i den nye kodecellen.
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 tabell
Bruk + Markdown-knappen øverst i notatblokken til å legge til en ny markdown-celle.
Legg til følgende tekst i den nye markdown-cellen.
## Print orders by customer and display in a tableMerk merket på celleverktøylinjen, eller bruk hurtigtastene
Ctrl+EnterellerShift+Entertil å gjengi markdown-cellen.Bruk + Kode-knappen øverst i notatblokken til å legge til en ny kodecelle.
Legg til følgende kode i den nye kodecellen.
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 for ActiveDirectoryDefault Microsoft Entra-autentisering.
ActiveDirectoryInteractive Ber deg logge inn hver gang du kjører skriptet. For å unngå gjentatte påloggingsmeldinger, logg inn én gang via Azure CLI ved å kjøre az login, og bruk ActiveDirectoryDefaultderetter , som gjenbruker den bufrede legitimasjonen.
Bruk Kjør alle-knappen øverst i notatblokken til å kjøre notatblokken.
Velg jupyter-notebook-qs-kjernen når du blir bedt om det.
Vise resultater i et diagram
Se gjennom utdataene fra den siste cellen. Du skal se en tabell med tre kolonner og fem rader.
Bruk + Markdown-knappen øverst i notatblokken til å legge til en ny markdown-celle.
Legg til følgende tekst i den nye markdown-cellen.
## Display spend by category in a horizontal bar chartMerk merket på celleverktøylinjen, eller bruk hurtigtastene
Ctrl+EnterellerShift+Entertil å gjengi markdown-cellen.Bruk + Kode-knappen øverst i notatblokken til å legge til en ny kodecelle.
Legg til følgende kode i den nye kodecellen.
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'])Bruk Utfør celle-knappen eller
Ctrl+Alt+Entertil å kjøre cellen.Se gjennom resultatene. Gjør denne notatboken til din egen.
Neste trinn
Gå til GitHub-repositoriet for driveren mssql-python for flere eksempler, for å bidra med ideer eller rapportere problemer.