Ready to get started?

Download a free trial of the SAS Data Sets Data Provider to get started:

 Download Now

Learn more:

SAS Data Sets Icon SAS Data Sets ADO.NET Provider

Rapidly create and deploy powerful .NET applications that integrate with SAS Data Sets.

DataBind Charts to SAS Data Sets Data



Use the standard ADO.NET procedures for databinding to provide bidirectional access to SAS Data Sets data from controls in the Visual Studio toolbox. This article demonstrates a graphical approach using wizards in Visual Studio, as well as how to databind with only a few lines of code.

DataBinding facilitates two-way interaction with data through UI controls. Using the CData ADO.NET Provider for SAS Data Sets streamlines the process of binding SAS Data Sets data to Windows Forms and Web controls within Visual Studio. In this article, we will demonstrate using wizards to establish a binding between SAS Data Sets data and a chart that dynamically updates. Additionally, the code walk-through section will guide you through the creation of a chart using just 10 lines of code.

DataBind to a Chart

DataBinding consists of three steps: Instantiate the control, configure the data source, and databind.

Configure the Connection and Select Database Objects

To create a chart control and establish a connection to SAS Data Sets, follow the steps outlined below using the Data Source Configuration Wizard. Within the wizard, you'll have the option to choose the specific SAS Data Sets entities you wish to bind to.

  1. In a Windows Forms project, drag and drop a Chart control from the toolbox to the form. In the Data section of the Chart properties, select DataSource and then select Add Project Data Source from the menu.
  2. In the Data Source Configuration Wizard that appears, select Database -> Dataset.
  3. In the Choose Your Data Connection step, click New Connection.
  4. In the Add Connection dialog, click Change to select the CData SAS Data Sets Data Source.

    Below is a typical connection string:

    URI=C:/myfolder;

    Set the following connection properties to connect to your SAS DataSet files:

    Connecting to Local Files

    • Set the Connection Type to "Local." Local files support SELECT, INSERT, and DELETE commands.
    • Set the URI to a folder containing SAS files, e.g. C:\PATH\TO\FOLDER\.

    Connecting to Cloud-Hosted SAS DataSet Files

    While the driver is capable of pulling data from SAS DataSet files hosted on a variety of cloud data stores, INSERT, UPDATE, and DELETE are not supported outside of local files in this driver.

    Set the Connection Type to the service hosting your SAS DataSet files. A unique prefix at the beginning of the URI connection property is used to identify the cloud data store and the remainder of the path is a relative path to the desired folder (one table per file) or single file (a single table). For more information, refer to the Getting Started section of the Help documentation.

    When you configure the connection, you may also want to set the Max Rows connection property. This will limit the number of rows returned, which is especially helpful for improving performance when designing reports and visualizations.

  5. Choose the database objects you want to work with. This example uses the restaurants table.

DataBind

After adding the data source and selecting database objects, you can bind the objects to the chart. This example assigns the x-axis to name and the y-axis to borough.

  1. In the Chart properties, click the button in the Series property to open the Series Collection Editor.
  2. In the Series properties, select the columns you want for the x- and y-axes: Select columns from the menu in the XValueMember and YValueMember properties.

The chart is now databound to the SAS Data Sets data. Run the chart to display the current data.

Code Walk-through

DataBinding to SAS Data Sets data requires only a few lines of code and can be completed in three easy steps.

  1. Connect to SAS Data Sets.
  2. Create the SASDataSetsDataAdapter to execute the query and create a DataSet to be filled with its results.
  3. DataBind the result set to the chart.

Below is the complete code:

SASDataSetsConnection conn = new SASDataSetsConnection("URI=C:/myfolder;"); SASDataSetsCommand comm = new SASDataSetsCommand("SELECT name, borough FROM restaurants WHERE cuisine = 'American'", conn); SASDataSetsDataAdapter da = new SASDataSetsDataAdapter(comm); DataSet dataset = new DataSet(); da.Fill(dataset); chart1.DataSource = dataset; chart1.Series[0].XValueMember = "name"; chart1.Series[0].YValueMembers = "borough"; // Insert code for additional chart formatting here. chart1.DataBind();