SAS code assessment: inventory your SAS estate before migration
A SAS code assessment scans and inventories the codebase before anything is rewritten. Alchemist's analyzers read three sources: the code, the server logs and the metadata server. You get an inventory of programs, Enterprise Guide projects and DI jobs, their complexity and lineage, what actually runs, and a token count that sizes the conversion.
Free trial: the Code Analyzer dashboard on any number of SAS assets, no time or usage limit.
Last updated By Dmitriy Alkhimov, product lead at T1A

What does a SAS migration assessment include?
An inventory of every asset, how the assets depend on each other, how complex each one is, and which of them actually run and by whom. Alchemist builds it from three sources: the code, the SAS Workspace and Batch server logs and the SAS metadata server. It only parses and analyzes; nothing is rewritten at this stage.
| What is inventoried | Read from | Tool | What you get |
|---|---|---|---|
| SAS programs and macros (.sas) | Code | Code Analyzer | Parsed into a syntax tree: statement-level statistics, complexity scores, macro lineage |
| Enterprise Guide projects (.egp) | Code and project metadata | Code Analyzer | Read through their metadata, not only their code; counted as EG flows |
| DI jobs (.spk) | Code and job metadata | Code Analyzer | Read through their metadata, not only their code; counted as DI jobs |
| Datasets and data lineage | Code and SAS server logs | Code Analyzer Log Analyzer | A dependency graph: which asset feeds which dataset, where an asset is a program, job, flow or code captured in the logs |
| Executions and data access | SAS Workspace and Batch server logs | Log Analyzer | Who ran what: every dataset opened, read, written or updated, by user, library and engine, with runtimes and failures; the code that was executed and the assets it used |
| Users, groups, libraries, tables, jobs, stored processes, deployed flows, servers | SAS metadata server | Lists of each object type, exportable as CSV | |
| Whole scope | Code | Code Analyzer free dashboard (trial) | License Tokens, executable types, workload types, duplicates, data access engines and a high-level complexity overview |
The code says what exists. The logs say what actually runs, and for whom. A plan sized on the code alone carries code nobody will miss.
Which tools scan and inventory a SAS codebase?
Alchemist has three analyzers, one per source. The Code Analyzer scans the code, the Log Analyzer reads what actually ran, and lists what the SAS metadata server has registered. All three come with the Assessment Kit: none is metered, any number of assets, no T1A services required. The free trial runs the Code Analyzer's aggregated dashboard.
Source · The code

Code Analyzer
Included in: Assessment · Conversion · FullParses SAS programs, EG projects and DI jobs into a syntax tree and returns statement-level statistics, complexity scores, and data and macro lineage as a dependency graph.
Source · The logs

Log Analyzer
Included in: Assessment · FullReads SAS Workspace and Batch server logs and lists who ran what: every dataset opened, read, written or updated, by user; the assets and code executed; the library and engine used; and runtimes and failures. It needs a specific SAS logging configuration, which T1A shares in advance.
Source · The metadata server

Included in: Assessment · Full
Connects to the SAS metadata server and lists what it has registered: users, groups, libraries, tables, jobs, stored processes, EG projects, deployed flows and servers.
How long does it take and what do you need to provide?
Minutes to start: register, download the local version or use the live one, activate the license and run the Code Analyzer on exported SAS files. The run itself scales with the size of the codebase. You provide the code: .sas programs, .egp projects and .spk DI jobs. For a full assessment, download the Log Analyzer and , then add logs written with the SAS logging configuration T1A shares in advance, and metadata server access.
Register
Sign up with a work email. A free trial license and the downloads wait in your Alchemist account.
Export the code
Collect SAS Base programs (.sas) and Enterprise Guide projects (.egp) in one place. Export DI jobs into a single .spk file, following the instructions in the docs.
Run the Code Analyzer
Locally, where the files sit, or online, by uploading them to Alchemist Live. License activation is prompted on the first run and takes seconds.
Read the dashboard
License Tokens, source files, duplicates, executable and workload types, and complexity for the whole scope, in four views: Main, EG, DI and Code.
Export detailed data (requires a paid license)
Every metric broken down from asset to transform to statement. Statement-level data and macro lineage for each table and library, full visibility of PROC and macro usage, and aggregated analytics at asset level.
Add logs and metadata (requires a paid license)
For full discovery, the Assessment Kit adds the SAS Workspace and Batch server logs (Log Analyzer) and the metadata server (). Enable the SAS logging configuration T1A shares in advance, so the logs carry what the Log Analyzer reads.
What do you get from a SAS code assessment?
Numbers you can plan with. The token count sizes the conversion and drives the license figure. Complexity scores and lineage show where the hard parts sit and which jobs must move together. The log and metadata views show which code still runs, and who depends on it.
- Code Analyzer (Free trial)Token count and License Tokens
- Alchemist's own code metric, not an LLM token; the price calculator in your Alchemist account works from it. License Tokens, a subset of Tokens, are an upper-bound estimate of the tokens a conversion license is priced on.
- Code Analyzer (Free trial)Scope breakdown
- Source files, executable types (SAS programs, EG flows, DI jobs) and workload types across the whole scope, in the dashboard's Main, EG, DI and Code views.
- Code AnalyzerComplexity and statement statistics
- Statement-level statistics and complexity scores, computed from the syntax tree.
- Code AnalyzerDependency graph
- Data and macro lineage: which job feeds which dataset, and what has to move together.
- Log AnalyzerUsage record
- Who ran what, and every dataset opened, read, written or updated, with runtimes and failures.
- Metadata inventory
- Users, groups, libraries, tables, jobs, stored processes, EG projects, deployed flows and servers, as CSV.
Alchemist has analyzed 50+ SAS environments, as of 2026.
How does an assessment lead to conversion?
The token count from the assessment goes into the price calculator in your Alchemist account, which turns it into a license figure for the kit you choose. A known scope under about 100 assets fits the Conversion Kit; hundreds of assets fit the Full Kit, which comes with T1A services. T1A can confirm the recommended kit.
- 01 · Measure
Free trial
Code Analyzer dashboard: token count and the shape of the scope.
Free, no time or usage limit
- 02 · Discover
Assessment Kit
Code Analyzer, Log Analyzer and : full discovery of a SAS environment before a large migration.
One-time license, no usage metering
- 03 · Convert
Conversion Kit or Full Kit
Deterministic SAS‑to‑PySpark conversion for Databricks, Snowflake and Microsoft Fabric.
One-time license plus pay‑as‑you‑go on tokens
Questions about SAS code assessment
What the free part covers, where the analysis runs, which assets it reads, and what happens after it.
Is the SAS code assessment free?
The first part is. Registration gives you a free trial license with the Code Analyzer's aggregated dashboard: any number of SAS assets, no time limit and no usage limit. It reports the token count, Flagged Tokens, executable types and workload mix. The full Code Analyzer detail, the Log Analyzer and come with the Assessment Kit, a one-time license.
What are Flagged Tokens for?
Flagged Tokens are a subset of Tokens that add up the size of unsupported constructs and of constructs parsed with syntax errors, which can point to issues in the code. The Code Analyzer reports them for the whole scope on the free trial dashboard, and per asset in the detailed export.
Does my SAS code leave my environment during the assessment?
Not if you run the analyzers locally. The Code Analyzer, Log Analyzer and are binaries that run inside your network; a local install goes online only for the license check. is the one that connects to a SAS server: the metadata server. In Alchemist Live, T1A processes uploaded files and keeps the results until you delete the job.
Which SAS assets can Alchemist inventory?
SAS Base programs (.sas), Enterprise Guide projects (.egp) and DI jobs (.spk), with EG projects and DI jobs read through their metadata, not only their code. The Log Analyzer adds the SAS Workspace and Batch server logs. adds the SAS metadata server: users, groups, libraries, tables, jobs, stored processes and deployed flows.
What do I need to prepare for a full SAS assessment?
Three things, one per analyzer. For the Code Analyzer, export the code: .sas programs, .egp projects and .spk DI jobs. For the Log Analyzer, enable a specific SAS logging configuration, which T1A shares in advance, so the logs record what the analysis reads. For , access to the SAS metadata server, which it connects to directly.
How is this different from SAS's own content assessment?
SAS's assessment utilities prepare a move to SAS Viya. They run inside a live SAS environment and cannot see objects that are not registered in the metadata server. An Alchemist assessment prepares a move off SAS, to PySpark on Databricks, Snowflake or Microsoft Fabric, and measures the estate in Alchemist tokens, the metric that prices the conversion. It runs locally on exported files, parses the code itself and reads the SAS Workspace and Batch server logs, so it shows real usage and lineage, including shadow workloads the metadata never sees.
Do I need T1A services for an assessment?
No. The Assessment Kit works standalone: your team runs the Code Analyzer, Log Analyzer and , on any number of assets, with no usage limit. T1A services come only with the Full Kit. If you want a second opinion before you buy, T1A can review your token count and confirm the recommended kit.
How long does the migration take after the assessment?
Even with automation, an end‑to‑end migration takes at least 2–3 months, mostly organizational time in larger companies; mid-size projects have taken 4–6 months. The conversion step alone ran up to 20× faster with 10× less manual effort than LLM-only conversion. That figure covers the conversion step, not the whole migration.
Measure your SAS estate before you plan the migration
Register for the free trial and run the Code Analyzer on your own code, or start a New Analysis in Alchemist Live. Licenses start at $10K; the figure for your estate comes from your own token count.