Analyse intégrée
Connecter DuckDB vers Excel, Google Sheets, l'IA et REST
Base de données analytique intégrée pour les charges de travail OLAP — fichiers locaux, partages réseau ou en mémoire. Query Streams utilise également DuckDB (famille File Set) pour figer les schémas de dossiers.
Une seule connexion, chaque surface
Où vos données DuckDB peuvent être stockées
- 1 connexion sortante
- 0 ports d'entrée
- lecture seule · les identifiants restent stockés
fonctionne sur
- Pour votre équipe, vos fournisseurs et vos partenaires
-
Excel module complémentaire · actualisation à la demande
-
Google Sheets module complémentaire · actualisation à la demande
-
Nova AI Poser une question en langage clair · Conversion de texte en SQL
-
Visionneuse de données partagez les résultats en direct · équipe, fournisseurs, partenaires · sur n'importe quel appareil
- Pour les applications et les systèmes
-
API REST Point de terminaison JSON · OpenAPI 3.1
-
Power BI Power Query M
-
Synchronisations planifiées Google Sheets · Airtable · Baserow · SeaTable · Smartsheet · Anvil
- Pour les outils d'IA
-
assistants IA Claude · Curseur · Serveur MCP
- Livré aux personnes
-
Alertes et rapports Slack · Discord · Courriel · Webhook
Query Streams lit un fichier DuckDB comme du SQL en temps réel — depuis Microsoft Excel, Google Sheets, Power BI, les assistants IA via MCP et une API REST — sans serveur ni autre chargement. Le moteur étant intégré à l'agent, le fichier .duckdb sur le disque fait office de base de données. Votre SQL est transmis à DuckDB tel quel, ce qui garantit le bon fonctionnement des fonctionnalités essentielles de DuckDB — GROUP BY ALL, QUALIFY, SELECT * EXCLUDE, accès aux listes et structures — sans aucune simplification excessive.
- Pour votre équipe, vos fournisseurs et vos partenaires
-
DuckDB vers Excel Microsoft Excel · Complément Excel
Importez directement les résultats DuckDB en direct dans une feuille de calcul et actualisez-les à la demande — Excel de bureau, Excel Online, Microsoft 365.
Guide DuckDB -
Commentaire sur « Anvil.works Snowflake Integration – Sync Live Database Data Automatically » Module complémentaire Sheets
Exécutez une requête DuckDB enregistrée depuis la barre latérale et glissez-déposez les lignes dans la feuille. Les collaborateurs peuvent ensuite la mettre à jour eux-mêmes.
Guide DuckDB -
Demandez à Nova à propos de DuckDB Nova AI · Texte vers SQL
Posez votre question en langage clair. Nova connaît déjà vos tables DuckDB, rédige et exécute la requête SQL, explique la réponse et la représente graphiquement — aucune requête à écrire, aucune information d’identification à fournir.
Comment fonctionne Nova -
DuckDB vers Data Viewer Partage des résultats · équipe, fournisseurs, partenaires · téléphone, tablette, ordinateur
Partagez un résultat DuckDB en direct avec qui vous voulez (un collègue, un fournisseur, un partenaire) sous forme de grille que vous pouvez ajouter à vos favoris et qui se met à jour automatiquement à chaque ouverture, sur un téléphone, une tablette ou un ordinateur. Ils voient les résultats, jamais le code SQL ni les identifiants.
Fonctionnement du visualiseur de données - Pour les applications et les systèmes
-
API REST DuckDB point de terminaison HTTP
Publiez une requête DuckDB sous forme de point de terminaison JSON authentifié, accessible à toute application, avec une spécification OpenAPI 3.1 et des collections Postman, Insomnia et Hoppscotch prêtes à l'emploi. Aucun port de base de données n'est ouvert.
Guide DuckDB -
DuckDB vers Power BI Power Query M
Collez le code Power Query M généré dans l'éditeur avancé de Power BI et le rapport lira les résultats DuckDB en direct via HTTPS — sans pilote ODBC, sans port de base de données ouvert.
Comment fonctionne Power BI -
DuckDB vers Airtable Plateforme d'automatisation
Synchronisez les lignes de DuckDB avec une base Airtable selon une planification définie, ou récupérez-les dans un script d'automatisation Airtable.
Guide DuckDB -
DuckDB vers Baserow Plateforme d'automatisation
Alimentez une table Baserow à partir de DuckDB via le point de terminaison REST — auto-hébergé ou cloud Baserow.
Guide DuckDB -
DuckDB vers SeaTable Plateforme d'automatisation
Maintenez une base SeaTable à jour avec les données DuckDB sans exporter de fichier ni exposer la base de données.
Guide DuckDB -
DuckDB vers Smartsheet Plateforme d'automatisation
Intégrez les résultats de DuckDB dans une grille Smartsheet afin que les plans et les rapports soient lus à partir du système source et non de l'exportation de la semaine précédente.
Guide DuckDB -
DuckDB vers Anvil Anvil Works · Plateforme d'applications
Utilisez DuckDB pour alimenter une application Anvil Python via le point de terminaison REST au lieu d'intégrer les identifiants de base de données dans l'application.
Guide DuckDB - Pour les outils d'IA
-
Serveur DuckDB MCP Claude, clients de Cursor et MCP
Donnez à un assistant IA un accès en lecture seule à DuckDB avec le schéma dont il a besoin pour écrire du SQL correct — aucune information d'identification dans la conversation.
Guide DuckDB - Livré aux personnes
-
Alertes et rapports DuckDB Slack · Discord · Courriel · Webhook
Programmez une requête DuckDB et faites en sorte que les lignes soient envoyées à Slack, Discord, par e-mail ou via un webhook signé — ou conservez le message jusqu'à ce qu'un nombre de lignes, un seuil ou un pourcentage de variation dépasse la limite que vous avez définie.
Fonctionnement des alertes et des rapports
Comment ça marche
5 étapes, aucune modification du pare-feu entrant
Installez l'agent réseau sur la machine hébergeant le fichier. Aucun serveur DuckDB n'est à configurer ni aucun port à ouvrir : le moteur est intégré à l'agent.
Indiquez-lui l'emplacement d'un fichier .duckdb, .db ou .ddb, sur le disque local ou sur un partage accessible par la machine.
L'agent lit les tables et les vues du fichier et enregistre les types de colonnes, de sorte que le générateur de requêtes et Nova connaissent la structure avant même que vous n'écriviez quoi que ce soit.
Saisissez votre requête SQL DuckDB ou décrivez-la et laissez Nova la générer. Aucune traduction n'est effectuée lors du traitement.
Lisez la requête enregistrée depuis Microsoft Excel, Google Sheets, Power BI, MCP ou REST, et associez-la à vos autres connexions si nécessaire.
Analyse approfondie des fonctionnalités
Ce que DuckDB vous offre
Un moteur d'analyse qui se trouve être un fichier
DuckDB est une base de données en colonnes et vectorisée, ce qui signifie techniquement qu'elle agrège des millions de lignes sur un ordinateur portable sans problème. C'est ce qui en fait un outil aussi original qu'utile à utiliser comme base de données dans un tableur.
- Pas de serveur, pas de service, pas de port. Le fichier fait office de base de données, et le moteur s'exécute au sein de l'agent qui le lit.
- L'agrégation a lieu dans DuckDB, sur la machine hébergeant le fichier. Ce qui transite sur le réseau, c'est le résultat. — généralement quelques centaines de lignes sur quelques centaines de millions.
- Il s'agit de l'aboutissement naturel d'un pipeline de données : quelqu'un crée un fichier .duckdb à partir de Parquet ou de CSV, et c'est ainsi que le reste de l'entreprise le lit sans intervention d'un entrepôt de données.
- Les vues et les tableaux sont tous deux répertoriés ; un fichier dont la surface utile est un ensemble de vues organisées peut donc être interrogé en tant que tel, et non en tant que tableau brut.
Votre requête SQL DuckDB, transmise sans modification
L'agent ne comporte aucune couche de traduction. L'instruction que vous enregistrez est celle que DuckDB reçoit ; ainsi, les spécificités du dialecte sont préservées et non approximées.
- Les fonctions GROUP BY ALL et ORDER BY ALL permettent d'éliminer la plupart des aspects fastidieux d'une requête analytique.
- SELECT * EXCLUDE (col) et SELECT * REPLACE (...), pour lorsque vous voulez tout sauf la colonne dont personne n'a besoin.
- QUALIFY permet de filtrer une fonction de fenêtre sans avoir à l'encapsuler entièrement dans une sous-requête.
- Fonctions de fenêtrage complètes, CTE et compréhensions de listes — Le dialecte de DuckDB, et non un sous-ensemble portable de celui-ci.
-- Requête SQL DuckDB, exécutée telle quelle sur le moteur : SELECT * EXCLUDE (internal_id) FROM ( SELECT region, product, sum(amount) AS revenue, internal_id, row_number() OVER (PARTITION BY region ORDER BY sum(amount) DESC) AS rk FROM sales GROUP BY ALL ) QUALIFY rk <= 3 ORDER BY region, revenue DESC
Les colonnes imbriquées arrivent au format JSON
DuckDB possède un système de types plus riche qu'une cellule de feuille de calcul ; il est donc important de savoir ce qui correspond à où avant de créer un rapport.
- Les colonnes STRUCT, LIST, MAP et UNION sont renvoyées sous forme de texte JSON — lisible, analysable et non tronqué silencieusement en quelque chose d'erroné.
- Les colonnes BLOB sont encodées en base64 au lieu d'être supprimées.
- Les dates, les horodatages, les horodatages avec fuseau horaire et les nombres décimaux sont conservés tels quels ; les nombres restent donc des nombres et vous conservez la maîtrise de l’arrondi.
- Tout ce que le chauffeur ne peut véritablement pas représenter est indiqué comme tel dans la cellule au lieu d'apparaître comme une case vide que vous devriez remarquer.
Partagé par tous les connecteurs de base de données
C'est valable pour tous les connecteurs de base de données.
- Sortant uniquement L'agent ouvre une connexion chiffrée vers Query Streams. Aucun port entrant à rediriger, aucun VPN, aucune liste blanche d'adresses IP : votre base de données n'est en aucun cas exposée sur Internet.
- Les identifiants restent en place — Le nom d'utilisateur et le mot de passe de la base de données sont stockés sur la machine où l'agent est installé. Query Streams ne les reçoit jamais et ne peut pas accéder à votre base de données par lui-même.
- Lecture seule, obligatoire — une seule instruction à la fois, SELECT et les instructions associées uniquement. Une tentative d'écriture est bloquée sur votre machine avant même d'être envoyée au serveur, sans dépendre d'une autorisation préalablement définie par un tiers.
- Déployez autant d'agents que vous le souhaitez — un par site, région ou cloud. Toutes les sources de données visibles apparaissent dans un menu déroulant unique ; il est donc inutile de savoir quel agent héberge quoi.
Voici ce que vous obtenez une fois qu'une requête est enregistrée.
- Partagez les compétences, pas le SQL. — un collègue ou un partenaire externe peut exécuter votre requête et modifier ses filtres sans jamais voir la requête sous-jacente.
- Filtres provenant des deux directions — Déclarez-les vous-même comme @variables, ou laissez le connecteur repérer les valeurs littérales déjà présentes dans votre clause WHERE et les proposer sous forme de listes déroulantes.
- Lisez-le depuis n'importe où — Microsoft Excel, Google Sheets, Power BI, l'API REST, les assistants IA via MCP, le générateur de requêtes et Nova lisent tous la même requête enregistrée.
- Exécutez-en plusieurs simultanément — cinq requêtes enregistrées dans cinq onglets de feuille de calcul, diffusées simultanément, quelle que soit la taille des résultats.
- Connectez-le à tout autre élément que vous avez connecté. — une autre base de données, une API métier ou un dossier de fichiers, dans une seule instruction en lecture seule.
SQL inter-sources
Connectez DuckDB au reste de vos données
Une seule requête peut traiter simultanément DuckDB et vos autres connexions. Chaque source exécute uniquement la partie qu'elle peut traiter, renvoie le résultat, et la jointure est effectuée de manière centralisée ; les sources ne communiquent jamais entre elles et aucune donnée n'est copiée.
3 connexions · 3 agents
Une déclaration
-- rien copié, rien fusionné, rien programmé
SELECTIONNER c.region, COUNT(*) AS commandes, SUM(i.montant_dû) AS facturé
DE l'analyse.principales.commandes1 f
JOINDRE pg_crm.public.clients2 c ON c.id = f.customer_id
JOINDRE facturation.stripe.factures3 i ON i.customer = c.stripe_id
GROUPE PAR région c.
ORDER BY facturé DESC;
Les trois éléments sont la connexion, le schéma et la table ; le nom de la connexion est celui que vous lui avez donné. Les colonnes sont données à titre d'exemple ; vos tables seront les vôtres. Chaque élément est en lecture seule : seules les instructions SELECT, WITH et EXPLAIN sont autorisées, avec une limite quant aux données qu'une source peut transmettre pour une requête donnée. Fonctionnement des requêtes fédérées
Détails de connexion
Ce dont DuckDB a besoin
- Ce que vous désignez
- Un fichier .duckdb, .db ou .ddb sur la machine sur laquelle l'agent s'exécute
- Chemin
- Un chemin local, ou un partage UNC accessible par la machine — le disque local est plus rapide
- Moteur
- DuckDB 1.4.4, intégré à l'agent. Aucune installation, aucun démarrage ni aucune action requise.
- Ports
- Aucun. Il n'y a pas de serveur DuckDB accessible, donc rien à ouvrir.
- Objets
- Tables et vues dans le fichier
- dialecte SQL
- Le SQL de DuckDB est transmis au moteur tel que vous l'avez écrit, sans couche de traduction.
- Lecture seule
- Vérifié avant l'exécution de l'instruction — SELECT, WITH et fonctions apparentées uniquement
- Types imbriqués
- Les types STRUCT, LIST, MAP et UNION sont renvoyés sous forme de texte JSON ; les BLOB sous forme de base64.
- Schéma
- Le schéma par défaut de DuckDB est main, qui est celui qu'une référence fédérée contient
DuckDB intervient généralement en fin de chaîne de traitement plutôt qu'en début. On crée un fichier à partir d'exports Parquet ou d'un ensemble de fichiers CSV, on le met au format requis, puis on découvre que les personnes qui ont besoin de la réponse utilisent Microsoft Excel. L'étape suivante consiste généralement à mettre en place un entrepôt de données pour un fichier déjà stocké sur un disque. Ce connecteur offre une alternative : laisser le fichier à son emplacement d'origine et permettre au tableur de le lire.
Le mappage des types est un point crucial à prendre en compte. Une structure (STRUCT) ou une liste (LIST) représente des données DuckDB réelles, sans équivalent dans un tableur ; elles sont donc interprétées comme du texte JSON, ce qui est correct et analysable, mais ne permet pas d'effectuer une somme numérique. Si une colonne imbriquée est essentielle à un rapport, il est préférable de la désimbriquer dans la requête plutôt que dans la destination, où DuckDB peut le faire correctement et à moindre coût.
Pour une requête inter-sources, le schéma par défaut de DuckDB est « main ». Ainsi, une connexion nommée « analytics » lisant un fichier d'entrepôt de données est écrite sous le nom « analytics.main.sales ». C'est là que cela devient intéressant : un fichier analytique contenant l'historique est joint en une seule requête à la base de données opérationnelle et à l'API de facturation, qui sont toujours en cours d'exécution.
Documentation du fournisseur : duckdb.org
FAQ
Questions concernant DuckDB
Quels outils peuvent lire les données DuckDB via des flux de requêtes ?
Tous ces outils, depuis une seule connexion : Excel, Google Sheets, MCP, API REST, Airtable, Baserow, SeaTable, Smartsheet, Anvil, Power BI, alertes et rapports programmés. Connectez la base de données une seule fois et tous les systèmes accèdent à la même connexion en lecture seule ; aucune configuration n’est requise pour chaque outil et aucune copie supplémentaire des données n’est nécessaire.
Dois-je ouvrir un port de pare-feu pour ma base de données DuckDB ?
Non. L'agent réseau Query Streams s'exécute au sein de votre réseau et ouvre une seule connexion sortante chiffrée. Aucun trafic entrant n'est intercepté, aucun VPN n'est requis et la base de données conserve ses règles de pare-feu existantes.
Les flux de requêtes peuvent-ils modifier les données dans DuckDB ?
Non. L'agent impose un accès en lecture seule lors de l'exécution : une seule instruction à la fois, uniquement SELECT et les instructions associées. Les informations d'identification restent sur l'agent et ne sont jamais envoyées aux flux de requêtes.
De quoi Query Streams a-t-il besoin pour se connecter à DuckDB ?
Un hôte accessible, un rôle et son mot de passe : l’agent intègre le pilote, aucune installation n’est donc requise sur la base de données. Éléments à spécifier : un fichier .duckdb, .db ou .ddb sur la machine exécutant l’agent. Chemin d’accès : un chemin local ou un partage UNC accessible par la machine (le disque local est plus rapide). Moteur : DuckDB 1.4.4, intégré à l’agent. Aucune installation, aucun démarrage ni aucune maintenance requis. Ports : aucun. Aucun serveur DuckDB n’est accessible, aucun port n’est donc à ouvrir.
Est-il possible de joindre DuckDB à une autre base de données dans la même requête ?
Oui, il s'agit bien d'une requête fédérée. Une seule instruction peut référencer DuckDB et vos autres connexions simultanément, sous la forme `connection.schema.table`. Chaque source exécute uniquement la partie qu'elle peut traiter et renvoie le résultat. La jointure est centralisée, ce qui évite toute connexion entre les sources et empêche toute copie ou planification. L'accès en lecture seule s'applique à chaque élément (SELECT, WITH et EXPLAIN uniquement), et la quantité de données qu'une source peut transmettre pour une requête donnée est limitée. Les requêtes fédérées sont incluses dans votre abonnement ; la page dédiée affiche les limites actuelles de la source et de la taille des données.
Installez DuckDB là où le travail se déroule.
Installez l'agent, configurez-le pour qu'il pointe vers votre base de données et choisissez une destination.
Lecture seule Sortant uniquement Les identifiants restent sur l'agent

