Utilizing SAS to Automate the Concatenation of Multiple Proc Report RTF Tables by Andrew Newcomer. Abstract

Size: px
Start display at page:

Download "Utilizing SAS to Automate the Concatenation of Multiple Proc Report RTF Tables by Andrew Newcomer. Abstract"

Transcription

1 Utilizing SAS to Automate the Concatenation of Multiple Proc Report RTF Tables by Andrew Newcomer Abstract This paper describes a useful and effective technique which utilizes SAS and the Microsoft Windows OS command language (MS-DOS) to automate the concatenation of multiple, RTF tables (Rich Text Format) produced using Proc Report in SAS. Our goal is to simplify the review and delivery of multiple RTF tables by combining them into one file, viewable by applications such as Microsoft Word. To accomplish this task, we need to first understand the RTF file structure and how ODS produces it. Once understood, we can apply that knowledge by manipulating the RTF code in our output and then combine an unlimited number of RTF files into one single document. This paper details how we can form such a technique into one, powerful SAS macro. Technical Specifications During the experimentation of this technique, I was using SAS version 8 and 9 for all table production. All tables were produced using ODS RTF via Proc Report. Programming was done using PC SAS. The code makes frequent use of the X statement which requires access to the operating system command line. Introduction A common process for table production includes creating multiple RTF tables using Proc Report. The review and delivery of these tables is easy when there is only a couple to deal with but it becomes a cumbersome process when tens or hundreds of tables are involved. To streamline this process and by client request, I wanted to develop a method to combine them into a single document for ease in printing, review, and delivery. The first concatenation attempts were manual, and it became evident that using MS Word to insert tables, one after another, was not a viable solution. It was a tedious process and the interaction of multiple table titles and footnotes produced unexpected results. Titles from one table would carry over to subsequent tables and dynamic pagination was not working either. After some research, I discovered that RTF files are independent entities. Combining two or more files or inserting one file into another creates conflicts among each documents header information. RTF header information is basically a set of instructions at the beginning of an RTF file that tells MS Word how the text should be displayed and formatted (more on this later). RTF readers will produce unexpected results trying to render a file with more than one set of header information. It is important to note the difference between RTF header information and document headers. Document headers, as in headers and footers would be titles, dates, page numbering, etc. They will actually appear in the document or table. RTF header information will not appear in the document. I decided to explore the possibility of programmatically stacking these RTF files together. My plan was to use the header from the first table and strip the headers out of subsequent tables. Theoretically, this would produce one cohesive document. In the following sections, I will give a general overview of the steps which are required to get us from start to finish. I have de-macrotized and simplified some aspects of the program to illustrate the ideas. The samples provided are abridged sections of code so the paper does not get too bogged down with details. The next section discusses the preliminary concatenation process and the subsequent sections will get into the RTF structure and manipulation. Part I: Understanding RTF Files Before we get started with the meat of the paper, it s important to know what goes on behind the scenes in Rich Text Format. Let us take a look at what makes up an RTF file. Microsoft has a great RTF resource on the MSDN website (see Acknowledgements). On it, you will find that an RTF file has the following syntax: <File>'{' <header> <document> '}' Seems simple enough, right? In reality it is a bit more complicated. Specifically, the header and document sections contain a large amount of behind the scenes code similar to the way HTML generates a web page. You can actually look at the RTF code of a file by opening it with a text editor like Notepad on the Windows operating system. To create an RTF file that displays the phrase This is an RTF test., the code would look something like this: Figure ansi\deff0 2. {\fonttbl 3. {\f0\froman Tms Rmn;} 4. {\f1\fdecor Symbol;} 5. {\f2\fswiss Helv;}} 6. {\colortbl; 7. \red0\green0\blue0; 8. \red0\green0\blue255; 9. \red0\green255\blue255; 10. \red0\green255\blue0; 11. \red255\green0\blue255; 12. \red255\green0\blue0; 13. \red255\green255\blue0; 14. \red255\green255\blue255;} 15. {\stylesheet{\fs20\snext0normal;}} 16. {\info{\author John Doe} 17. {\creatim\yr2006\mo1\dy1\hr12\min01} 18. {\version1}{\edmins0} 19. {\nofpages1} 20. {\nofwords0} 21. {\nofchars0} 22. {\vern8351}} 23. \widoctrl\ftnbj\sectd\linex0\endnhere 24. \pard\plain\fs20 This is an RTF test. 25.

2 Note: The line numbers were added to illustrate the example and do not actually appear in RTF code. Most of the above text strings are RTF header tags. Tags are generally separated by the \ character. These are the instructions on how the file will be rendered by the viewing application (i.e. MS Word). Some of these instructions would include color definitions, fonts, and other document properties. You can see that the actual text that we want to display does not appear until line #24. The first 23 lines in the above example make up the file header. There are three tags in line #24 which define how our text will appear: \pard means the text will use default paragraph properties \plain means the text will use default font properties \fs20 means the font size equals 20 half-points Default properties are defined by your application, in this case MS Word. In the above example, our text will be displayed with default settings and have a size of 10pt. The last closing bracket on line #25 acts as the end of file mark. Anything after that bracket is ignored by the RTF viewer. Pretty complicated for just five simple words. Imagine what the code looks like for a SAS table in RTF. The previous example was simplified to give you a basic understanding of the RTF structure. It is not necessary that we know what every tag means. In fact, we only need to know a few. I will mention the more important tags as we go along. That being said, the RTF code looks less jumbled the more you can recognize what the various tags mean. If you generate an RTF table using SAS and open it in Notepad, you would see something similar to the example above on a much larger scale. One thing that works to our advantage is that SAS outputs the same RTF header every time it creates a file except for a few minor differences depending on your ODS template, etc. The important thing is that the structure of the header is the same every time. It is also very important to mention that the RTF structure which SAS creates is lost if you edit the RTF file in MS Word. Once you save an RTF file in Word, the nice organized structure that SAS creates for us is lost. In addition, Word injects a large amount of additional RTF code which for our purpose is extraneous...we can do without it. Therefore, we must only work with files directly out of SAS. Otherwise our concatenation program will bomb. If you need to edit your RTF file in Word, be sure to wait until after the concatenation process. Part II: Concatenate the RTF Files into One Text File We start with a directory of RTF files. These are our SAS Proc Report, produced RTF tables. The first step in our macro will be to create a temporary directory where all of our concatenating will be done. This is where the X statement first comes into play. The ability to access the OS command line is very useful in utility programs such as this. We will create a temporary directory and copy our RTF files to it. X "md c:\rtf_files\temp" ; X "copy c:\rtf_files\*.rtf c:\rtf_files\temp" ; c:\rtf_files is the path to the directory with our RTF tables containing: Table 1.rtf, Table 2.rtf, Table 3.rtf, etc... c:\rtf_files\temp is the path to our temporary working directory that we will create to concatenate our files. Keep in mind that in the above step the copy *.rtf command copies all RTF files from the original directory so be sure that this directory only contains the files that we want to concatenate. Also, be careful if you have spaces in your path name you will need to use quotes properly. MS-DOS will see a space as a delimiter unless you have quotes around your path name. If your working path name has spaces in it, I would suggest creating one without spaces for this task. It will make life much easier. Next we need to create a SAS data set that will act as a list of our RTF files. First we ll read in the directory using a FILENAME statement and then convert that file to a SAS data set: filename filelist pipe "dir c:\rtf_files\temp /b" ; data filelist ; length rtfname $256 ; infile filelist length=size ; input rtfname $varying256. size ; run ; It is important to note that the order of records in the FILELIST data set will determine the order of concatenation. Unfortunately, the order will be exactly how the file list would appear in the directory (i.e. alphabetically) and this may not be the correct order. To get around this we need the ability to rename our files. Being able to rename the files will give us the option to create a concatenation order. However, in the essence of time, I m only going provide an overview on how to rename them dynamically. Just keep in mind that when you re ready to set a concatenation order, this is where it is done. Another reason we need to rename our files is because some of our RTF file names may have spaces in them. We need to create a new name without spaces because as I mentioned before, MS-DOS will see the space as a delimiter. For example, Table 23.rtf should be changed to Table23.rtf. So our next step is to create a batch file that will rename our RTF files so there are no spaces in the file names. A batch file is basically a text file containing a set of DOS commands. The advantage here is to have the batch file execute all the rename statements that we need (one for each RTF). This is the most dynamic approach because we could have ten or ten-thousand RTF files but it would not matter because the batch file is created automatically. Using the data set which contains our RTF file names we can output a new variable COMMAND that will be the actual DOS command used rename the RTF file. The following data step will create a text file with our DOS commands (our batch file):

3 data _null_ ; length command $8192 ; set filelist end=eof ; ** CREATE A NEW FILE NAME WITHOUT SPACES **; newname = compress(rtfname) ; ** CREATE BATCH FILE **; file "c:\rtf_files\temp\_rename_.bat" lrecl=8192 ; if _n_ eq 1 then command = off" ; put command ; command = "ren " '"' "c:\rtf_files\temp\" trim(left(rtfname)) '" "' compress(newname) '.txt"' ; put command ; run ; Careful with all those quotes. I used the double quotes specifically because in the actual program, the path name is a macro parameter. The batch file will look like this: off ren "c:\rtf_files\temp\table 1.rtf" "Table1.txt" ren "c:\rtf_files\temp\table 2.rtf" "Table2.txt" ren "c:\rtf_files\temp\table 3.rtf" "Table3.txt" Etc... Now that we built a batch file, we can run it to execute all the rename commands using the following X statement: X "c:\rtf_files\temp\_rename_.bat" ; The next step is to actually concatenate all the newly, renamed text files into one long text document. DOS has a quick, easy way to do this. The following command will copy all of our RTF files in the temporary directory back to the original directory as one text file, named _all_.txt. The second X statement will remove our temporary directory since it is no longer needed: X "copy c:\rtf_files\temp\*.txt c:\rtf_files\_all_.txt" ; X "rmdir c:\rtf_files\temp\*.* /s /q" ; There we have it. We have just concatenated all our RTF files into one.txt file. Remember, each table was created individually so if we started with ten tables, there will be ten sets of RTF headers and ten closing brackets, }. So if we were to open the file as it is right now, the RTF viewer would see the header section from the first table, render it, then once is gets to the first closing bracket, it would stop and we would end up seeing only the first table. So what we need to do next is essentially remove specific parts of the RTF code so that it is structured as one document instead of many. To do this we need to be able to edit the RTF code programmatically. Since we are all SAS programmers, what better way is there to edit text than with SAS? We can read our concatenated text file into SAS as if it was just another data set. This will give us access to the arsenal of powerful string functions which SAS provides. The following data step shows how we can read in the concatenated file. For every iteration of the data step, a new line of RTF code will be read into the variable RTFCODE. Once we have that variable, we can do whatever we want with it: data _null_ ; length rtfcode $8192 ; ** READ IN THE TEXT FILE WE CREATED **; infile "&outdir.\&rtffile..txt" lrecl=8192 end=eof ; input ; rtfcode = trim(left(_infile_)) ; ** CREATE A TABLE NUMBER COUNTER **; if substr(rtfcode,1,7) eq "" then tablenum + 1 ; Viola! Now we have a nice, working data set with the variable RTFCODE, which contains our.rtf code. The data null was used because we don t really need a working data set. Our final goal is to create a permanent RTF file and we can do so by using the FILE and PUT statements at the end of this step. Therefore, to cut down on processing time, we do not need to write a data set. Note the END= option on the INFILE statement. It is important for later on that we know when we have reached the end of the file. As the lines of RTF code are being read in, it is important to know when we come to a new table, so a table number counter will come in very handy. We know that the string appears at the beginning of the first line in all of our RTF files. So when SAS sees that text, we can identify the subsequent lines as the next table. I go into more detail about this further in the paper, but for now, just bear with me. So for now, let s set up a table counter along with a couple other variables that we will need to retain: retain tablenum width height keepline. ; ** TABLE NUMBER COUNTER **; if substr(rtfcode,1,7) eq "" then tablenum + 1 ; keepline = 0 ; The HEIGHT and WIDTH variables will be used to store each tables page size and allow us to go back and forth between landscape and portrait orientations within the same document. The KEEPLINE variable is a flag that we will use to determine which records we want to keep and which ones we want to drop (i.e. RTF header info). The important thing about this is that we need to reset it to zero at the beginning of each table. More on that later. In the meantime, we need to learn some of our more important RTF tags.

4 Part III: RTF Code The Basics The following section provides some very simplified examples. I want to show what the RTF code looks like and illustrate what SAS would be doing programmatically. I have left out the actual SAS code that would perform these manipulations because I think it is more important to see what is going on behind the scenes. Most of the string manipulations will be done using the SCAN, INDEX, or TRANWRD functions. Consider the following example. Let s say that we just concatenated two tables using the technique outlined in Part II. If we opened the file in a text editor, the structure would look something like this: \pard\plain\fs20\ Table 1\cell\row end of table 1 \pard\plain\fs20\ Table 2\cell\row end of table 2 Here is a quick overview of the RTF tags used in the above example: \rtf = beginning of RTF file = table row definition = 1 cell of size 2,880 twips (1,440 twips = one inch) \pard = reset to default properties \plain = default font properties \fs20 = 10 pt font size (20 half-point) \cell = end of cell tag \row = end of row tag You can copy the above code into a text file, save it with the extension.rtf, and open it in MS Word. All you would see is the text Table 1 with a frame around it. There are actually two RTF tables contained in the file but you will only see one. If we were to remove the closing bracket from the first table, and the RTF header info from the second table, we would see both tables......<rtf header code goes here>... \pard\plain\fs20\ Table 1\cell\row closing bracket RTF header info...<rtf header code>... RTF header info \pard\plain\fs20 Table 2\cell\row The <rtf header code goes here> is the section where we would normally see the RTF header tags as illustrated in Figure 1 (refer to the Introduction). You do not need the RTF header code to make this example work, though. The combined file will inherit the RTF header info from the first table and the closing bracket from the last table. Essentially, we are left with this:...<rtf header code goes here>... \pard\plain\fs20 Table 1\cell\row \pard \pard\plain\fs20 Table 2\cell\row There are some implications to consider when doing this - such as page layout. What, if our first table is portrait and the second is supposed to be landscape? Oops.it will appear as portrait. Since the second table, and subsequent tables, will inherit the properties defined in the first table s header section, we need to account differences between tables. Fortunately, we can define different page layout specifications from table to table. We do this by using section breaks. Part IV: RTF Section Breaks An important component behind making this technique work is the ability to define each table as its own section. This will allow us to specify orientation and margins and even section pagination. The tags \paperwn and \paperhn store the width and height of the page in the RTF document. N is the number of twips (1440 twips = one inch). Each table designates it s own page size using these tags. Similarly you can change the page size of a section within a document using the section tags \pgwsxnn and \pghsxnn. Since we are changing our tables into sections, we want to use the section tags. SAS, however, will spit out the \paper tags when creating a table. In keeping with the example above, we can add the necessary tags to create a section break and specify a landscape orientation:...<rtf header code goes here>... \pard\plain\fs20\ Table 1\cell\row \pard \sect\sectd \pgwsxn15840\pghsxn12240\lndscpsxn \pard\plain\fs20\ Table 2\cell\row \sect = new section \sectd = default section properties \pgwsxn15840 = section page width; 15,840 twips \pghsxn12240 = section page height; 12,240 twips \lndscpsxn = section has landscape orientation

5 All we did here was designate Table 2 as a new section in the document. By doing that, we can assign properties different from those defined in Table 1. In this case, we want the second table to be landscape. The first table would be 12,240 x 15,840 (8.5 x 11 ) and the second table would be 15,840 x 12,240 (11 x 8.5 ). OK, enough of the RTF syntax. Let us get back to out our SAS code, shall we? Part V: Manipulating the RTF Code Picking up where we left off in Part II, let s start by getting the page dimensions. I know in most cases my page size is 8.5 by 11. Therefore the page dimension tags will always be \paperw12240 and \paperh This means the width is 12,240 twips and the height is 15,840 twips. I could just hardcode my width and height but to be more dynamic, let s get the numbers programmatically. Since I know the dimensions are five digit numbers, I can use the index function to extract them (remember the variables that we wanted to retain, width and height?): ** GET PAGE DIMENSIONS **; if index(rtfcode,"\paperw") gt 0 then dim1 = compress(substr(rtfcode, index(rtfcode,"\paperw")+7,5),"\") ; if index(rtfcode,"\paperh") gt 0 then dim2 = compress(substr(rtfcode, index(rtfcode,"\paperh")+7,5),"\") ; ** MAKE SURE WIDTH IS THE SMALLER DIMENSION **; if input(dim2,best.) gt input(dim1,best.) then width = dim1 ; height = dim2 ; else width = dim2 ; height = dim1 ; The above example assumes that the number of twips (page dimensions) is five digits (i.e ). You could make the code more dynamic but I always use standard letter size (8.5 x 11 ) so 5 digits will cover that plus or minus two inches good enough, right? Notice that I am forcing the width variable to be the smaller of the two dimensions. That way, it does not matter if my document starts as landscape or portrait. I always know that the width is the smaller dimension. Now we know what our page dimensions are but before we can specify a table s page dimensions, we need a dynamic way to determine what the orientation is. When SAS creates a table that is supposed to be landscape (as designated in you table program) it inserts an RTF tag \landscape. Just to be safe, let s scan for that and the section landscape tag. If found, we know the current table should be landscape: ** PORTRAIT **; if index(rtfcode,'\landscape\') eq 0 and index(rtfcode,'\lndscpsxn\') eq 0 then orient = '\pgwsxn' width '\pghsxn' height ; ** LANDSCAPE **; else if index(rtfcode,'\landscape\') gt 0 and index(rtfcode,'\lndscpsxn\') gt 0 then orient = ' \lndscpsxn\pgwsxn' height '\pghsxn' width ; Here we created a new variable ORIENT which holds the RTF code specifying the section orientation. When the time comes, we can output this code to apply the appropriate orientation. Next, we need to account for any hard page breaks that will occur in our tables. A hard page break would occur if, for example, you used a break after <by variable> / page; statement in your proc report. That statement inserts a page break after whatever your by variable is. In this case, SAS will actually insert a section break into the table to achieve the hard page break. This causes a problem for us because we only want our section breaks to indicate new tables. If one of our tables has hard page breaks, our macro will think that it s a new table. Additionally, a hard page break would restart our page numbering if we are numbering by section. To resolve this, we can scan the RTF code and if we see a section break that we did not create, we can replace it with an RTF page break tag: if index(rtfcode,'\sect\sectd\') gt 0 then rtfcode = '\page\' ; Perfect! Now the tables have page breaks where they are supposed to and we know that all of our section breaks indicate new tables. The last thing to do before we output our RTF file is we need to open the brackets at the end of each table. This will allow us to see all the tables in the document when we open it in MS Word, instead of just seeing the first table (as I described in Part III). If you remember, all of our tables end with the \pard tag and a closing bracket. If you do not have a closing bracket on your last table, MS Word will think the file is corrupted. It is the same concept as having balanced quotes for text strings. So let s go ahead and remove the closing bracket from all but our last table The only tricky part here is that you need to know your tables were created using the BODYTITLE option. Using this option in the proc report statement will insert the title into the body of the table. SAS also outputs slightly different RTF syntax if you use BODYTITLE. The key difference is closing tag at the end of each RTF file. I created a work around by making a parameter in the macro (&BODYTITLE) which is just a Boolean flag letting me know if it was used. When I call the macro, I would set the parameter to 1 if I used the BODYTITLE option in my table programming (default is 0). In the example below you will see the slight difference in RTF syntax:

6 if not eof then /* IF NOT END OF FILE */ %if &bodytitle=0 %then if rtfcode eq '' then rtfcode = '\pard\sect' ;; %if &bodytitle=1 %then if rtfcode eq '\par}}' then rtfcode = '\sect}' ;; This example assumes that all of the tables either use BODYTITLE or not. I have never mixed table formats so this method is sufficient for me. However, if some of your tables use BODYTITLE and others do not, and you are trying to put them all together in one document, you will need to account for that differently in the code. Once all of our changes have been made, we can finally output the concatenated RTF file. The first step here is to output all of the RTF code from our first table. Second, we want to output the subsequent tables, being sure to omit their RTF header code. Remember that we need to do this so we only have one set of RTF header code. ** OUTPUT ALL RTF CODE FROM TABLE 1 **; if tablenum eq 1 then put rtfcode ; ** FOR SUBSEQUENT TABLES... **; else if tablenum gt 1 then if index(rtfcode,'\sectd\linex0\') gt 0 then keepline = 1 ; put rtfcode ; rtfcode = orient ; put rtfcode ; else if keepline eq 1 then put rtfcode ; run ; Notice what happens for subsequent tables. Remember that our retained variable KEEPLINE is set to zero at the beginning of each table. So we are not outputting any RTF code until we set that flag to 1. The data step will iterate over the RTF header information. Then once we get to the line that starts out with the \sectd\linex0\ tags, we know we have reached the end of our RTF header section. So at that point, we can switch the KEEPLINE flag on and start outputting our table. Don t forget to output the page orientation using our ORIENT variable that we created in Part V. Otherwise the subsequent tables will inherit the layout from the first table. I have left out some features that I added to the macro because I wanted to prevent the paper from getting too long and complicated. However, there are many ways to fine tune this technique to make it more dynamic and robust or tailor it to fit your specific needs. For example, if you are using RTF field codes to add page-numbering to your document (i.e. Page x of y), you can add a parameter to change the page numbering by section so the page x of y restarts for each table. This is an important feature for me because most of the time I want each table numbered individually even though they are all contained in one document. I added functionality to the macro which allows me to control the order of the concatenation. By default, the files will concatenate in the order which they appear in the directory. However, this is usually not the correct order. So I added an option that allows me to specify an order in an external file. This file is then read in during the execution of the macro and the specified order is applied. There are other pre-existing conditions that you may need to consider depending on your production environment. For example, historically, I produced tables with just text in black and white. However, I added functionality to the macro which can define many colors in the RTF header section depending on what is contained in the underlying tables. Since I am removing RTF header specifications for subsequent tables, I need to define all my colors in the beginning of the document. Another possibility is the incorporation of SAS produced figures within a concatenated document. I have experimented with this but still need to work out some of the kinks. I will save that for another paper. Part VII: Conclusion - Words of Caution Be careful to consider how your table production may affect the RTF structure which is created by SAS. For example, if you use the BODYTITLE option, your RTF structure changes just slightly enough that your program may not work if you had not accounted for such a possibility. Minor inconsistencies like this can be programmed around ahead of time with a little planning. Validate your final output which in this case is the combined document. You want to make sure that table layouts and pagination are displaying properly. Be prepared for a situation to arise where something unexpected happens with your output because of an unanticipated change in the RTF structure. Fortunately, most of these situations can be resolved with a little tweak to the macro. The rich text format has been around for quite some time and it is continually evolving. You may need to update your code as future versions of RTF and SAS are released. New tags may be added and who knows, maybe SAS will alter the way that Proc Report creates an RTF file. But in the meantime, I hope you find this technique useful. Part VI: Other Considerations

7 Acknowledgments SAS is a Registered Trademark of the SAS Institute, Inc. of Cary, North Carolina. Many thanks to Tim Kelly, Brian Shilling, and Deb Hoss for their input and support. References Microsoft Developer s Network - Rich Text Format (RTF) Specification, version 1.6 (May 1999). Retrieved from ( SAS Technical Support Resources. Retrieved from Contact Information Your comments and questions are valued and encouraged. Contact the author at: Andrew Newcomer Biocor, LLC 301 Oxford Valley Road Suite 1725 Yardley, PA anewcomer@biocor.com

One SAS To Rule Them All

One SAS To Rule Them All SAS Global Forum 2017 ABSTRACT Paper 1042 One SAS To Rule Them All William Gui Zupko II, Federal Law Enforcement Training Centers In order to display data visually, our audience preferred Excel s compared

More information

Making an RTF file Out of a Text File, With SAS Paper CC13

Making an RTF file Out of a Text File, With SAS Paper CC13 Making an RTF file Out of a Text File, With SAS Paper CC13 David Franklin Independent SAS Consultant While you are waiting, some trivia. Q is the only letter in the alphabet that does not appear in the

More information

Welcome Back! Without further delay, let s get started! First Things First. If you haven t done it already, download Turbo Lister from ebay.

Welcome Back! Without further delay, let s get started! First Things First. If you haven t done it already, download Turbo Lister from ebay. Welcome Back! Now that we ve covered the basics on how to use templates and how to customise them, it s time to learn some more advanced techniques that will help you create outstanding ebay listings!

More information

A Fully Automated Approach to Concatenate RTF outputs and Create TOC Zhiping Yan, Covance, Beijing, China Lugang Xie, Merck, Princeton, US

A Fully Automated Approach to Concatenate RTF outputs and Create TOC Zhiping Yan, Covance, Beijing, China Lugang Xie, Merck, Princeton, US PharmaSUG China 2015 - Paper 28X-B9F7B4B9P8 A Fully Automated Approach to Concatenate RTF outputs and Create TOC Zhiping Yan, Covance, Beijing, China Lugang Xie, Merck, Princeton, US ABSTRACT Statistical

More information

COMS 6100 Class Notes 3

COMS 6100 Class Notes 3 COMS 6100 Class Notes 3 Daniel Solus September 1, 2016 1 General Remarks The class was split into two main sections. We finished our introduction to Linux commands by reviewing Linux commands I and II

More information

ODS/RTF Pagination Revisit

ODS/RTF Pagination Revisit PharmaSUG 2018 - Paper QT-01 ODS/RTF Pagination Revisit Ya Huang, Halozyme Therapeutics, Inc. Bryan Callahan, Halozyme Therapeutics, Inc. ABSTRACT ODS/RTF combined with PROC REPORT has been used to generate

More information

Presentation Quality Bulleted Lists Using ODS in SAS 9.2. Karl M. Kilgore, PhD, Cetus Group, LLC, Timonium, MD

Presentation Quality Bulleted Lists Using ODS in SAS 9.2. Karl M. Kilgore, PhD, Cetus Group, LLC, Timonium, MD Presentation Quality Bulleted Lists Using ODS in SAS 9.2 Karl M. Kilgore, PhD, Cetus Group, LLC, Timonium, MD ABSTRACT Business reports frequently include bulleted lists of items: summary conclusions from

More information

How To Get Your Word Document. Ready For Your Editor

How To Get Your Word Document. Ready For Your Editor How To Get Your Word Document Ready For Your Editor When your document is ready to send to your editor you ll want to have it set out to look as professional as possible. This isn t just to make it look

More information

HTML for the SAS Programmer

HTML for the SAS Programmer HTML for the SAS Programmer Lauren Haworth Kaiser Permanente Center for Health Research Portland, Oregon ½ ABSTRACT With more and more output being delivered via the Internet, a little knowledge of HTML

More information

Part 1. Getting Started. Chapter 1 Creating a Simple Report 3. Chapter 2 PROC REPORT: An Introduction 13. Chapter 3 Creating Breaks 57

Part 1. Getting Started. Chapter 1 Creating a Simple Report 3. Chapter 2 PROC REPORT: An Introduction 13. Chapter 3 Creating Breaks 57 Part 1 Getting Started Chapter 1 Creating a Simple Report 3 Chapter 2 PROC REPORT: An Introduction 13 Chapter 3 Creating Breaks 57 Chapter 4 Only in the LISTING Destination 75 Chapter 5 Creating and Modifying

More information

Templates and Forms A Complete Overview for Connect Users

Templates and Forms A Complete Overview for Connect Users Templates and Forms A Complete Overview for Connect Users Chapter 1: Introduction... 3 Chapter 2: Microsoft Online Templates... 3 Word Templates... 3 Template Details... 4 Create a Template... 4 Update

More information

ORB Education Quality Teaching Resources

ORB Education Quality Teaching Resources JavaScript is one of the programming languages that make things happen in a web page. It is a fantastic way for students to get to grips with some of the basics of programming, whilst opening the door

More information

FROM 4D WRITE TO 4D WRITE PRO INTRODUCTION. Presented by: Achim W. Peschke

FROM 4D WRITE TO 4D WRITE PRO INTRODUCTION. Presented by: Achim W. Peschke 4 D S U M M I T 2 0 1 8 FROM 4D WRITE TO 4D WRITE PRO Presented by: Achim W. Peschke INTRODUCTION In this session we will talk to you about the new 4D Write Pro. I think in between everyone knows what

More information

Week - 01 Lecture - 04 Downloading and installing Python

Week - 01 Lecture - 04 Downloading and installing Python Programming, Data Structures and Algorithms in Python Prof. Madhavan Mukund Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 01 Lecture - 04 Downloading and

More information

Running Wordstar 6 on Windows 7 Using vdos

Running Wordstar 6 on Windows 7 Using vdos Running Wordstar 6 on Windows 7 Using vdos Thanks to Dennis McCunney for helping me learn how to set vdos up. DISCLAIMER #1: As explained below, I am running Wordstar 6 for DOS on a Windows 7 (64- bit)

More information

Earthwork 3D for Dummies Doing a digitized dirt takeoff calculation the swift and easy way

Earthwork 3D for Dummies Doing a digitized dirt takeoff calculation the swift and easy way Introduction Earthwork 3D for Dummies Doing a digitized dirt takeoff calculation the swift and easy way Getting to know you Earthwork has inherited its layout from its ancestors, Sitework 98 and Edge.

More information

Lecture 5. Essential skills for bioinformatics: Unix/Linux

Lecture 5. Essential skills for bioinformatics: Unix/Linux Lecture 5 Essential skills for bioinformatics: Unix/Linux UNIX DATA TOOLS Text processing with awk We have illustrated two ways awk can come in handy: Filtering data using rules that can combine regular

More information

Chapter 2 The SAS Environment

Chapter 2 The SAS Environment Chapter 2 The SAS Environment Abstract In this chapter, we begin to become familiar with the basic SAS working environment. We introduce the basic 3-screen layout, how to navigate the SAS Explorer window,

More information

The first time you open Word

The first time you open Word Microsoft Word 2010 The first time you open Word When you open Word, you see two things, or main parts: The ribbon, which sits above the document, and includes a set of buttons and commands that you use

More information

Excel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller

Excel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller Excel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller Table of Contents Introduction!... 1 Part 1: Entering Data!... 2 1.a: Typing!... 2 1.b: Editing

More information

Use That SAP to Write Your Code Sandra Minjoe, Genentech, Inc., South San Francisco, CA

Use That SAP to Write Your Code Sandra Minjoe, Genentech, Inc., South San Francisco, CA Paper DM09 Use That SAP to Write Your Code Sandra Minjoe, Genentech, Inc., South San Francisco, CA ABSTRACT In this electronic age we live in, we usually receive the detailed specifications from our biostatistician

More information

Creating a new form with check boxes, drop-down list boxes, and text box fill-ins. Customizing each of the three form fields.

Creating a new form with check boxes, drop-down list boxes, and text box fill-ins. Customizing each of the three form fields. In This Chapter Creating a new form with check boxes, drop-down list boxes, and text box fill-ins. Customizing each of the three form fields. Adding help text to any field to assist users as they fill

More information

shortcut Tap into learning NOW! Visit for a complete list of Short Cuts. Your Short Cut to Knowledge

shortcut Tap into learning NOW! Visit  for a complete list of Short Cuts. Your Short Cut to Knowledge shortcut Your Short Cut to Knowledge The following is an excerpt from a Short Cut published by one of the Pearson Education imprints. Short Cuts are short, concise, PDF documents designed specifically

More information

WORD 2016 INTERMEDIATE Page 1. Word 2016 Intermediate. North American Edition SAMPLE

WORD 2016 INTERMEDIATE Page 1. Word 2016 Intermediate. North American Edition SAMPLE Word 2016 Intermediate WORD 2016 INTERMEDIATE Page 1 Word 2016 Intermediate North American Edition 2015 Cheltenham Group Pty. Ltd. - www.cheltenhamcourseware.com WORD 2016 INTERMEDIATE Page 2 2015 Cheltenham

More information

Step by step instructions for layout for Theology papers Part 1 Setting up margins

Step by step instructions for layout for Theology papers Part 1 Setting up margins Step by step instructions for layout for Theology papers Part 1 Setting up margins The formatting of these research papers can be thought of in terms of sections. Each of these sections has different formatting

More information

Professional outputs with ODS LATEX

Professional outputs with ODS LATEX Paper TU04 Professional outputs with ODS LATEX Arnaud DAUCHY, Sanofi Aventis, Paris, France Solenn LE GUENNEC, Sanofi Aventis, Paris, France ABSTRACT ODS tagset and ODS markup have been embedded from SAS

More information

2997 Yarmouth Greenway Drive, Madison, WI Phone: (608) Web:

2997 Yarmouth Greenway Drive, Madison, WI Phone: (608) Web: Getting the Most Out of SAS Enterprise Guide 2997 Yarmouth Greenway Drive, Madison, WI 53711 Phone: (608) 278-9964 Web: www.sys-seminar.com 1 Questions, Comments Technical Difficulties: Call 1-800-263-6317

More information

A SAS Macro Utility to Modify and Validate RTF Outputs for Regional Analyses Jagan Mohan Achi, PPD, Austin, TX Joshua N. Winters, PPD, Rochester, NY

A SAS Macro Utility to Modify and Validate RTF Outputs for Regional Analyses Jagan Mohan Achi, PPD, Austin, TX Joshua N. Winters, PPD, Rochester, NY PharmaSUG 2014 - Paper BB14 A SAS Macro Utility to Modify and Validate RTF Outputs for Regional Analyses Jagan Mohan Achi, PPD, Austin, TX Joshua N. Winters, PPD, Rochester, NY ABSTRACT Clinical Study

More information

RICH ENTERPRISES. Small Business Series. Getting Started with HTML

RICH ENTERPRISES. Small Business Series. Getting Started with HTML RICH ENTERPRISES Small Business Series Getting Started with HTML SMALL BUSINESS SERIES Getting Started With HTML Rich Enterprises 1512 Dietrich Road Twin Lakes, WI 53181 Phone/Fax 262-877-8630 Introduction

More information

PAGE LAYOUT CHAPTER X. In this session you will:

PAGE LAYOUT CHAPTER X. In this session you will: CHAPTER X INFOCUS PAGE LAYOUT Page layout refers to the overall layout and appearance of your document such as how much text you will include on each page, the size of the paper on which you will print

More information

Excel Basics Fall 2016

Excel Basics Fall 2016 If you have never worked with Excel, it can be a little confusing at first. When you open Excel, you are faced with various toolbars and menus and a big, empty grid. So what do you do with it? The great

More information

Karlen Communications Track Changes and Comments in Word. Karen McCall, M.Ed.

Karlen Communications Track Changes and Comments in Word. Karen McCall, M.Ed. Karlen Communications Track Changes and Comments in Word Karen McCall, M.Ed. Table of Contents Introduction... 3 Track Changes... 3 Track Changes Options... 4 The Revisions Pane... 10 Accepting and Rejecting

More information

4HOnline has a powerful report system that allows you to take an existing report, customize it to suit your needs, and then save it to use again.

4HOnline has a powerful report system that allows you to take an existing report, customize it to suit your needs, and then save it to use again. 4HOnline USING AND CREATING REPORTS Created: October 14, 2013 OVERVIEW 4HOnline has a powerful report system that allows you to take an existing report, customize it to suit your needs, and then save it

More information

c122jan2714.notebook January 27, 2014

c122jan2714.notebook January 27, 2014 Internet Developer 1 Start here! 2 3 Right click on screen and select View page source if you are in Firefox tells the browser you are using html. Next we have the tag and at the

More information

Text. Text metrics. There are some important metrics that we must consider when working with text. Figure 4-1 shows the basics.

Text. Text metrics. There are some important metrics that we must consider when working with text. Figure 4-1 shows the basics. Text Drawing text has some special properties and thus is treated in a separate chapter. We first need to talk about the sizing of text. Then we discuss fonts and how text is actually drawn. There is then

More information

In Depth: Writer. The word processor is arguably the most popular element within any office suite. That. Formatting Text CHAPTER 23

In Depth: Writer. The word processor is arguably the most popular element within any office suite. That. Formatting Text CHAPTER 23 CHAPTER 23 In Depth: Writer The word processor is arguably the most popular element within any office suite. That said, you ll be happy to know that OpenOffice.org s Writer component doesn t skimp on features.

More information

Word - Basics. Course Description. Getting Started. Objectives. Editing a Document. Proofing a Document. Formatting Characters. Formatting Paragraphs

Word - Basics. Course Description. Getting Started. Objectives. Editing a Document. Proofing a Document. Formatting Characters. Formatting Paragraphs Course Description Word - Basics Word is a powerful word processing software package that will increase the productivity of any individual or corporation. It is ranked as one of the best word processors.

More information

VISUAL GUIDE to. RX Scripting. for Roulette Xtreme - System Designer 2.0. L J Howell UX Software Ver. 1.0

VISUAL GUIDE to. RX Scripting. for Roulette Xtreme - System Designer 2.0. L J Howell UX Software Ver. 1.0 VISUAL GUIDE to RX Scripting for Roulette Xtreme - System Designer 2.0 L J Howell UX Software 2009 Ver. 1.0 TABLE OF CONTENTS INTRODUCTION...ii What is this book about?... iii How to use this book... iii

More information

Title and Modify Page Properties

Title and Modify Page Properties Dreamweaver After cropping out all of the pieces from Photoshop we are ready to begin putting the pieces back together in Dreamweaver. If we were to layout all of the pieces on a table we would have graphics

More information

HTML4 TUTORIAL PART 2

HTML4 TUTORIAL PART 2 HTML4 TUTORIAL PART 2 STEP 1 - CREATING A WEB DESIGN FOLDER ON YOUR H DRIVE It will be necessary to create a folder in your H Drive to keep all of your web page items for this tutorial. Follow these steps:

More information

ORB Education Quality Teaching Resources

ORB Education Quality Teaching Resources These basic resources aim to keep things simple and avoid HTML and CSS completely, whilst helping familiarise students with what can be a daunting interface. The final websites will not demonstrate best

More information

ABBYY FineReader 14. User s Guide ABBYY Production LLC. All rights reserved.

ABBYY FineReader 14. User s Guide ABBYY Production LLC. All rights reserved. ABBYY FineReader 14 User s Guide 2017 ABBYY Production LLC All rights reserved Information in this document is subject to change without notice and does not bear any commitment on the part of ABBYY The

More information

Essential Skills for Bioinformatics: Unix/Linux

Essential Skills for Bioinformatics: Unix/Linux Essential Skills for Bioinformatics: Unix/Linux SHELL SCRIPTING Overview Bash, the shell we have used interactively in this course, is a full-fledged scripting language. Unlike Python, Bash is not a general-purpose

More information

Writing Programs in SAS Data I/O in SAS

Writing Programs in SAS Data I/O in SAS Writing Programs in SAS Data I/O in SAS Statistics 135 Autumn 2005 Copyright c 2005 by Mark E. Irwin Writing SAS Programs Your SAS programs can be written in any text editor, though you will often want

More information

Statistics without DATA _NULLS_

Statistics without DATA _NULLS_ Statistics without DATA _NULLS_ Michael C. Palmer and Cecilia A. Hale, Ph.D.. The recent release of a new software standard can substantially ease the integration of human, document, and computer resources.

More information

Getting Started with Amicus Document Assembly

Getting Started with Amicus Document Assembly Getting Started with Amicus Document Assembly How great would it be to automatically create legal documents with just a few mouse clicks? We re going to show you how to do exactly that and how to get started

More information

Introduction to Programming in C Department of Computer Science and Engineering. Lecture No. #43. Multidimensional Arrays

Introduction to Programming in C Department of Computer Science and Engineering. Lecture No. #43. Multidimensional Arrays Introduction to Programming in C Department of Computer Science and Engineering Lecture No. #43 Multidimensional Arrays In this video will look at multi-dimensional arrays. (Refer Slide Time: 00:03) In

More information

SAMPLE PAPER FOR AN IGBR JOURNAL OR PROCEEDINGS PUBLICATION

SAMPLE PAPER FOR AN IGBR JOURNAL OR PROCEEDINGS PUBLICATION SAMPLE PAPER FOR AN IGBR JOURNAL OR PROCEEDINGS PUBLICATION John Smith, University of Abcdef ABSTRACT Each paper must start off with an abstract (with the exception of case studies). The abstract should

More information

Spectroscopic Analysis: Peak Detector

Spectroscopic Analysis: Peak Detector Electronics and Instrumentation Laboratory Sacramento State Physics Department Spectroscopic Analysis: Peak Detector Purpose: The purpose of this experiment is a common sort of experiment in spectroscopy.

More information

Using Graph-N-Go With ODS to Easily Present Your Data and Web-Enable Your Graphs Curtis A. Smith, Defense Contract Audit Agency, La Mirada, CA

Using Graph-N-Go With ODS to Easily Present Your Data and Web-Enable Your Graphs Curtis A. Smith, Defense Contract Audit Agency, La Mirada, CA Paper 160-26 Using Graph-N-Go With ODS to Easily Present Your Data and Web-Enable Your Graphs Curtis A. Smith, Defense Contract Audit Agency, La Mirada, CA ABSTRACT Visualizing and presenting data effectively

More information

Karlen Communications Add Accessible PowerPoint Placeholders. Karen McCall, M.Ed.

Karlen Communications Add Accessible PowerPoint Placeholders. Karen McCall, M.Ed. Karlen Communications Add Accessible PowerPoint Placeholders Karen McCall, M.Ed. Table of Contents Introduction... 3 Step 1: Slide Master View... 3 Step 2: Duplicate a Slide Layout... 5 Step 3: Rename

More information

Starting to Program in C++ (Basics & I/O)

Starting to Program in C++ (Basics & I/O) Copyright by Bruce A. Draper. 2017, All Rights Reserved. Starting to Program in C++ (Basics & I/O) On Tuesday of this week, we started learning C++ by example. We gave you both the Complex class code and

More information

TABLE OF CONTENTS CHANGES IN 2.0 FROM 1.O

TABLE OF CONTENTS CHANGES IN 2.0 FROM 1.O TABLE OF CONTENTS CHANGES IN 2.0 FROM 1.0 INTRODUCTION THE BOTTOM LINE ATTACHED FILES FONTS KEYBOARD WORD PROCESSING PROGRAMS INSTALLING FONTS INSTALLING KEYBOARDS MODIFYING KEYBOARDS TO YOUR LIKING OPEN

More information

Formatting a Report with Word 2010

Formatting a Report with Word 2010 Formatting a Report with Word 2010 The basics Although you can use Word to do a great many formatting tasks, here we will concentrate on the basic requirements for good presentation of a report. These

More information

File Triage. Work Smarter in Word, Excel, & PowerPoint. Neil Malek, MCT-ACI-CTT+

File Triage. Work Smarter in Word, Excel, & PowerPoint. Neil Malek, MCT-ACI-CTT+ Neil Malek, MCT-ACI-CTT+ Founder and Principal, Knack Training neil@knacktraining.com http://knacktraining.com File Triage Work Smarter in Word, Excel, & PowerPoint Microsoft Word 2 Terminology Style:

More information

Formatting Page Numbers for your Thesis/ Dissertation Using Microsoft Word 2013

Formatting Page Numbers for your Thesis/ Dissertation Using Microsoft Word 2013 Formatting Page Numbers for your Thesis/ Dissertation Using Microsoft Word 2013 Formatting page numbers can be a tricky task, especially for long documents that require careful attention to detail. Using

More information

TLMC SHORT CLASS: THESIS FORMATTING

TLMC SHORT CLASS: THESIS FORMATTING Table of Contents Introduction... 2 Getting Help... 2 Tips... 2 Working with Styles... 3 Applying a Style... 3 Creating A New Style... 3 Setting Margins... 4 Adding Page Numbers... 5 Step 1: Using Sections

More information

Creating an HTML file (Mac)

Creating an HTML file (Mac) writing html on a macintosh Creating an HTML file (Mac) All HTML files are text files. To create a text file you need an application that allows you to create plain text without throwing in a lot of fancy

More information

Reading in Data Directly from Microsoft Word Questionnaire Forms

Reading in Data Directly from Microsoft Word Questionnaire Forms Paper 1401-2014 Reading in Data Directly from Microsoft Word Questionnaire Forms Sijian Zhang, VA Pittsburgh Healthcare System ABSTRACT If someone comes to you with hundreds of questionnaire forms in Microsoft

More information

CSS worksheet. JMC 105 Drake University

CSS worksheet. JMC 105 Drake University CSS worksheet JMC 105 Drake University 1. Download the css-site.zip file from the class blog and expand the files. You ll notice that you have an images folder with three images inside and an index.html

More information

ODS DOCUMENT, a practical example. Ruurd Bennink, OCS Consulting B.V., s-hertogenbosch, the Netherlands

ODS DOCUMENT, a practical example. Ruurd Bennink, OCS Consulting B.V., s-hertogenbosch, the Netherlands Paper CC01 ODS DOCUMENT, a practical example Ruurd Bennink, OCS Consulting B.V., s-hertogenbosch, the Netherlands ABSTRACT The ODS DOCUMENT destination (in short ODS DOCUMENT) is perhaps the most underutilized

More information

Building Better s. Contents

Building Better  s. Contents Building Better Emails Contents Building Better Emails... 1 Email Marketing Basics... 2 How to Optimize HTML Emails... 2 Using OnContact to Send Email Campaigns rather than your regular email address or

More information

HTML TIPS FOR DESIGNING.

HTML TIPS FOR DESIGNING. This is the first column. Look at me, I m the second column.

More information

MadCap Software. Index Guide. Flare 2017 r2

MadCap Software. Index Guide. Flare 2017 r2 MadCap Software Index Guide Flare 2017 r2 Copyright 2017 MadCap Software. All rights reserved. Information in this document is subject to change without notice. The software described in this document

More information

Focus Group Analysis

Focus Group Analysis Focus Group Analysis Contents FOCUS GROUP ANALYSIS... 1 HOW CAN MAXQDA SUPPORT FOCUS GROUP ANALYSIS?... 1 IMPORTING FOCUS GROUP TRANSCRIPTS... 1 TRANFORMING AN ALREADY IMPORTED TEXT INTO A FOCUS GROUP

More information

1.0 Instructions for using your UQ templates

1.0 Instructions for using your UQ templates 1.0 Instructions for using your UQ templates 1.1 Opening a template Save your template attachment (without opening it) to a local or network location don t open it from email. Double-click the template

More information

Getting PC SAS to Do What You Want, When You Want, How You Want Jodie Gilmore, Fulcrum Communications, Washougal, WA

Getting PC SAS to Do What You Want, When You Want, How You Want Jodie Gilmore, Fulcrum Communications, Washougal, WA Getting PC SAS to Do What You Want, When You Want, How You Want Jodie Gilmore, Fulcrum Communications, Washougal, WA ABSTRACT Searching for a file that is not where you thought it was, starting SAS up

More information

Compiler Design Prof. Y. N. Srikant Department of Computer Science and Automation Indian Institute of Science, Bangalore

Compiler Design Prof. Y. N. Srikant Department of Computer Science and Automation Indian Institute of Science, Bangalore Compiler Design Prof. Y. N. Srikant Department of Computer Science and Automation Indian Institute of Science, Bangalore Module No. # 10 Lecture No. # 16 Machine-Independent Optimizations Welcome to the

More information

INTRODUCTION (1) Recognize HTML code (2) Understand the minimum requirements inside a HTML page (3) Know what the viewer sees and the system uses

INTRODUCTION (1) Recognize HTML code (2) Understand the minimum requirements inside a HTML page (3) Know what the viewer sees and the system uses Assignment Two: The Basic Web Code INTRODUCTION HTML (Hypertext Markup Language) In the previous assignment you learned that FTP was just another language that computers use to communicate. The same holds

More information

The American University in Cairo. Academic Computing Services. Excel prepared by. Maha Amer

The American University in Cairo. Academic Computing Services. Excel prepared by. Maha Amer The American University in Cairo Excel 2000 prepared by Maha Amer Spring 2001 Table of Contents: Opening the Excel Program Creating, Opening and Saving Excel Worksheets Sheet Structure Formatting Text

More information

GiftWorks Import Guide Page 2

GiftWorks Import Guide Page 2 Import Guide Introduction... 2 GiftWorks Import Services... 3 Import Sources... 4 Preparing for Import... 9 Importing and Matching to Existing Donors... 11 Handling Receipting of Imported Donations...

More information

Excel Level Three. You can also go the Format, Column, Width menu to enter the new width of the column.

Excel Level Three. You can also go the Format, Column, Width menu to enter the new width of the column. Introduction Excel Level Three This workshop shows you how to change column and rows, insert and delete columns and rows, how and what to print, and setting up to print your documents. Contents Introduction

More information

Master Syndication Gateway V2. User's Manual. Copyright Bontrager Connection LLC

Master Syndication Gateway V2. User's Manual. Copyright Bontrager Connection LLC Master Syndication Gateway V2 User's Manual Copyright 2005-2006 Bontrager Connection LLC 1 Introduction This document is formatted for A4 printer paper. A version formatted for letter size printer paper

More information

Programming and Data Structure

Programming and Data Structure Programming and Data Structure Dr. P.P.Chakraborty Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture # 09 Problem Decomposition by Recursion - II We will

More information

There are four (4) skills every Drupal editor needs to master:

There are four (4) skills every Drupal editor needs to master: There are four (4) skills every Drupal editor needs to master: 1. Create a New Page / Edit an existing page. This entails adding text and formatting the content properly. 2. Adding an image to a page.

More information

Getting Up to Speed with PROC REPORT Kimberly LeBouton, K.J.L. Computing, Rossmoor, CA

Getting Up to Speed with PROC REPORT Kimberly LeBouton, K.J.L. Computing, Rossmoor, CA SESUG 2012 Paper HW-01 Getting Up to Speed with PROC REPORT Kimberly LeBouton, K.J.L. Computing, Rossmoor, CA ABSTRACT Learning the basics of PROC REPORT can help the new SAS user avoid hours of headaches.

More information

Variable Techniques. What are variables?

Variable Techniques. What are variables? Variable Techniques Discussions in lesson one are rather broad in nature. The points made can be applied to any version of parametric programming. From this chapter on, we offer much more specific information.

More information

Cutting the SAS LOG down to size Malachy J. Foley, University of North Carolina at Chapel Hill, NC

Cutting the SAS LOG down to size Malachy J. Foley, University of North Carolina at Chapel Hill, NC Paper SY05 Cutting the SAS LOG down to size Malachy J. Foley, University of North Carolina at Chapel Hill, NC ABSTRACT Looking through a large SAS LOG (say 250 pages) for NOTE's and WARNING's that might

More information

The Big Python Guide

The Big Python Guide The Big Python Guide Big Python Guide - Page 1 Contents Input, Output and Variables........ 3 Selection (if...then)......... 4 Iteration (for loops)......... 5 Iteration (while loops)........ 6 String

More information

Open Book Format.docx. Headers and Footers. Microsoft Word Part 3 Office 2016

Open Book Format.docx. Headers and Footers. Microsoft Word Part 3 Office 2016 Microsoft Word Part 3 Office 2016 Open Book Format.docx Headers and Footers If your document has a page number, you already have a header or footer (and can double click on it to open it). If you did not

More information

Document Formatting and Page Layout

Document Formatting and Page Layout Word 2013 Document Formatting and Page Layout Introduction Instructional designers create a lot of documents such as job aids, training manuals, memos, and so forth. They do so using Word software. While

More information

Premium POS Pizza Order Entry Module. Introduction and Tutorial

Premium POS Pizza Order Entry Module. Introduction and Tutorial Premium POS Pizza Order Entry Module Introduction and Tutorial Overview The premium POS Pizza module is a replacement for the standard order-entry module. The standard module will still continue to be

More information

How to get started with Theriak-Domino and some Worked Examples

How to get started with Theriak-Domino and some Worked Examples How to get started with Theriak-Domino and some Worked Examples Dexter Perkins If you can follow instructions, you can download and install Theriak-Domino. However, there are several folders and many files

More information

Introduction to Microsoft Excel 2007

Introduction to Microsoft Excel 2007 Introduction to Microsoft Excel 2007 Microsoft Excel is a very powerful tool for you to use for numeric computations and analysis. Excel can also function as a simple database but that is another class.

More information

Table of Contents Introduction to Word Processors... B Formatting Levels... I Sections... III Styles... VIII Miscellaneous... XI

Table of Contents Introduction to Word Processors... B Formatting Levels... I Sections... III Styles... VIII Miscellaneous... XI Table of Contents Introduction to Word Processors... B Formatting Levels... I Sections... III Styles... VIII Miscellaneous... XI Introduction to Word Processors W ord processor programs are basically tools

More information

EXCEL + POWERPOINT. Analyzing, Visualizing, and Presenting Data-Rich Insights to Any Audience KNACK TRAINING

EXCEL + POWERPOINT. Analyzing, Visualizing, and Presenting Data-Rich Insights to Any Audience KNACK TRAINING EXCEL + POWERPOINT Analyzing, Visualizing, and Presenting Data-Rich Insights to Any Audience KNACK TRAINING KEYBOARD SHORTCUTS NAVIGATION & SELECTION SHORTCUTS 3 EDITING SHORTCUTS 3 SUMMARIES PIVOT TABLES

More information

A Generalized Macro-Based Data Reporting System to Produce Both HTML and Text Files

A Generalized Macro-Based Data Reporting System to Produce Both HTML and Text Files A Generalized Macro-Based Data Reporting System to Produce Both HTML and Text Files Jeff F. Sun, Blue Cross Blue Shield of North Carolina, Durham, North Carolina Abstract This paper will address the inter-connection

More information

Infowise Smart Print Pro User Guide

Infowise Smart Print Pro User Guide Infowise Smart Print Pro 1 Contents Introduction... 3 Installation... 3 Registration... 3 Print Settings... 3 Print Templates... 3 General Settings... 4 Display... 5 PDF Settings... 6 Advanced Mode Editing...

More information

How to Make a Book Interior File

How to Make a Book Interior File How to Make a Book Interior File These instructions are for paperbacks or ebooks that are supposed to be a duplicate of paperback copies. (Note: This is not for getting a document ready for Kindle or for

More information

Navigate to Success: A Guide to Microsoft Word 2016 For History Majors

Navigate to Success: A Guide to Microsoft Word 2016 For History Majors Navigate to Success: A Guide to Microsoft Word 2016 For History Majors Navigate to Success: A Guide to Microsoft Word 2016 for History Majors Navigate to Success: A Guide to Microsoft Word 2016 For History

More information

Creating an ArborCAD filter from Excel.

Creating an ArborCAD filter from Excel. ArborCAD Help File Windows systems only Creating an ArborCAD filter from Excel. This help file assumes you have your tree survey data in an Excel sheet. The ArborCAD filter is a special file which holds

More information

There are six main steps in creating web pages in FrontPage98:

There are six main steps in creating web pages in FrontPage98: This guide will show you how to create a basic web page using FrontPage98 software. These instructions are written for IBM (Windows) computers only. However, FrontPage is available for Macintosh users

More information

Word for Research Writing I: Text and Structure

Word for Research Writing I: Text and Structure Word for Research Writing I: Text and Structure Last updated: 10/2017 Shari Hill Sweet dteditor@nd.edu or 631-7545 1. The Graduate School Template...1 1.1 Document structure... 1 1.1.1 Beware of Section

More information

(Refer Slide Time: 01:25)

(Refer Slide Time: 01:25) Computer Architecture Prof. Anshul Kumar Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture - 32 Memory Hierarchy: Virtual Memory (contd.) We have discussed virtual

More information

The Ins and Outs of %IF

The Ins and Outs of %IF Paper 1135-2017 The Ins and Outs of %IF M. Michelle Buchecker, ThotWave Technologies, LLC. ABSTRACT Have you ever had your macro code not work and you couldn't figure out why? Even something as simple

More information

FACULTY AND STAFF COMPUTER FOOTHILL-DE ANZA. Office Graphics

FACULTY AND STAFF COMPUTER FOOTHILL-DE ANZA. Office Graphics FACULTY AND STAFF COMPUTER TRAINING @ FOOTHILL-DE ANZA Office 2001 Graphics Microsoft Clip Art Introduction Office 2001 wants to be the application that does everything, including Windows! When it comes

More information

MAPLOGIC CORPORATION. GIS Software Solutions. Getting Started. With MapLogic Layout Manager

MAPLOGIC CORPORATION. GIS Software Solutions. Getting Started. With MapLogic Layout Manager MAPLOGIC CORPORATION GIS Software Solutions Getting Started With MapLogic Layout Manager Getting Started with MapLogic Layout Manager 2008 MapLogic Corporation All Rights Reserved 330 West Canton Ave.,

More information

SETTING UP A. chapter

SETTING UP A. chapter 1-4283-1960-3_03_Rev2.qxd 5/18/07 8:24 PM Page 1 chapter 3 SETTING UP A DOCUMENT 1. Create a new document. 2. Create master pages. 3. Apply master pages to document pages. 4. Place text and thread text.

More information

Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur

Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur Lecture 06 Object-Oriented Analysis and Design Welcome

More information

CSV Roll Documentation

CSV Roll Documentation CSV Roll Documentation Version 1.1 March 2015 INTRODUCTION The CSV Roll is designed to display the contents of a Microsoft Excel worksheet in a Breeze playlist. The Excel worksheet must be exported as

More information