Tracking Issues

Overview

SAS Data Remediation is designed as a general purpose issue tracking system that can be used with both SAS and other applications. A common use case is to capture business rules violations from a data loading process for review by a non-technical user. The following is one example of how this might be accomplished.

Define an Application

To define an application:
  1. On the SAS Data Management Console, select Data Remediationthen selectAdministration.
  2. On the Data Remediation-Administration tab, select Add Client Application from the Actions menu. A New Client Application tab is displayed with three sub-tabs.
  3. On the Properties sub-tab:
    1. Give the application a unique ID and Display name, such as POS System.
    2. Select No user interface configured.
  4. On the Subject Areasthen selectProperties sub-tab, enter the name Sales Transaction in the Name field. Do not apply any special access permissions to this subject area on the Subject Areasthen selectPermissions.
  5. On the Issuesthen selectProperties sub-tab, enter the name Missing Transaction Total in the Name field. If you want to associate a Task template with this issue type, select your custom task template on the Task Templates sub-tab. For more information, see Workflow Integration .
  6. Save your settings from the Actions menu.
You are now ready to create new issues for this application in another tool such as SAS Data Integration Studio, SAS Data Management Studio, or any external application that can create a well-formed REST web service input and make a REST web service POST call.

Identifying Issues in Data

To identify issues, perform the following steps in SAS Data Management Studio:
  1. Create some sample data where at least one item is missing the transaction amount. This can be data in a text file, in a database table, or even generated in a SAS Data Management Studio job. Here are a few sample data rows with column headings:
    Sample Data
    ID
    Name
    TransactionValue
    1
    Laptop
    1213.01
    2
    Mouse
    13.15
    3
    Monitor
    128.20
    4
    Carrying Case
    5
    Network Cable
    5.55
  2. Create a SAS Data Management Studio job that accesses your sample data. Once you have created a new source of input data, use a data validation node to flag the row of data that contains no transaction value (Transaction Value is null).
    In this example, the row that contains no transaction value is flagged with a value of 1. Use a Branch node to create a branched path in your job where only records that contain a 1 in the Flag field will be present.
  3. Create the input data for the SAS Data Remediation REST web service call. Use an expression node to create the input string. Field substitution is used to pass the values from the sample data row into the web service call.
    string(1000) WS_IN
    WS_IN =
    '{
       "application":"POS System",
       "subjectArea":"Sales Transaction",
       "name":"Weekly Update",
       "description":"Transaction validation process.",
       "userDefinedFieldLabels": null,
       "topics":[
          {
             "name": "'&`Name`&'",
             "key": "'&`ID`&'",
             "userDefinedFields": null,
             "issues":[
                {
                   "name":"Missing Transaction Total",
                   "importance":"low",
                   "note":"Please research this transaction.",
                   "url":"http://www.website.com"
                   "assignee":{"name":"Data Steward"},
                   "status": "open"
                }
             ]
          }
       ]
    }
    '
    Note: For more information about the SAS Data Remediation REST API (also known as the Issues API), see the SAS support site.
  4. After adding this expression to create the input string in a JSON format, use an HTTP node to invoke the web service on the SAS mid-tier server. Use the following settings for this node:
    HTTP Node
    Address
    http://[server]:[port]/SASDataRemediation/rest/groups
    Method
    post
    Input: Field
    WS_IN
    Output: Field
    WS_OUT (create using the New button and set the size to 1000)
  5. From the Security option, enter a user name and password under Securitythen select Enter credentials. This must be a user-defined user name and password in SAS metadata using SAS Management Console and having at least one SAS Data Remediation role associated with it.
  6. In the Advanced Properties for the node, set the WSCP_HTTP_CONTENT_TYPE options to application/json.
  7. Select OK, and then run your job.

Viewing the Results

To view the results on SAS Data Management Console:
  1. Click Data Remediation.
  2. Search the table for an issue named Missing Transaction Total. When you select this issue, all of the details that you set in the SAS Data Management Studio job for this issue are reflected in the details panel. You now can interact with this issue as needed to track it to completion by setting assignee, status, and due date information.
  3. When the issue has been corrected, select the Close option in the issue toolbar.
Last updated: March 24, 2017