Delivering Dynamic, Real-Time Reports to MS Office Users as … · 2014-11-01 · Pharmaceutical...

19
Delivering Dynamic, Real-Time Reports to MS Office Users as Stored Processes 1 WUSS 2014 – Paper 110 Delivering Dynamic, Real-Time Reports to MS Office Users as Stored Processes Carey Smoak, InClin, Inc., San Mateo, CA Sy Truong, Meta-Xceed, Inc., Fremont, CA ABSTRACT Delivering the right information and at the right time to the right users in large organizations is pivotal and challenging. The analytical reports generated from SAS can distill large volumes of data into impactful information. The delivery of these reports in static forms such as paper or PDF is not suitable for all users. This paper describes the process of transforming traditional SAS programs into stored processes developed in Enterprise Guide (EG) and managed by a SAS metadata server though the use of Management Console. It is then delivered to users within a tool that they are familiar with such as Microsoft Excel. It will describe challenges that SAS programmers face adapting their programs to this new platform that differs from the traditional batch SAS programming which they have worked with before. The multiple servers, including additional metadata layers on top of traditional SAS programs and datasets can be difficult for some programmers and statisticians at first. There are also differences in how security is applied which is distinct from the operating system controlled file and group based permissions. This paper will describe the technical steps on how to effectively implement this. It also share the process of training and implementing a centralized repository of best practice documents empowering the least technical SAS user to be proficient within this new environment. Users can realize immediate returns from their efforts when they see how these reports can be viewed through common tools, such as Excel, which add additional meaning from the same reports that were once static. INTRODUCTION An overview of our multi-tier server platform has been described elsewhere (Smoak 2013a, Smoak 2014). In summary, we moved from a single-application server platform (Truong, Smoak 2010 and Smoak, Truong 2011) to a multi-tier server platform. This means that in addition to an application server, a metadata server was added to the computing environment. The metadata server is managed through the SAS Management Console which allows an administrator to set up users, groups, roles and permissions. These administrative tasks are similar to setting up access to a clinical database. The metadata server also allows certain power users to create stored processes in Enterprise Guide (EG). Stored processes are simply SAS programs with a metadata wrapper which allows users (including non-SAS users) to run stored processes from Microsoft Office applications (e.g., Excel) using the SAS Add-In to Microsoft Office (AMO). Thus ad-hoc/monitoring reports can be created by SAS users (SAS programmers and biostatisticians) and run by non-SAS users (e.g., people like Data Managers and Clinical Research Associates). Furthermore, as will be described below, the ad-hoc/monitoring reports can help non-SAS users to monitor clinical trial data in real-time. This real-time monitoring of data could also be useful in industries other than companies which run clinical trials. INSTRUMENT DATA WORKFLOW Automating the data transfer can assist with the real-time data monitoring of the study (Figure 1). The retrieval of the raw data file (.xml) from a lab instrument at a clinical site was accomplished using a software product designed for the secure transfer of machine data. The lab operator can simply export the data to an Instrument Gateway and the software product automatically sends the .xml file to the company’s secure network drive. The parsing of the data from the .xml file to a .csv file done was done manually using a parsing tool by a Data Manager. From there, a SAS programmer runs a validated SAS macro to import the .csv file into a SAS dataset. Further processing of the data is done by the SAS programmer to make the data available for the monitoring reports (via the stored processes).

Transcript of Delivering Dynamic, Real-Time Reports to MS Office Users as … · 2014-11-01 · Pharmaceutical...

Page 1: Delivering Dynamic, Real-Time Reports to MS Office Users as … · 2014-11-01 · Pharmaceutical Industry SAS Users Group, San Diego, California, June 1-4, 2014. Smoak C, Widel M.

Delivering Dynamic, Real-Time Reports to MS Office Users as Stored Processes

1

WUSS 2014 – Paper 110

Delivering Dynamic, Real-Time Reports to MS Office Users as Stored Processes Carey Smoak, InClin, Inc., San Mateo, CA

Sy Truong, Meta-Xceed, Inc., Fremont, CA

ABSTRACT Delivering the right information and at the right time to the right users in large organizations is pivotal and challenging. The analytical reports generated from SAS can distill large volumes of data into impactful information. The delivery of these reports in static forms such as paper or PDF is not suitable for all users. This paper describes the process of transforming traditional SAS programs into stored processes developed in Enterprise Guide (EG) and managed by a SAS metadata server though the use of Management Console. It is then delivered to users within a tool that they are familiar with such as Microsoft Excel. It will describe challenges that SAS programmers face adapting their programs to this new platform that differs from the traditional batch SAS programming which they have worked with before. The multiple servers, including additional metadata layers on top of traditional SAS programs and datasets can be difficult for some programmers and statisticians at first. There are also differences in how security is applied which is distinct from the operating system controlled file and group based permissions. This paper will describe the technical steps on how to effectively implement this. It also share the process of training and implementing a centralized repository of best practice documents empowering the least technical SAS user to be proficient within this new environment. Users can realize immediate returns from their efforts when they see how these reports can be viewed through common tools, such as Excel, which add additional meaning from the same reports that were once static.

INTRODUCTION An overview of our multi-tier server platform has been described elsewhere (Smoak 2013a, Smoak 2014). In summary, we moved from a single-application server platform (Truong, Smoak 2010 and Smoak, Truong 2011) to a multi-tier server platform. This means that in addition to an application server, a metadata server was added to the computing environment. The metadata server is managed through the SAS Management Console which allows an administrator to set up users, groups, roles and permissions. These administrative tasks are similar to setting up access to a clinical database. The metadata server also allows certain power users to create stored processes in Enterprise Guide (EG). Stored processes are simply SAS programs with a metadata wrapper which allows users (including non-SAS users) to run stored processes from Microsoft Office applications (e.g., Excel) using the SAS Add-In to Microsoft Office (AMO). Thus ad-hoc/monitoring reports can be created by SAS users (SAS programmers and biostatisticians) and run by non-SAS users (e.g., people like Data Managers and Clinical Research Associates). Furthermore, as will be described below, the ad-hoc/monitoring reports can help non-SAS users to monitor clinical trial data in real-time. This real-time monitoring of data could also be useful in industries other than companies which run clinical trials.

INSTRUMENT DATA WORKFLOW Automating the data transfer can assist with the real-time data monitoring of the study (Figure 1). The retrieval of the raw data file (.xml) from a lab instrument at a clinical site was accomplished using a software product designed for the secure transfer of machine data. The lab operator can simply export the data to an Instrument Gateway and the software product automatically sends the .xml file to the company’s secure network drive. The parsing of the data from the .xml file to a .csv file done was done manually using a parsing tool by a Data Manager. From there, a SAS programmer runs a validated SAS macro to import the .csv file into a SAS dataset. Further processing of the data is done by the SAS programmer to make the data available for the monitoring reports (via the stored processes).

Page 2: Delivering Dynamic, Real-Time Reports to MS Office Users as … · 2014-11-01 · Pharmaceutical Industry SAS Users Group, San Diego, California, June 1-4, 2014. Smoak C, Widel M.

Delivering Dynamic, Real-Time Reports to MS Office Users as Stored Processes

2

Figure 1. Instrument Data Workflow The instruments that capture the raw data can also export the data in .xml format. The operator of the instruments sends these files to an internal company server. As soon as the .xml file lands on a predefined folder, the automation process is initiated. This consists of scheduled scripts that execute SAS programs used to convert the .xml files to .csv files and then to SAS datasets. In addition to file conversions, the scripts also archives the data to a long-term archival repository.

Figure 2. File Transfer Automation Each disk volume is managed on different servers (Figure 2). Since the automation programs are executed on a Windows 2008 R2 server, mapped letter drives were established allowing the scripts to easily access files. When dealing with data transformations, SAS scripts and macros were used. Other parts of the automation were developed

Page 3: Delivering Dynamic, Real-Time Reports to MS Office Users as … · 2014-11-01 · Pharmaceutical Industry SAS Users Group, San Diego, California, June 1-4, 2014. Smoak C, Widel M.

Delivering Dynamic, Real-Time Reports to MS Office Users as Stored Processes

3

using C# since it can more efficiently apply operating system commands such as identify the latest files and perform the file transfer upon a repeated schedule. The Windows Task scheduler was setup to run these script either once over night during off peak times or it can run once every hour.

STORED PROCESSES Figure 3 “SAS Enterprise Guide and Stored Process” shows the process of developing and submitting a stored process and how SAS application server processes the program. First, a person uses their PC (saspc in Figure 3) to open a Microsoft Office application (e.g. Excel) and clicks on the SAS ribbon. When the user clicks on “Reports” their user ID will be sent to the metadata server (sasmeta in Figure 3) for authentication. If the user has been set-up correctly in the metadata server (using the SAS Management Console), the metadata server will show the user which stored processes they can run. When the users the stored process, the object spawner will create a workspace server (sasapp in Figure 3) for the stored process to run. The result of the stored process will be sent back to the user’s PC.

Figure 3. SAS Enterprise Guide and Stored Process

SETUP AND SECURITY Establishing secured SAS computing environment for a large group of SAS programmers and statistician require some initial setup and ongoing administration. In our implementation, we have users that review data and reports through Excel using the SAS Add-In to Microsoft Office (AMO). Even though the developers of the reports use Enterprise Guide (EG), some of the following setup applies to both AMO and EG since they both connect to the same metadata server and share similar user interface and dialog boxes. The following series of tasks apply to both EG and AMO including:

· Establishing Folder Security · Setting Up Folders and Libnames · Configuring Access Control Template

Each one of the above tasks is described in the Appendix below in a step by step procedure which can be used in a form of a tutorial for administrators and users.

CONCLUSION Delivering real-time ad-hoc/monitoring reports can be accomplished using Enterprise Guide to create stored processes and the stored processes can be run by non-SAS users using the SAS Add-in to Microsoft Office. All of this is accomplished via the SAS Management Console to set up users, groups, roles and permissions. Once the proper users, groups, roles and permissions are created, then the process of creating and running stored processes can be accomplished to monitor data in real-time.

Page 4: Delivering Dynamic, Real-Time Reports to MS Office Users as … · 2014-11-01 · Pharmaceutical Industry SAS Users Group, San Diego, California, June 1-4, 2014. Smoak C, Widel M.

Delivering Dynamic, Real-Time Reports to MS Office Users as Stored Processes

4

ACKNOWLEGEMENTS We would like to gratefully acknowledge the hard work of the SAS Programming and Data Management Teams at Roche Molecular Systems in Pleasanton, California. This project would not have been possible without their dedication and countless hours of work.

REFERENCES Smoak C. Challenges in Moving to a Multi-tier Server Platform. Presented at the Annual Conference of the Western Users of SAS Software, Las Vegas, Nevada, November 13-15, 2013a and at the Annual Conference of the Pharmaceutical Industry SAS Users Group, San Diego, California, June 1-4, 2014.

Smoak C, Widel M. Managing 21 CFR Part 11 Compliance: Using Checksums on Open Systems. Presented at the Annual Conference of the Pharmaceutical Industry SAS Users Group, Chicago, Illinois, May 12-15, 2013b.

Smoak C, Widel M, Truong S. Checksum Please: A Way to Ensure Data Integrity! PharmaSUG 2012 Proceedings. Presented at the Annual Conference of the Pharmaceutical Industry SAS Users Group, San Francisco, California, May 13-16, 2012.

Smoak C, Truong S. Managing the Validation and Migration from SAS® 9.13 to 9.2 on a New Server. Presented at

the Pharmaceutical Industry SAS® Users Group, Nashville, TN, 2011.

Truong S, Smoak C. Validating and Migrating SAS® 9.13 to 9.2. Presented at the Western Users of SAS® Software, San Diego, CA, 2010.

CONTACT INFORMATION Your comments and questions are valued and encouraged. Contact the author at:

Name: Carey Smoak Enterprise: Roche Molecular Systems, Inc Address: 4300 Hacienda Drive City, State ZIP: Pleasanton, CA 95134 Work Phone: (925) 730 8033 E-mail: [email protected]

Name: Sy Truong Enterprise: Meta-Xceed, Inc. Address: 42978 Osgood Rd City, State ZIP: Fremont, CA 94539 Work Phone: 510-979-9333 Fax: 510-440-8301 E-mail: [email protected] Web: http://meta-x.com

TRADEMARK

SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. ® indicates USA registration.

Other brand and product names are trademarks of their respective companies.

Page 5: Delivering Dynamic, Real-Time Reports to MS Office Users as … · 2014-11-01 · Pharmaceutical Industry SAS Users Group, San Diego, California, June 1-4, 2014. Smoak C, Widel M.

Delivering Dynamic, Real-Time Reports to MS Office Users as Stored Processes

5

APPENDIX

Establishing Folder Security SAS folder is a construct used on the metadata server and is delivered to EG and Add-in for Microsoft Office to help users navigate to their programs and data. It looks similar to folders you see in Windows explorer within the file server, but they are different since SAS folders do not necessarily have a one to one correspondence to physical directories on a file server. The system administrator or power user can choose to create the folder names so that they match with the ones on the server but they are separate. SAS folders allows for more precise permission control compared to files on the operating system. The steps below will describe the approach towards creating standard folders and assigning permissions to them. This can be accomplished using SAS Management Console.

1. Create Study Folder – Navigate to: “Folders” tab > Right Mouse Project folder (i.e. ABC) > Select: New > Folder.

2. Folder Name – Type the name of the study folder name. This can match the study folder on the server. Also note that this is subset folder in the description for clarify. Click on “Finish” button to complete folder creation.

3. Open Property – Review the initial inherited permission by right mouse clicking on the new folder and selecting property. Verify SASUSER – You can review all groups but the largest group which you can review is SASUSER. Click the “Authorization” tab then the SASUSER and review permissions.

The background colors means the following: White – Explicitly Assigned Green – Access Control Template Assigned Gray – Inherit Assigned

4. Verify Project Group – In this example, verify the permissions for “ABC” by selecting that group in the Authorization tab and review.

Page 6: Delivering Dynamic, Real-Time Reports to MS Office Users as … · 2014-11-01 · Pharmaceutical Industry SAS Users Group, San Diego, California, June 1-4, 2014. Smoak C, Widel M.

Delivering Dynamic, Real-Time Reports to MS Office Users as Stored Processes

6

5. Verify Project Specific Power User – Each project will have a different power user group. In this example, it is named “Power User ABC”. Click on this power user and verify these permissions.

6. Create Standard Sub-Folders – Every study folder will have two standard sub-folders. This contains “Data” and “Stored Processes”. Do this by right mouse clicking on the folder and selecting “New”, then select “Folder”. Enter the folder name including “Data” and “Stored Processes” in the name entry. Description is not required.

Configuring Access Control Template An effective approach towards managing security within SAS metadata server is by applying the correct authorization or permission upon folders with access control templates. The objects within folders such as libnames, datasets and SAS programs inherit their permissions from the folder they reside in which in turn inherit permission from their parent folder. In addition to assigning the permissions directly upon user groups which are assigned to folders, we can also apply permissions to Access Control Template. The use of Access Control Template (ACT) provides a consistent tool for security which can be applied on top of existing group permission. A common example is to block permission to one of the largest user group named “SAS Users”. This document will show you how to setup an example Access Control Template so security can be applied consistently.

1. New ACT – Navigate to : Plug-ins (tab) > Environment Management > Authorization Manager > Access Control Template. Right mouse click and select “New Access Control Template”.

Page 7: Delivering Dynamic, Real-Time Reports to MS Office Users as … · 2014-11-01 · Pharmaceutical Industry SAS Users Group, San Diego, California, June 1-4, 2014. Smoak C, Widel M.

Delivering Dynamic, Real-Time Reports to MS Office Users as Stored Processes

7

2. ACT Name – Type a descriptive name such as “Hide from SASUSERS” in the General tab.

Apply Permission Pattern – Click on the “Permission Pattern” tab. Click on each user group on the list and then check the desired permission. In this example, deny permissions for SASUSERS.

Page 8: Delivering Dynamic, Real-Time Reports to MS Office Users as … · 2014-11-01 · Pharmaceutical Industry SAS Users Group, San Diego, California, June 1-4, 2014. Smoak C, Widel M.

Delivering Dynamic, Real-Time Reports to MS Office Users as Stored Processes

8

Page 9: Delivering Dynamic, Real-Time Reports to MS Office Users as … · 2014-11-01 · Pharmaceutical Industry SAS Users Group, San Diego, California, June 1-4, 2014. Smoak C, Widel M.

Delivering Dynamic, Real-Time Reports to MS Office Users as Stored Processes

9

Page 10: Delivering Dynamic, Real-Time Reports to MS Office Users as … · 2014-11-01 · Pharmaceutical Industry SAS Users Group, San Diego, California, June 1-4, 2014. Smoak C, Widel M.

Delivering Dynamic, Real-Time Reports to MS Office Users as Stored Processes

10

Click on the “OK” to apply the settings.

REPORT GENERATION SAS Programmers use Enterprise Guide to develop programs and stored processes. The reports and related data is delivered to users through Excel with Add-In to MS Office. The following tasks are followed by team members to consistently generate their analysis and reporting. This include:

· Deploying Stored Processes · Editing SAS Dataset from EG

Deploying Stored Processes SAS Stored Process is a SAS program developed by SAS programmers within Biometrics. In addition to the SAS program script, a SAS Stored Process contains additional metadata and is stored on the metadata server. This allows AMO (Add-in to Microsoft Office) users to run the stored process within MS Excel. This section describes the steps intended for project specific power users to create stored processes for their projects. It will describe the process of registering a SAS program onto the metadata server along with other related information for the stored process such as parameters. Parameters allow users to select optional values for the stored process to add more dynamic functionality. This is an option so a project power user can decide to simplify and not include any parameters in their stored process.

STEP 1 – Prepare and Test SAS Program

7. Open SAS Program – Within SAS Enterprise Guide (EG), click on the server icon within “Server List” panel and then navigate to your SAS program as shown in this example:

8. Move to Stored Process Folder – In addition to renaming the SAS program to contain the prefix “sp_” indicating that it is a stored process, you must also move the program to a sub-folder named “Stored Processes” as shown in this example.

9. Test Program – Run the program within EG (Enterprise Guide) from its new “Stored Processes” folder as before. Verify that there are no errors or warning in the log.

10. Testing Parameters – Only do the following steps if you decide to include parameters into your stored process.

a. Assign Parameter Macro Variable – Assign macro variables which will have values specified by the store process parameter. The following example uses a macro variable: _instrument. *** Generate the report sub-setting by instrument ***; title "Reports of Result Data by Instrument: &_instrument"; proc print data= indata.result_repro label; where swver= "&_instrument"; run;

b. Debug Test – Test the program by assigning sample valid values for the macro variable and running in EG to verify the results. The following example assigns a sample value. *** Test a valid instrument value ***; %let _instrument=IM300-00000001008; Upon completion of debug, comment this out since the stored process prompt will provide the final value. *** Test a valid instrument value ***; %***let _instrument=IM300-00000001008;

Page 11: Delivering Dynamic, Real-Time Reports to MS Office Users as … · 2014-11-01 · Pharmaceutical Industry SAS Users Group, San Diego, California, June 1-4, 2014. Smoak C, Widel M.

Delivering Dynamic, Real-Time Reports to MS Office Users as Stored Processes

11

11. Close Program – From the project tree, right mouse click on the program and select the delete option to close it out. If it is opened, it locks the program and prevents the stored process from registration.

STEP 2 – Register Data for Parameters Only register SAS datasets in this step if your stored process requires accessing SAS datasets as input to the prompted parameters. If you do not have parameters in your store process or if your prompts do not require values from an existing dataset, skip to step 3. If you are not a power user or do not have access to SAS Management Console, please request a power user with permissions to perform the following steps.

1. Create a Library - From within SAS Management console, right mouse click on the “Libraries” folder and select “New Library…” as shown here:

Page 12: Delivering Dynamic, Real-Time Reports to MS Office Users as … · 2014-11-01 · Pharmaceutical Industry SAS Users Group, San Diego, California, June 1-4, 2014. Smoak C, Widel M.

Delivering Dynamic, Real-Time Reports to MS Office Users as Stored Processes

12

2. Select Libname Type – From the first screen on the “New Library Wizard”, select on the item: Resource Templates > Libraries > SAS Data > SAS Base Libraries Click on the “Next >” button.

3. Define Name and Location – Type a unique name and the folder path where this should be assigned to such as this example: Use the browse button for the location selection. Click on the “Next >” button.

4. Select Server – Select “SASApp” server from available list on left panel and click on right arrow to select.

Click on “Next >” button.

5. Define Libref – Type a unique 8 character name for the libref. Select BASE for the engine. Select the path

that exists on the server where your SAS dataset resides. Here is an example: Click on the “Next >” button.

6. Confirm Library Creation – On the final screen of the “New Library Wizard” screen, click on the “Finish” button.

7. Register Tables – From the main “Plug-in” screen, right mouse click on the new library created and select

“Register Tables”.

8. Verify Libref – On the first “Select a SAS Library” screen, review the library and click on the “Next >” button.

9. Select Tables – Click on the table you wish to register and then click on the “Next >” button.

10. Confirm Table Register – On the last “Register Tables” screen, click on the “Finish” button.

STEP 3 – Create Stored Process

1. Identify Folder Location – Click on the “SAS Folders” icon and then navigate to the folder where you wish to create the new stored process. Note the path location.

2. Initiate Stored Process – Select the menu: File > New > Stored Process.

Page 13: Delivering Dynamic, Real-Time Reports to MS Office Users as … · 2014-11-01 · Pharmaceutical Industry SAS Users Group, San Diego, California, June 1-4, 2014. Smoak C, Widel M.

Delivering Dynamic, Real-Time Reports to MS Office Users as Stored Processes

13

3. Assign Name and Location – On the first “Create New Stored Process” screen, type the name of your stored process. Click on the “Browse” button to select the folder which was noted in the previous step. Click on the “Next >” button.

4. Register Code – On step “2 of 5 SAS Code” screen, Click on the “Replace with code from” button and select “SAS Servers…”.

Navigate to the program defined in step 1 above. Click on the “Next >” button.

Page 14: Delivering Dynamic, Real-Time Reports to MS Office Users as … · 2014-11-01 · Pharmaceutical Industry SAS Users Group, San Diego, California, June 1-4, 2014. Smoak C, Widel M.

Delivering Dynamic, Real-Time Reports to MS Office Users as Stored Processes

14

5. Select Execution Options – Select the following radio buttons for “3 of 6 Execution Options” screen.

Click on the “Next >” button.

6. Define Prompt – Only do this if you have parameters. From the screen “4 of 6 Prompts”, Click on the button: New > New Prompt… Type the prompt name matching with macro variable from step 1 above. For example, on the general tab, select the following:

7. Prompt Type and Values – Click on the second tab “Prompt Type and Values”. Make the selection including the data source which points to the dataset registered in the previous step.

Page 15: Delivering Dynamic, Real-Time Reports to MS Office Users as … · 2014-11-01 · Pharmaceutical Industry SAS Users Group, San Diego, California, June 1-4, 2014. Smoak C, Widel M.

Delivering Dynamic, Real-Time Reports to MS Office Users as Stored Processes

15

8. Complete Selection – Click on the “OK” button from the “Add New Prompt” screen. From the “”4 of 6 Prompts” screen, click on the “Finish” button.

STEP 4 – Verify Permissions

1. Stored Process Properties – Click on the “Folders” tab and then navigate to your stored processes folder. Right mouse click on your newly created stored process and select “Properties”.

2. Verify Group Permission – The permision of your stored process will need to match your project. This consists of two permission groups including a project group and project specific power user group. For example, you are working on an ABC stored process, you will first verify the ABC group. In this case, check for these two group permisisons. Click on the “Authorization” tab and then the ABC group. Verify that the group only has read permissions.

3. Verify Power User Group – On the same screen, click on the Power User group as shown here. Verify that the project specific power user has both read and write permissions.

Editing SAS Dataset from EG All reports generated for a study is organized by storing each report attribute within a dataset named REPORTS. This dataset capture report attributes such as titles and footnotes centrally. The reporting program would read this dataset and generate standard report attributes through a set of macros, referred to as “Trialex macros”. You can make edits and changes to the reports dataset within SAS EG. Since other Trialex macros uses this dataset, some standard procedures needs to be followed when making updates. The following steps explain the proper steps for performing edits to the reports dataset.

1. Navigate to Reports – Click on the “Server” icon on the server list and expand the “SASApp” server. Navigate to the folder named “Trialex” to find the “reports.sas7bdat” dataset as shown in this example.

Page 16: Delivering Dynamic, Real-Time Reports to MS Office Users as … · 2014-11-01 · Pharmaceutical Industry SAS Users Group, San Diego, California, June 1-4, 2014. Smoak C, Widel M.

Delivering Dynamic, Real-Time Reports to MS Office Users as Stored Processes

16

2. Open Edit – Open the dataset by double clicking on the dataset icon on the left panel navigation tree. The dataset values is displayed on the right panel in a grid view. Double click on any cell and it will display the following.

Click on the “Yes” button to open the dataset in “Update” mode.

3. Apply Edits – After selecting on the cell that you wish to edit, type in the new value for the specified cell.

4. Capture Modified Date – Click on the dataset properties menu bar icon on the upper right and then highlight the date part of “Last Modified” date. Right mouse click and select “Copy” to capture the date.

Page 17: Delivering Dynamic, Real-Time Reports to MS Office Users as … · 2014-11-01 · Pharmaceutical Industry SAS Users Group, San Diego, California, June 1-4, 2014. Smoak C, Widel M.

Delivering Dynamic, Real-Time Reports to MS Office Users as Stored Processes

17

Click on the “OK” button to close the properties screen.

5. Update Modified Date – Click on the “DATETIME” column corresponding to the cell which you have made updates and paste the new date time. Right mouse click on the cell and select “Paste”.

6. Update User Name – Click on the “USRNAME” column corresponding to the cell which you have made updates and type in your User ID.

7. Save Protect – After you have completed your edits, select the menu: Edit > Protect Data to save and release the data from update mode. This allows others from performing updates.

Page 18: Delivering Dynamic, Real-Time Reports to MS Office Users as … · 2014-11-01 · Pharmaceutical Industry SAS Users Group, San Diego, California, June 1-4, 2014. Smoak C, Widel M.

Delivering Dynamic, Real-Time Reports to MS Office Users as Stored Processes

18

Page 19: Delivering Dynamic, Real-Time Reports to MS Office Users as … · 2014-11-01 · Pharmaceutical Industry SAS Users Group, San Diego, California, June 1-4, 2014. Smoak C, Widel M.

Delivering Dynamic, Real-Time Reports to MS Office Users as Stored Processes

19

8. Inserting New Rows – You can insert new reports by doing the following steps.

a. Higlight Last Row – Click on the row number of the last row to highlight the entire last row.

b. Insert Row – Right mouse click on any cell from this last row and select “Insert rows…”.

c. Select Number of Insert – By default, it prompts to insert one row. You can select more if you anticipate to create multiple new report. Then click on the OK button.

d. Copy Template – If you hafe a template row, select that, othewise you can select the last row by clicking on the entire row. Do this by clicking on the row number similar to above. When you right mouse click this time, select “Copy”.

e. Paste Template – Right mouse click on the cell of the new blank row and select “Paste”.

f. Edit and Save – Once you have completed the edit of the new report, you can save and protect the datasets in the same way as the steps above from “3. Apply Edits” to “7. Save Protect”.