@bicharts/chart-mcp 0.6.121 → 0.6.122
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/index.mjs +138 -138
- package/package.json +1 -1
- package/skills/bic-charts/SKILL.md +10 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bicharts/chart-mcp",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.122",
|
|
4
4
|
"description": "AI Data Components for Power BI, Excel, Fabric Apps and the web, over MCP: working what-if apps, interactive tables and bivariate maps first, plus about 90 everyday chart types, with selection and cross-filtering already wired. It profiles your table locally; the code it writes is yours and runs with no license.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mcp",
|
|
@@ -622,6 +622,13 @@ has passed the template's check: don't run it again with `run-dax-query`. Don't
|
|
|
622
622
|
table and aggregate it in the browser: the Execute Queries API refuses a response over 15 MB, and a
|
|
623
623
|
column repeated on every fact row (a country's population on each sale) sums to nonsense.
|
|
624
624
|
|
|
625
|
+
**When the chart is about the records themselves, its grain IS the records.** A scatter of customers, a
|
|
626
|
+
distribution, customer segments or a map of accounts takes one row per customer, account or order - the raw facts -
|
|
627
|
+
and the engine does the shaping. For totals (revenue by region, a monthly trend) keep the chart's grain: given raw rows
|
|
628
|
+
for a total, the engine reads the repeats as a spread to show, and bar, card and donut charts drop out of what fits.
|
|
629
|
+
Ratio measures (a growth %, an attainment %, a share) and measures from different fact tables stay as the model
|
|
630
|
+
computes them: raw rows can't rebuild them.
|
|
631
|
+
|
|
625
632
|
**A "vs" measure is blank where there's nothing to compare against.** `[Goal Attainment %] - 1` is never blank:
|
|
626
633
|
BLANK() - 1 is -1, so SUMMARIZECOLUMNS keeps every row, a place with no goal reads -100%, and on a symmetric diverging
|
|
627
634
|
scale that one mark sets the span and every other draws near-neutral. The same goes for `1 - [Share]` and for
|
|
@@ -745,8 +752,9 @@ table and any symbols: `[Occupancy %]` becomes `Occupancy`), saves every row to
|
|
|
745
752
|
reads each column's role, format and description from the model (`INFO.VIEW.MEASURES()` / `INFO.VIEW.COLUMNS()`),
|
|
746
753
|
and profiles the result. Its reply ends with the arguments for the next two calls - `csv_path`, `measures`,
|
|
747
754
|
`dimensions`, `formats`, `descriptions` - so pass them to `list_eligible_charts` and `generate_chart` as they
|
|
748
|
-
are. It keeps
|
|
749
|
-
|
|
755
|
+
are. It keeps up to 250,000 rows of a query by default (the setting `BIC_MCP_QUERY_ROW_CAP` raises it, up to 1,000,000;
|
|
756
|
+
the older `fabric-app-data` layout only 1,000, that CLI's own limit) and says so when a result is past it; only then
|
|
757
|
+
narrow the query, with a filter or the grain the chart reads.
|
|
750
758
|
|
|
751
759
|
**4. Ask before choosing, then choose what answers the question.** `list_eligible_charts` on that
|
|
752
760
|
data. Pass `chart_type` to `generate_chart` only for a type the person named; when they only asked for a chart, leave it
|