CSV to Dashboard Summary
Pricing
from $6.50 / 1,000 item processeds
CSV to Dashboard Summary
Turn CSV/tabular data into KPI summaries, dashboard-ready metrics, and insight reports.
Pricing
from $6.50 / 1,000 item processeds
Rating
0.0
(0)
Developer
junipr
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Convert CSV or tabular records into dashboard-ready KPI rows with grouped statistics, trends, missing-value checks, and outlier signals.
What does CSV to Dashboard Summary do?
CSV to Dashboard Summary parses the complete bounded table, infers numeric columns, and calculates repeatable metrics for charts, KPI cards, and reporting feeds. Unlike a first-row preview, every accepted row contributes to counts, sums, averages, medians, ranges, trends, and IQR outlier checks.
- Parse quoted commas, escaped quotes, embedded newlines, BOM markers, duplicate headers, currencies, percentages, and accounting negatives.
- Read CSV text, inline JSON records, or bounded public CSV URLs.
- Infer numeric columns or use an explicit metric list.
- Group metrics by region, team, channel, product, status, or another categorical column.
- Choose sum, average, median, minimum, maximum, or count as the primary KPI value.
- Report missing values, small groups, outliers, first-to-last change, and visualization suggestions.
- Export dataset rows, metrics JSON, flat metrics CSV, summary JSON, and Markdown.
Why Use This Actor
Spreadsheet pivots are useful for exploration but difficult to automate consistently. Dashboard platforms often expect already-shaped metrics and provide limited source-quality evidence. This actor creates a deterministic intermediate layer that can be scheduled or called through an API.
| Capability | CSV to Dashboard Summary | Spreadsheet pivot table | pandas script | BI import wizard |
|---|---|---|---|---|
| Full bounded CSV parsing | Included | Included | Requires code | Product-dependent |
| Automatic numeric inference | Included | Manual selection | Requires code | Product-dependent |
| Grouped KPI rows | Included | Included | Requires code | Included |
| Missing and outlier signals | Included | Manual | Requires code | Product-dependent |
| First-to-last trend | Included | Manual | Requires code | Product-dependent |
| Apify dataset and report files | Included | No | Requires integration | Separate integration |
| Primary row-check price | $3.90 per 1,000 rows | Product-dependent | Engineering time | Product-dependent |
Use it for sales summaries, campaign reporting, operations dashboards, support metrics, finance exports, inventory reports, and scheduled stakeholder updates.
How to Use
{"csvText": "region,month,leads,revenue,conversionRate\nNorth,Jan,120,184000,0.18\nNorth,Feb,135,201000,0.20\nSouth,Jan,90,93000,0.11\nSouth,Feb,105,116000,0.14","metrics": ["leads", "revenue", "conversionRate"],"groupBy": "region","aggregation": "sum","maxGroups": 25,"maxItems": 500,"includeReport": true}
- Paste CSV text, submit records, or enable a public CSV URL.
- Leave
metricsempty for inference or list the numeric columns explicitly. - Set
groupByfor per-category metrics, or leave it empty for an overall summary. - Select the statistic that should appear in
metricValue. - Use dataset rows directly in a dashboard feed and keep the summary for quality checks.
Sales KPI feed
Group by region or sales owner and summarize pipeline, wins, and revenue. Use sum for additive measures and inspect missing values before sending results to a weekly dashboard.
Conversion monitoring
Summarize conversion-rate columns with average or median. The row still includes sum, average, median, minimum, maximum, and first-to-last change so consumers can choose a different statistic later.
Operations outlier report
Run without grouping to find numeric columns with values outside the 1.5 IQR fences. Review source rows before treating an extreme value as a real operational event.
Input Configuration
| Parameter | Type | Default | Description |
|---|---|---|---|
targets | array | Included fixture | Multiple CSV, record, or URL sources. |
records | array | [] | Inline tabular records for one source. |
csvText | string | Empty | Quoted CSV content for one source. |
sourceUrl | string | Empty | Public HTTP(S) CSV URL. |
fetchUrls | boolean | false | Enables bounded public URL retrieval. |
delimiter | string | , | Single-character delimiter. |
metrics | string array | [] | Numeric columns to summarize; empty enables inference. |
groupBy | string | Empty | Optional categorical grouping column. |
aggregation | string | average | Statistic placed in metricValue. |
maxGroups | integer | 25 | Per-source group cap, with a hard maximum of 100. |
maxTargets | integer | 2 | Source cap, with a hard maximum of 20. |
maxItems | integer | 500 | Per-source row cap, with a hard maximum of 10,000. |
maxTextBytes | integer | 500000 | Maximum fetched response size. |
fetchTimeoutMs | integer | 10000 | Per-request timeout in milliseconds. |
includeReport | boolean | true | Creates JSON, CSV, summary, and Markdown files. |
Each source is limited to 100 metric columns, 100 group values, and 10,000 input rows, which bounds the maximum dataset size even when a wide table is supplied.
Public retrieval accepts HTTP and HTTPS only. Credentialed URLs, redirects, localhost, private networks, reserved ranges, private DNS answers, oversized bodies, and slow responses are rejected. A source failure produces a free diagnostic row instead of a misleading empty success.
Output Format
Each dataset row represents one numeric metric for one source and optional group:
{"sourceId": "monthly-sales","metricName": "revenue","aggregation": "sum","metricValue": 385000,"groupBy": "region","groupValue": "North","rowCount": 2,"nonNullCount": 2,"missingCount": 0,"sum": 385000,"average": 192500,"median": 192500,"minimum": 184000,"maximum": 201000,"firstValue": 184000,"lastValue": 201000,"percentChange": 0.092391,"trend": "up","outlierCount": 0,"outlierFlag": false,"chartSuggestion": "bar","issueCodes": [],"issueCount": 0,"status": "ready"}
Report files include CSV_TO_DASHBOARD_SUMMARY_RESULTS.json, DASHBOARD_METRICS.csv, CSV_TO_DASHBOARD_SUMMARY_SUMMARY.json, and CSV_TO_DASHBOARD_SUMMARY_REPORT.md.
Integration Examples
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('junipr/csv-to-dashboard-summary').call({records: sourceRows,metrics: ['revenue', 'orders'],groupBy: 'region',aggregation: 'sum',maxItems: 500});const { items } = await client.dataset(run.defaultDatasetId).listItems();const kpis = items.filter((row) => row.status === 'ready');
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("junipr/csv-to-dashboard-summary").call(run_input={"csvText": csv_text,"metrics": ["revenue", "orders"],"aggregation": "average","maxItems": 500,})metrics = client.dataset(run["defaultDatasetId"]).list_items().items
Tips and Advanced Usage
Select the right aggregation
Use sum for additive values such as revenue, orders, hours, or units. Use average or median for rates, durations, prices, and scores. Use count when the number of populated numeric values is the KPI.
Treat trends as source-order signals
percentChange compares the first and last numeric values in input order. Sort the source extract chronologically before running the actor when that field should represent a time trend.
Keep groups bounded
A high-cardinality identifier is usually not a useful dashboard grouping field. Use category-like fields and keep maxGroups low enough that charts remain readable and costs remain predictable.
Understand outliers
Outliers use standard 1.5 IQR fences. They are review signals, not proof of bad data. Small groups can legitimately show no outliers even when values differ substantially.
Pricing
Prices follow the actor's locked pay-per-event contract and include platform usage for this bounded utility.
| Event | Price | Charged when |
|---|---|---|
actor-start | $0.00500 | Run setup is accepted. |
row-checked | $0.00390 | A source row is accepted for metric processing. |
issue-detected | $0.00372 | A metric quality issue is emitted. |
qa-report-generated | $0.05000 | Metrics JSON/CSV, summary, and report files are created. |
FAQ
Does it render a visual dashboard?
No. It produces structured metric rows and chart suggestions for a dashboard, spreadsheet, database, or reporting application.
Can it parse currency and percentages?
Yes. Common currency symbols, comma separators, percentages, and parenthesized negatives are converted to numeric values.
How are numeric columns inferred?
A populated column is inferred when at least 60% of its populated values are numeric.
Why is a metric marked attention?
It contains missing values, an IQR outlier, or fewer than two numeric values.
Can it process multiple CSV files?
Yes. Add one entry per source to targets, subject to maxTargets and per-source caps.
Can it fetch an authenticated CSV export?
Credentialed URLs are intentionally rejected. Submit content directly or use a time-limited public HTTPS URL without embedded credentials.
Related Actors
- CSV Deduper Normalizer
- Entity Deduplication Matcher
- Domain Extractor Grouper
- URL Canonicalizer
Limitations and Safe Use
The actor calculates descriptive statistics; it does not infer business causality, forecast future results, or verify the correctness of source records. Review quality flags before publishing metrics, and remove confidential columns that are unnecessary for aggregate reporting.