Excel: Part Costs
Costed parts by cost model, as a refreshable Excel and Power BI table
Overview
Costed parts by cost model, as a refreshable Excel and Power BI table
One row per part per active, undeleted cost model: the part's identity and status, the cost model and its description, the primary-model and frozen flags, the cost itself and when it was last recalculated, plus weight, lead time and order quantities for context.
A tenant typically runs several cost models at once. Primary_Model marks the one Plex costs against everywhere else, so ?primary_only=true is usually the view you want.
Take the .xlsx link rather than .csv. Part numbers that start with a zero are common, and CSV carries no type information, so Excel would quietly turn 00124735 into 124735. The xlsx feed keeps it as text.
How to connect it
Open the script, click Connect to Excel and copy the link. In Excel, Data → From Web, paste, choose Anonymous, and Load. From then on Refresh All re-runs the query — there is no exported file to hunt down, nothing is scheduled and nothing is emailed around.
How current is it?
This table reads Plex over its ODBC reporting connection, not the live transactional system. That copy can trail production by up to about four hours, so treat the numbers as recent rather than real-time. Refreshing re-runs the query, but it re-runs it against the same reporting copy — it does not reach past it.
That is the right trade for reporting, review meetings and models. Anything that has to be accurate to the minute — shipping a container, releasing a job — belongs in Plex itself, not in a workbook.
Filters
Every input is an optional URL query parameter on the link, so one script serves a whole team: two sheets can be the same feed with different values. For example ?part_no=VALUE&cost_model=VALUE.
| Input | What it does |
|---|---|
part_no | substring match on Part No or Part Name |
cost_model | exact match on Cost Model |
status | exact match on Part Status, e.g. "Production" |
primary_only | true = keep only the primary cost model |
max_rows | keep only the first N rows |
What this installs
The Excel Data - Part Costs script and one saved SQL query it runs on. The SQL lives in the SQL editor, so a column you want added is an edit in one place that every workbook picks up on its next refresh. The table has 16 columns as shipped, and no row cap — a cap would truncate silently and the workbook would look complete.
What you need
One ODBC credential pointed at your Plex reporting connection. The install wizard asks for it once and applies it to the query. If you do not have one yet, create it first in Script Engine → Credentials with type odbc.
What's Included
Use Cases
- Cost a BOM in Excel against current standard costs
- Compare a what-if cost model against the primary one
- Find parts whose cost has not been recalculated recently
- Feed a margin model in Power BI
Benefits
- Re-queries the source on refresh instead of holding an emailed copy
- Every active cost model in one table, filterable to the primary
- No row cap, so a large cost table arrives complete
- The .xlsx feed keeps leading zeros that CSV destroys
Configuration Steps
After installation, you'll configure:
- Plex ODBC connection