Data Analysis
Générer des tableaux croisés dynamiques interactifs à partir de données CSV/JSON avec configuration personnalisable des champs de lignes, colonnes et valeurs
Appelez cet outil depuis votre code en trois langages.
curl -X POST 'https://api.elysiatools.com/fr/api/tools/pivot-table-generator' \
-H 'Content-Type: application/json' \
-d '{"inputData":"Saisissez vos données CSV ou JSON...\n\nExemple CSV:\nRégion,Produit,Ventes,Quantité,Date\nNord,Widget A,1000,50,2024-01-15\nSud,Widget B,1500,75,2024-01-16\nNord,Widget A,1200,60,2024-01-17\n\nExemple JSON:\n[\n {\"Région\": \"Nord\", \"Produit\": \"Widget A\", \"Ventes\": 1000, \"Quantité\": 50},\n {\"Région\": \"Sud\", \"Produit\": \"Widget B\", \"Ventes\": 1500, \"Quantité\": 75}\n]","dataFormat":"csv","rowFields":"Noms de champ séparés par des virgules (ex: Région, Catégorie)","columnFields":"Noms de champ séparés par des virgules (ex: Produit, Mois)","valueFields":"Noms de champ séparés par des virgules (ex: Ventes, Quantité)","aggregateFunction":"sum","filterConditions":"Saisissez les conditions de filtre (une par ligne):\nRégion = Nord\nVentes > 1000\nProduit != Widget C","includeGrandTotals":true,"includePercentages":false,"maxRows":"100","maxColumns":"20"}'Envoyez une requête POST avec vos entrées en JSON. Les paramètres de type fichier nécessitent un upload préalable.
POST https://api.elysiatools.com/fr/api/tools/pivot-table-generator| Nom | Type | Requis | Description |
|---|---|---|---|
| inputData | textarea | Oui | — |
| dataFormat | select | Oui | — |
| rowFields | text | Non | Champs à utiliser comme lignes dans le tableau croisé dynamique. Si vide, utilisera le premier champ non numérique. |
| columnFields | text | Non | Champs à utiliser comme colonnes dans le tableau croisé dynamique. Si vide, utilisera les champs restants. |
| valueFields | text | Non | Champs numériques à agréger. Si vide, détectera automatiquement les champs numériques. |
| aggregateFunction | select | Oui | — |
| filterConditions | textarea | Non | Filtres optionnels à appliquer avant de générer le tableau croisé dynamique. Format: Champ opérateur valeur |
| includeGrandTotals | checkbox | Non | Ajouter des lignes et colonnes de totaux généraux au tableau croisé dynamique |
| includePercentages | checkbox | Non | Afficher les pourcentages à côté des valeurs |
| maxRows | number | Non | Nombre maximum de lignes à afficher dans le tableau croisé dynamique |
| maxColumns | number | Non | Nombre maximum de colonnes à afficher dans le tableau croisé dynamique |
Résultat texte
{
"result": "Processed text content",
"error": "Error message (optional)",
"message": "Notification message (optional)",
"metadata": {
"key": "value"
}
}Ajoutez cet outil à votre serveur Model Context Protocol pour que les agents IA puissent le lister et l'appeler.
Ajoutez ce bloc à la configuration de votre client MCP :
{
"mcpServers": {
"elysiatools-pivot-table-generator": {
"name": "pivot-table-generator",
"description": "Générer des tableaux croisés dynamiques interactifs à partir de données CSV/JSON avec configuration personnalisable des champs de lignes, colonnes et valeurs",
"baseUrl": "https://api.elysiatools.com/mcp/sse?toolId=pivot-table-generator",
"command": "",
"args": [],
"env": {},
"isActive": true,
"type": "sse"
}
}
}Après connexion au point d'accès SSE, listez les outils exposés :
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}Appelez l'outil par son id ; les arguments sont construits à partir de ses paramètres :
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "pivot-table-generator",
"arguments": {
"inputData": "Saisissez vos données CSV ou JSON...\n\nExemple CSV:\nRégion,Produit,Ventes,Quantité,Date\nNord,Widget A,1000,50,2024-01-15\nSud,Widget B,1500,75,2024-01-16\nNord,Widget A,1200,60,2024-01-17\n\nExemple JSON:\n[\n {\"Région\": \"Nord\", \"Produit\": \"Widget A\", \"Ventes\": 1000, \"Quantité\": 50},\n {\"Région\": \"Sud\", \"Produit\": \"Widget B\", \"Ventes\": 1500, \"Quantité\": 75}\n]",
"dataFormat": "csv",
"rowFields": "Noms de champ séparés par des virgules (ex: Région, Catégorie)",
"columnFields": "Noms de champ séparés par des virgules (ex: Produit, Mois)",
"valueFields": "Noms de champ séparés par des virgules (ex: Ventes, Quantité)",
"aggregateFunction": "sum",
"filterConditions": "Saisissez les conditions de filtre (une par ligne):\nRégion = Nord\nVentes > 1000\nProduit != Widget C",
"includeGrandTotals": true,
"includePercentages": false,
"maxRows": "100",
"maxColumns": "20"
}
}
}Des questions ou un problème ? Contactez [email protected]