Toolkit · Analysis

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 , product lead at T1A

Alchemist free Code Analyzer dashboard for a sample SAS estate: Tokens, License Tokens, Source Files and Flagged Tokens counts, a donut of executable types (SAS programs, EG flows, DI jobs) and a treemap of workload types
The free Code Analyzer dashboard on T1A's sample estate: one SAS program, one Enterprise Guide project, one DI job.
Inventory

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 a SAS migration assessment inventories, where each item is read from, by which tool, and what comes back
What is inventoriedRead fromToolWhat you get
SAS programs and macros (.sas)CodeCode AnalyzerParsed into a syntax tree: statement-level statistics, complexity scores, macro lineage
Enterprise Guide projects (.egp)Code and project metadataCode AnalyzerRead through their metadata, not only their code; counted as EG flows
DI jobs (.spk)Code and job metadataCode AnalyzerRead through their metadata, not only their code; counted as DI jobs
Datasets and data lineageCode and SAS server logsCode 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 accessSAS Workspace and Batch server logsLog AnalyzerWho 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, serversSAS metadata serverMetascopeLists of each object type, exportable as CSV
Whole scopeCodeCode 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.

Three sources

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 Metascope 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

    Alchemist Code Analyzer network graph of a SAS estate: clusters of jobs and datasets linked by lineage, with the filter panel open and a Graph view / Lineage switch

    Code Analyzer

    Included in: Assessment · Conversion · Full

    Parses 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

    Alchemist Log Analyzer, Data Access view: counts of open operations by mode, status and engine, and a table of dataset accesses with library, user and source log file

    Log Analyzer

    Included in: Assessment · Full

    Reads 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

    Metascope by T1A: inventory of stored processes from the SAS metadata server with folder, usage version, description and ID; the sidebar lists users, groups, libraries, jobs, tables, servers and EG projects

    Metascope

    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.

Time and inputs

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 Metascope, then add logs written with the SAS logging configuration T1A shares in advance, and metadata server access.

  1. Register

    Sign up with a work email. A free trial license and the downloads wait in your Alchemist account.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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 (Metascope). Enable the SAS logging configuration T1A shares in advance, so the logs carry what the Log Analyzer reads.

Deliverables

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.
MetascopeMetadata 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.

Assessment to conversion

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.

  1. 01 · Measure

    Free trial

    Code Analyzer dashboard: token count and the shape of the scope.

    Free, no time or usage limit

  2. 02 · Discover

    Assessment Kit

    Code Analyzer, Log Analyzer and Metascope: full discovery of a SAS environment before a large migration.

    One-time license, no usage metering

  3. 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

FAQ

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 Metascope 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 Metascope are binaries that run inside your network; a local install goes online only for the license check. Metascope 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. Metascope 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 Metascope, 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 Metascope, 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.

Start

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.