Flexible and Secure Data Modification

Data Controller for SAS® enables business users to update IT owned source tables, secured by review / approve workflow and full audit trail.

Business Owner

Who is Data Controller for?

Data Controller is designed to provide business users with a tool which can be included in their overall armoury for regulatory reporting.

Having worked in data-intensive SAS environments for many years, the founders of Data Controller experienced first hand the inefficient practices that reporting teams had to endure when changes needed to be made to the data and source system access wasn’t possible.

It was clear to see that users needed the ability to self-serve their data updates. That data owners should have the chance to review and approve those updates. And that all changes to data should be safe and secure, as well as tracked and visible for audit reasons.

The Data Controller is useful for any Enterprise that needs to perform manual data uploads into their preferred database, in real-time, with full validation, approval, security, and control.

Clinical Research Data

Devoted to

SAS® Users, Admins and Developers

Most (if not all) SAS users have the basic need to load, modify or delete data in SAS. They can typically achieve this by:

Placing files on network drives ready for a batch program to load them

Updating data directly using SAS® code

Opening a dataset in Enterprise Guide and changing a value

Asking a DBA to run a script update

The approaches mentioned are less than ideal for a number of reasons:

Data Controller Software

Every new piece of data requires a new job or program to be created to load it


High risk of locking datasets

Need for change requests and delays to the process

Data Controller Features

Our goal with Data Controller is to focus on great user experience and auditor satisfaction.
Our software saves years of development and testing, as well as avoiding a ‘black box’ custom build.
It is a SAS® Powered Web Application with the following features:


Intra day, concurrent updates are managed using a lock table and queuing mechanism. Updates are aborted if another user has changed the table since the approval diff was generated.


The existing SASLogon framework is used to manage Authentication & Authorisation. End users do not require direct access to the target tables.

Approval Mechanism

All data changes require 1 or more approvals before updating the table. The approver sees only the changes that will be applied to the target (new/deleted/changed rows).

Loading Tables of Different Types

Using SAS® libname engines, you can securely update tables in your preferred database. Data Controller supports Retained keys, SCD2 loads, Bitemporal, and composite primary keys.

Full Audit History

You are able to track every change of data, including who made the change, when, why, and what the actual change was. You are able to access this feature on the History page.

Zero Code

Adding new tables is a matter of configuration, which can perform entirely within the tool itself. No need to define column types, lengths etc – these are dynamically figured out at runtime.


You are able to configure “Hook scripts” to execute before and after each action. So you could run a data quality check after uploading a mapping table or run a model after changing a parameter.

Take a look at

Data Controller Design

We designed Data Controller to work on multiple devices and different screen types. This, combined with SAS® scalability and security, gives you full flexibility and location independence when managing your data.

Data Controller Design

See How it Looks

Schedule a Free Demo

Contact us for a free demonstration of Data Controller.

Data Controller

Data Controller is a product of 4GL Apps, a brand of Bowe IO Ltd, which is a UK company with a focus on SAS Software, Apps, and Services.

Other Resources

Visit our educational and fun SAS® software quiz Sasensei and test your knowledge of SAS topics.