Capability · Reshape
Not just renaming columns — reshaping the grid.
Transpose, unpivot, pivot, join across sheets and split one messy input into a clean multi-sheet workbook. A deterministic detection pass untangles the grid; a PHI-free router picks how to transform it.
What you get
Built for regulated workloads
Real spreadsheets are not tidy tables. Headers sit three rows down, units live on their own row, grouped headers span columns, and the whole thing is transposed. Reshape handles the structure the cascade assumes away. First a deterministic structural-detection pass turns the mess into clean logical tables. Then a PHI-free router classifies the job into one of three strategies — and in every generated path, the model sees only table SHAPE plus up to three clamped sample rows, never your full data.
Three strategies, one router
Declarative plans, executed in-process
Generated code, sandboxed
Shape in, never the rows
One mess in, clean workbook out
Try it
A real call, end to end
Post a messy workbook and your target schema. The response tells you which strategy the router chose, the transform it generated, and the clean sheets it produced.
- plan is the default and PHI-safe — a declarative transform executed in-process, no eval, byte-reproducible.
- code runs in a region-pinned, network-isolated sandbox and is full-data by nature (PHI entitlement required).
- The structural-detection pass is deterministic and source-agnostic — it runs before any model is called.
curl https://api.adaptivmapr.com/v1/reshape \
-H "Authorization: Bearer $MAPR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"upload_id": "up_7fce…",
"target": "lab_results"
}'{
"strategy": "plan",
"plan": [
{ "op": "unpivot", "id_cols": ["patient_id", "drawn_at"],
"value_cols": ["Na", "K", "Cl"], "into": ["analyte", "value"] },
{ "op": "derive", "field": "unit", "from": "analyte_unit_row" }
],
"sheets": [
{ "name": "results", "rows": 1840, "target": "lab_results" }
]
}FAQ
Common questions
Ready when you are
Put structural reshape in production — without shipping raw records.
Spin up a key in minutes. Top up a $10 prepaid wallet — every map is a few tokens.