This action might not be possible to undo. Are you sure you want to continue?
1 (VISTA) COMMANDS USER GUIDE This document describes the most commonly used ACL commands. If you need a refresher on the ACL User Interface, please review the 10 minute demonstration or use the ACL User Interface Reference Document available on the EDA work center. Commands included: QUICK HITS: Statistics Classify Stratify Age FILTERING: Numeric Character Date Find Match Sub OTHER COMMANDS: Extract Export SAMPLING: CMA Random CALCULATIONS ADVANCED CALCULATIONS Creating Calculated Fields (formulas) EXTREME CALCULATIONS Concatenation Character Functions ADVANCED COMMANDS Summarize (Advanced Applications) Join
Copyright © 2008 Deloitte Development LLC. All rights reserved.
Partners in Learning
ACL 9.1 User Guide November 2008 Page 2 of 62
“QUICK HITS” - THE BIG PICTURE
The “Quick Hits” can be run in order to obtain an understanding of what the population contains and can be used in conjunction with the specific testing described in the Model Audit Procedures. They are big picture commands which run against your population. The aim of the Quick Hits process is to tie out the population, and to gather insights for further follow-up using filtering techniques. Individual filtering techniques are covered in the next session. While using “Quick Hits” commands you might find items of interest. We encourage you to understand the risks that these items pose and to prioritize efforts accordingly. The following are the “Quick Hits” commands: Statistics Classify Stratify Age
The “Quick Hits” Process: 1. Run the Statistics Command on numeric and date fields (column) in your file. For numeric fields, the Statistics Command gives you the total positive, zero, negative and net amounts; displays the five largest and five smallest items; and provides averages. In addition to performing Statistics on “Amounts” which should add to account balances, useful information can be obtained using Statistics on fields like Unit Costs, Interest rates, etc. When running Statistics on “Dates”, the highest five represents the five most recent dates encountered in your population, and the lowest five represents the earliest. This is a great way to determine whether your data file falls within a particular cutoff period. And unusual or missing dates are exposed.
Run the Classify Command on a field which is a “Code”. A Code is usually a small character field, one to four characters in length, used to describe things like transaction type, warehouse location, financial class, region, etc. Classify looks down an entire column and presents a list of every unique item found. In another words, it provides “Totals by…”, for example, totals by Region.
3. Run the Stratify Command on the “Amount” field which agrees to the account balance being tested. Stratify lets you define ranges based on size and stratifies your population into those ranges. You can easily see the distribution based on size, which may lead you to large or unusual items. 4. For appropriate populations such as Accounts Receivable, run the Aging command to determine the reasonableness of the aging performed by the entity.
Copyright © 2008 Deloitte Development LLC. All rights reserved.
Partners in Learning
ACL 9.1 User Guide November 2008 Page 3 of 62
QUICK HITS - STATISTICS
In the Analyze menu there are four commands which relate to “totaling data”: The COUNT command simply counts records meeting certain criteria or all records if a filter has not been set. It is typically used to determine how many items met the criteria of a filter. The TOTAL command totals a numeric fields(s) meeting certain criteria or all records if a filter has not been set. The STATISTICAL / PROFILE command gives a total, absolute value, minimum and maximum of records meeting certain criteria or all records if a filter has not been set. The STATISTICAL / STATISTICS command does all of the above and more. Therefore, for all totaling, counting, etc., STATISTICS is the preferred command to be used. HOW TO USE Click on Analyze / Statistical / Statistics. Click on a numeric or date field on which you want statistics run. Click OK.
Alternatively, on the toolbar, click this icon: If you click a Field name (column name) to highlight the column, and click the icon, or use the menu, STATISTICS will automatically run on that field as long as the field is numeric or date.
Copyright © 2008 Deloitte Development LLC. All rights reserved.
Partners in Learning
and a total of 127.ACL 9.1 User Guide November 2008 Page 4 of 62 WHAT THE STATISTICS COMMAND’S OUTPUT LOOKS LIKE INTERPRETING AND USING THE OUTPUT Anything underlined blue in the output of any ACL command is something you can click on (like clicking to surf the web) in order to set a filter. Partners in Learning . After setting the filter. Total and Average.718 negative amounts. Copyright © 2008 Deloitte Development LLC. In the above example. data which meets the criteria will be displayed. click the remove-filter icon . “Global Filter:” will display the filter currently in effect. At the bottom of the screen. When you are finished using a filter.687 rows. 14. There are three basic columns: Number. Number represents the number of records (rows) of data. All rights reserved.969 invoices with positive amounts. Total and Average are self explanatory. there were 112. and “Global Filter:” will no longer be displayed at the bottom of your screen.
Run Statistics on the “amount” field. Look for offsetting large debits and credits. Positive represents records with positive amounts (Debits). Statistics will provide the number of records. Run statistics prior to running a CMA sample. like BRANCH="04" or AMT > 50000 (assuming these are valid column names and values). records meeting the criteria will only be available. To see the detail of any of these items. of the items meeting the filter’s criteria. These are the five highest amounts and the five lowest amounts. Copyright © 2008 Deloitte Development LLC. positive amounts may actually be interpreted as Credits (depending on how the data is stored within the file). Highest and Lowest.. For example. It is best practice to examine the highest five and lowest five for reasonableness. NOTABLE OPTIONS In the dialog box. the highest 10 and lowest 10. Use the statistics command to tie out and reconcile your data file (population) to the account balance being tested. Run statistics after applying a filter. this document is written based on the assumption that positive amounts are debits and negative amounts are credits. click on the blue underlined amount. When analyzing liabilities. APPLYING THE STATISTICS COMMAND IN AUDIT 1. totals. By running statistics.1 User Guide November 2008 Page 5 of 62 Along the left side. For simplicity. 3. 2.ACL 9. A filter will be set for amounts of that size and ACL’s view will only display those items. Zeros represents zero value amounts. there are two rows. and “Totals” represents the grand total1. positives. negatives. For an invoice amount in an Open Accounts Receivable file. “Totals” would represent total Open A/R. and the execution of the Statistics command will only apply to records meeting these criteria. Partners in Learning . Copy & Paste the Statistics command output from the log into an AS/2 Excel working paper as statistic’s output provides 1 Note: Positive amounts can generally be interpreted as Debits when analyzing assets. etc. you will notice a couple of options as well: If you check the box for Std Deviation. At the bottom. On the “More” tab. you will essentially see what you have caught with the filter. the standard deviation will appear in the output under Abs value. All rights reserved. Negative represents records with negative amounts (Credits). you can increase or decrease the number of Highest and Lowest. After applying a filter. You can put something under "IF". Abs value is the sum of the positive amounts plus the positive sum of the negative amounts.
the highest and lowest will get you the five highest and lowest rates. You could filter on branch. etc. 6. Partners in Learning . The number of zeros and averages are interesting. Also. Try running the Statistics Command on a date column. The “average” will be the average date (e. Highest. Try running statistics on a unit cost in an inventory. The highest five and lowest five dates will give you a first indication of cutoff issues.1 User Guide November 2008 Page 6 of 62 information for the reconciliation of the CMA population (usually all debits) to the total population which ties to the G/L. Lowest. All rights reserved. and loan-to-value ratios. to isolate problem areas. Copyright © 2008 Deloitte Development LLC. and Average will be interesting. While the totals will not make sense. you could run Statistics on different loan types. reporting codes. Try running the Statistics Command on an interest rate column.. With the filter. Zeros. Average age of invoices). Look at the oldest item. agent.g. 4.ACL 9. For example. 5. in a loan file.
warehouse location. All rights reserved. Click OK. HOW TO USE Click on Analyze / Classify… Click on a character field on which you want to classify. representing things like transaction type. user id. and subtotal the DEBIT and CREDIT fields. Alternatively. use the Classify Command on every “Code”. loan type. source.ACL 9. you will get total DEBITS and CREDITS for each USER_ID found in the file. etc. For example. you do not get the opportunity to select fields to subtotal and total so the output is only a list and is less useful. on the toolbar. You can click a fieldname to highlight the column. if you were to classify a Journal Entry file on a field called USER_ID. and also hold [Ctrl] and click one or many numeric columns.1 User Guide November 2008 Page 7 of 62 QUICK HITS . Partners in Learning . Additionally.CLASSIFY The Classify command looks down a field (column) and lists every different “item” that it found. A code is a character column which is usually 4-5 (or fewer) characters wide. you can subtotal and total numeric fields to attain totals by item. or in audit terms. Understanding the contents of these codes and their distribution can provide useful insights. period. “Total debits and credits by User_ID”. and then click the Classify icon to get associated totals with the list. or use the menu. Copyright © 2008 Deloitte Development LLC. Click on a numeric field or fields you want subtotaled and totaled. Whenever you are running ACL. click this icon: If you click a fieldname to highlight a column and then click the Classify icon. However. CLASSIFY will automatically run as long as the highlighted column is a character field.
There were 36. All rights reserved. region 001 has 40.676 invoices in region 002. in this case. RGN. Copyright © 2008 Deloitte Development LLC. That is. a code). merely click on the blue underlined 003.ACL 9. data which meets the criteria will be displayed. Region 003 has accounted for 14. to set a filter to include all invoices in region 003. In the example above. COUNT represents the number of records (rows) per unique item in the field being classified. click the remove-filter icon . we have an A/R transaction file. One of the columns is called RGN which represents a region of the country. For example. and “Global Filter:” will no longer be displayed at the bottom of your screen. It is a character column less than 4 characters wide (i. “Percent of count” represents the percentage of records (rows) for each RGN (region) as compared to the total number of records (rows) in the file.1 User Guide November 2008 Page 8 of 62 WHAT THE OUTPUT LOOKS LIKE INTERPRETING & USING THE OUTPUT Anything underlined blue in the output of any ACL command is something you can click on (like clicking to surf the web) in order to set a filter.1% of the dollars.e. After setting the filter. The following describes the columns: RGN is the name of the field being classified.32% of the open invoices “Percent of field” represents the percentage of the subtotal column (Amount) for each region to the total for A/R. Partners in Learning .. Classify was run in order to see total invoice amount per region. At the bottom of the screen. “Global Filter:” will display the filter currently in effect. When you are finished using a filter.
Click OK. clerk’s initials. 6.“new value”) In the above example. transaction types. APPLYING THE CLASSIFY COMMAND IN AUDIT Run classify on fields which are codes. The character field.. The loan type field is numeric and contains values 0 . 03 … 20 with leading zeros. use the steps above except use the following instead of step 4 above: 4. 2. 02. SYNTAX OF THE STRING FUNCTION is: STRING(fieldname of numeric field.“old value”. If you wanted loan type to display 01.ACL 9.“ ”. state. A code is a small field representing something with a larger description. you need to total principal balance by loan type. You might find things that are unexpected. and looked at the highest and lowest.2). Copyright © 2008 Deloitte Development LLC. regions.Use the STRING() function to turn a numeric field into character.2) under “selected fields” and click OK Click on a numeric field or fields you want subtotaled and totaled. you would know for sure what the minimum and maximum was and could specify the width necessary based on that. They are usually 1-4 characters wide. which is a right justified number. For example. 5. e. financial class. 4.g. What to do is as follows: 1.“0”) and click OK. we replaced blanks with zeros. 7. All rights reserved.width you desire) In the above example.: Sales in a particular state greater than expected Sales in states you cannot locate on an atlas Loan types you never thought the client had Faulty data from poor input validation controls. The classify command is like a X-RAY of the client's data/business. Having codes saves space on reports and in data files. Examples are Loan types. 3. in this case. was the string function results. Click on Analyze / Classify… Click on the button [Classify on…] Click on the button [Expr…] In the box called Expression. type REPLACE(STRING(loan_type.20. type STRING(loan_type. In the box called Expression. etc.1 User Guide November 2008 Page 9 of 62 NOTABLE OPTIONS What to do if the field you want to classify on is not character . assume loan_type occupied up to 2 characters in width. Partners in Learning . SYNTAX OF THE REPLACE FUNCTION is: REPLACE(fieldname of character field. warehouse locations. If you had run statistics on loan_type.2) and click OK You will then see STRING(loan_type.
You get a concise list of each item found. When using the Classify command and you get blanks or unexpected values in the classify-on column. a ?. data is ultimately entered or input.5". two things could happen. All rights reserved. And then. or something else. the screen will give an error message "ERROR. with respective record counts and totals. Partners in Learning . If valid loan types are 1 through 5.ACL 9. On some systems. and the data entry person enters a blank. Valid Loan Types are 1 . a 6. what do the processing systems do with the bad data? HOT TIP! After using the Find Function (see filtering). you may want to follow up as the screens with supposed controls may be accepting bad data. Copyright © 2008 Deloitte Development LLC.1 User Guide November 2008 Page 10 of 62 On that last point. it will take whatever you type. On some systems. use classify on the field you searched through using Find.
$20.1 User Guide November 2008 Page 11 of 62 QUICK HITS . and so on. and divide it by the number of intervals to make the ranges. ACL creates two buckets for either side of the Min and Max you select. Partners in Learning . and the number of intervals. Examples would include an invoice amount from an A/R file or Debit or Credit from a Journal Entry file. click on a numeric field.999. Click on a numeric field or fields you want subtotaled and totaled. HOW TO USE Click on Analyze / Stratify… Under “Stratify on”. Using STRATIFY. Stratify accomplishes this task. All rights reserved. it adds up the A/R amount for each range. usually your “amount” which ties to the account balance you are testing. For example. Enter a minimum and maximum. The result shows you whether or not a population is homogeneous and identifies potentially unexpected large or unusual items in a population. you may have a file containing A/R invoices and want to know what percentage of A/R invoices are between $0 and $9.ACL 9. It is used to put detail items into ranges or buckets based on size. Copyright © 2008 Deloitte Development LLC. you set up ranges (or buckets) and then stratify a population. STRATIFY is an important tool in the search for large or unusual journal entries because it may spotlight unusual looking amounts. Not only does it show the number of invoices falling into each of the ranges. such as A/R invoices. into those ranges. Determine your ranges or “buckets”.999. less than 0 and greater than 100000. Ranges can be determined in two ways: 1.STRATIFY The STRATIFY command in ACL is an important tool. In the example below.999. subtract the minimum amount. ACL will take the maximum amount. Usually the same field as the one used under “Stratify-on” (See example screen below).000 and $19. $10.000 and $29.
Partners in Learning . Enter ascending amounts. and enter specific ranges you desire. Like 0 250 500 1000 10000 12000. Click the dot next to Free. All rights reserved.1 User Guide November 2008 Page 12 of 62 OR 2. Free essentially means you are free to enter your own specific ranges. Copyright © 2008 Deloitte Development LLC. etc.ACL 9. You basically enter a number and hit [Enter] until done.
Stratify will automatically run on that field as long as it is a numeric field. NOTE: If you run Statistics prior to running Stratify. you will not have the opportunity to select the above options so this method is not useful. Copyright © 2008 Deloitte Development LLC. click this icon: and fill out the options noted above. However. This is not always very helpful as the minimum and maximum need to be round numbers in order for the buckets to be understandable. the Minimum and Maximum in Stratify will automatically be filled out from the top-5 and bottom-5 from Statistics. The intervals will be 10. If you click a Field name to highlight a column and then click the icon or use the menu. It is recommended to override these values using your judgment in order for the output to make sense. Partners in Learning . All rights reserved. and Stratify will use this as ranges.ACL 9. To bypass the menu when invoking the Stratify command.1 User Guide November 2008 Page 13 of 62 Click OK.
1 User Guide November 2008 Page 14 of 62 Copyright © 2008 Deloitte Development LLC.ACL 9. All rights reserved. Partners in Learning .
ACL 9. Partners in Learning .1 User Guide November 2008 Page 15 of 62 WHAT THE OUTPUT LOOKS LIKE INTERPRETING & USING THE OUTPUT Anything underlined blue in the output of any ACL command is something you can click on (like clicking to surf the web) in order to set a filter. When you are finished using a filter. All rights reserved. data which meets the criteria will be displayed. At the bottom of the screen. and “Global Filter:” will no longer be displayed at the bottom of your screen. click the remove-filter icon . “Global Filter:” will display the filter currently in effect. Copyright © 2008 Deloitte Development LLC. After setting the filter.
448. You’ll get a spread of principal balance across the rates.00.00. invoices. To read the output. This is out of 127.13% of the total A/R balance. Simply start from the bottom and add up the “count” column as you work upwards. “I want to see all items greater than XXXXXX”. stratify on interest rate and subtotal principal balance. APPLYING THE STRATIFY COMMAND IN AUDIT One of the principal purposes is to look for unusually large items. from the bottom upwards. Notice the count will be low. These 286 invoices are 0. Under the column AMOUNT on the right. in this case.00 all the way to 20. These are the buckets or ranges. and the “Percentage of Amount” will be pretty high. 1. again. and apply the appropriate filter. look at the buckets containing the larger items. In other words.22% of the total number of invoices and add up to $6. under the column AMOUNT. Copyright © 2008 Deloitte Development LLC. Partners in Learning .ACL 9. COUNT represents the number of records (rows).000 in size. Percent of field represents the percentage of the subtotal column (Amount) for each bucket to the total for A/R. All rights reserved. Use “Free” and enter 0. The stratify command also lets you see the point of diminishing returns when you are determining a threshold for reviewing and understanding large items. add the “Percent of Amount”. For example. Percent of count represents the percentage of records (rows) falling into that particular bucket. which make up almost 7% of the total A/R. you could say there were 286 invoices with amounts between $20.00. From there. you can easily say. The stratify command lets you quickly see the 80-20 principle.1 User Guide November 2008 Page 16 of 62 On the left side.80 which is 5. falling into each of the ranges (buckets).687 invoices. you get a cumulative item count and percent coverage.000 and $29. 2. Another observation is there are 27 invoices greater than $100. we see the column subtotaled and totaled. These may be items you can consider looking into. are there a few items which make up a significant percentage of the total population? When you run your Stratification. For each bucket added (each time smaller amount ranges).973. You can use Stratify on other fields like interest rate or unit cost. is the field stratified on.999. At the same time.
Scroll to select the cutoff date. usually the invoice amount when testing Accounts Receivable. HOW TO USE Click on Analyze / Age… Click on a date field to age on.1 User Guide November 2008 Page 17 of 62 QUICK HITS – AGE One of the finest things ACL gives us is the ability to age a population such as Accounts Receivable and quickly perform the test over 100% of the data. Click on a numeric field or fields you want subtotaled and totaled. It is common to find aging reports which contain aging buckets out to 90 days and then have an “Over 90 days” catch-all. Here. typically known as the cut-off date. As long as the numbers are ascending. Click the down arrow and you will get a calendar. 30. 10000 as a catch all. With ACL. Enter your periods and ACL is set for good! Copyright © 2008 Deloitte Development LLC.ACL 9. 90. 1080. 120. and the “date” tab. All rights reserved. 0. Sometimes you have both an invoice date and a due date. they are separated by commas. Alternatively. 150. enter as many ranges as you like. Click OK. Partners in Learning . 720. click this icon: and fill out the options above. and finally. go to Tools / Options. Determine your aging periods. 270. The buckets do not have to be even in size. You typically use invoice date but your engagement team may determine otherwise. HOT TIP! If you find yourself continually changing the aging periods. Select the cutoff date. for example. Notice. we can control the aging buckets and extend them out as far as we wish. you can permanently change the default aging buckets to your own. Be careful which date to use. The default is today’s date which is never used: ensure you use the date on which your population is “as of”. you can start with months and switch to years. 90. 60. 60. 180. on the toolbar. 30. 1440. 120. 360. at the intervals we wish. and 10000. ACL’s default is 0.
ACL 9. Copyright © 2008 Deloitte Development LLC. to set a filter for all invoices greater than 120 days old. Partners in Learning . At the bottom of the screen. merely click on the blue underlined 120 – 10. we see the ranges set based on cutoff. we see the column selected under subtotal fields.000. When you are finished using a filter.1 User Guide November 2008 Page 18 of 62 If you click a Field name to highlight a column. “Global Filter:” will display the filter currently in effect. After setting the filter. and “Global Filter:” will no longer be displayed at the bottom of your screen. However. click the remove-filter icon . or use the menu. All rights reserved. Under the column AMOUNT on the right. For example. data which meets the criteria will be displayed. WHAT THE OUTPUT LOOKS LIKE INTERPRETING & USING THE OUTPUT Anything underlined blue in the output of any ACL command is something you can click on (like clicking to surf the web) in order to set a filter. and then click the Aging icon. On the left side. you do not get the opportunity to select the above options so this method is not useful. Age will automatically run on that field as long as it is numeric. under the column Days.
APPLYING THE AGE COMMAND IN AUDIT The age command is pretty basic. in this case. it can provide very helpful information to obtain an understanding of the population when combined with filtering.ACL 9. Copyright © 2008 Deloitte Development LLC. COUNT represents the number of records (rows). Set a filter for the 5 to 10 largest customers. Set a filter for a particular region. Here are some examples: Set a filter for invoices larger than a certain amount. However. All rights reserved. falling into the date range or bucket. invoices. you could say there were 7. (Filtering is covered below).187 invoices between 90 and 120 days old.62% of the A/R dollars.1 User Guide November 2008 Page 19 of 62 To read the output. Percent of field represents the percentage of the subtotal column (Amount) for each bucket to the total for A/R. then run an aging. Age and break on customer number to get 5 – 10 agings at once. then run an aging. Partners in Learning . amounting to almost $9 million or 6. then run an aging. Set a filter for a particular customer number. Percent of count represents the percentage of records (rows) for that bucket.
and one of the regions is 003. you will get an aging only for that particular customer.1 User Guide November 2008 Page 20 of 62 FILTERING ACL has many powerful commands. Then. and it also has great ways of filtering (searching for data). All rights reserved. you can click on the blue underlined 003.. When using filters. As we have seen in the Quick Hits. and a filter is set for RGN=”003”. Clicking on the blue underline sets a filter for whatever the result represents. Partners in Learning . unfortunately. etc. manually. Copyright © 2008 Deloitte Development LLC. when you run an aging. WHAT IS FILTERING? A task assigned to an audit staff might be to look through an eight inch thick A/R open invoice report for all invoices greater than $100. Classify.ACL 9. you can set a filter to show invoices for only one particular customer.000. have blue underlines within many of the results. ACL’s filtering capability is the automation of searching through a voluminous computer reports. the output of many commands like Age. always make sure you know whether a filter is in place or not by looking at the bottom of your screen. THE MANY WAYS OF SETTING A FILTER 1. when it mentions “global filter = …” each command you perform will be on the filtered dataset. if you Classify on region. For example. For example. Statistics. Stratify. ACL’s big knockout punch is when you combine the power of filtering with the power of the commands. That audit staff was filtering.
) are run exclusively on the data that meets the filter’s criteria. Left-Click on a cell in the main view to highlight the cell. you are setting a filter for ST=“MA” or all invoices in Massachusetts. Type a criteria (such as AMOUNT > 100000 or one of the neat tips listed below) and click the green checkmark ( ). the data meeting the criteria is displayed. ) and the filter is no longer applied. ACL has a “Quick Filter”. The following describes this interface. 3.ACL 9. After clicking the green checkmark ( ). Create a filter from scratch. All rights reserved. Then.1 User Guide November 2008 Page 21 of 62 2. Export. ACL has a place for filtering directly above the data in the main view. Sample. Partners in Learning . Classify. To remove a filter. etc. right-click: By clicking “Equal”. and all ACL commands (Age. Hit the red X ( Copyright © 2008 Deloitte Development LLC.
ACL 9.1 User Guide November 2008 Page 22 of 62 If you are uncomfortable with the syntax when typing an expression into the filter interface, ACL provides an easy to use filtering expression builder by providing a point-and-shoot interface. Click the icon to access the point-and-shoot interface which looks as follows:
With this interface, you can double-click available fields (left) and they go into the “expression” box above. Then, you can use any of the operators (middle) and type criteria, such as a value, and complete the expression. For example, click the available field, AMOUNT, then click the >= operator, then type 100000. When you click OK, the filter AMOUNT >= 100000 is set.
Copyright © 2008 Deloitte Development LLC. All rights reserved. Partners in Learning
ACL 9.1 User Guide November 2008 Page 23 of 62 HOW DO YOU KNOW A FILTER IS IN PLACE? You can look at the filter bar in your main view and you may see an expression as displayed below:
However, for the true (100%) answer, look at the very bottom of your screen. At the bottom of your screen, you see the filter that is in effect whereas in the line where you type filters, you may be looking at a work in progress which has not been set with the green checkmark. The following describes the filter information at the bottom of the screen:
Make sure you know what filter is in place when you run commands, because ACL runs commands on the items meeting the filter criteria only. HOT TIP! The following setting allows you to more easily see your results. Go to Tools/Options, and the View (tab), place a checkmark for "Hide filtered records" and change "redraw seconds" to 100. Then click [OK]. If you do not make this setting, and if you apply a filter, the data will look "grayed out" and the items which meet the criteria will be white, and you will have to scroll to see the "hits". By making this change, you will only see the filtered records, the ones you searched for, which is very convenient.
Copyright © 2008 Deloitte Development LLC. All rights reserved.
Partners in Learning
ACL 9.1 User Guide November 2008 Page 24 of 62 FILTERING – NUMERIC, CHARACTER, AND DATE NUMERIC FIELDS For numeric filtering, enter the field name, an operator, and criteria. Criteria should be numeric and should not be formatted, i.e., no dollar signs or commas. Click the green checkmark to apply the filter. TYPICAL EXAMPLES 1. Set a filter for AMOUNT > 100000. How many did you get? Remember to run Statistics after setting a filter. 2. Set a filter for AMOUNT > 100000 or AMOUNT < -100000. Note “or”, not “and” because AMOUNT cannot be both. Also note AMOUNT is typed twice. You cannot say AMOUNT > 100000 or < -100000. Run statistics to see what you caught. CHARACTER FIELDS For character filtering, there are special rules: Enclose values in quotes. If you are looking for the value CA in a field called STATE, you could use STATE=“CA”. STATE=’CA’, with single quotes also works. If you do not use quotes, ACL thinks you are filtering to compare the contents of two fields. For example, if you say STATE=CA, without quotes, ACL will say “CA is undefined”. In other words, it is saying it cannot compare the contents of these two fields because the field, CA, is not in your table layout (field definitions). If you have quotes in your filter criteria, use the opposite quotes when enclosing it in the filter. For example, DESC=’30” LOGS’ or NAME=“ST ALFONZO’S PANCAKES”. Character filtering is case sensitive. If your data is uppercase, and you use a filter STATE=“ca”, you will not get an error message. But you will also get no results. If your data has both uppercase and lowercase values in a column, you would have to use the filter: STATE=“ca” or STATE=“CA” or STATE=“Ca” or STATE=“cA”. There is an easier way. Use the UPPER() or LOWER() function. These functions force things into uppercase or lowercase for the purpose of setting the filter. For example, UPPER(STATE)=“CA” would catch all gyrations as would LOWER(STATE)=“ca”. To determine if there is mixed case data in a particular field, CLASSIFY on that field and you will see for yourself. Character filtering looks from left to right. To get all accounts that start with a “3”, and the account number is eight characters long XXXXX-XX, you can type ACCT=“3”. This will get you 3XXXX-XX accounts. Or, STATE=“C” will get you CA, CO, CT. There is a problem when the data is right justified. Imagine an 8 character field called BATCHNO. In some cases, it is “ 123” or “ 6667” or “ 8675309” or “33445566”. Setting a filter, BATCHNO=“123” will get all of the 123XXXXX batches but not batch “ 123”. The best trick is to use the LTRIM() function. LTRIM forces the field contents to be left justified.
Copyright © 2008 Deloitte Development LLC. All rights reserved. Partners in Learning
"564365". not left justified. Syntax: Find ( "search criteria".desc) and your filter will leave you with everything except the items where “betamax”. you can type: NOT FIND(“betamax”. How to do a word search (similar to ctrl+F in Excel): FIND Use the FIND function.payee) Find("betamax"."criteria2". and so on. in upper and lower cases. The find function performs a word search within a field.fieldname) Examples (What you would type in the filter."142344") In reverse."CA". we have some very convenient functions that are listed below: 1. All rights reserved. For example. This will give you a short list of everything you found and with dollar totals. and then list the different values that you want to search for."criteriaN") Examples: Match(state. Syntax: Match(fieldname. you can use the match function."NY".ACL 9."IL". Subtotal your amount. with character filtering. 2. Looking for multiple items in a column: MATCH Use the MATCH function. immediately run the Classify command (Analyze/Classify in the menu) on the field you used in the Find function."MA") Match(company."criteria1". Rather than typing STATE=“CA” or STATE=“NY” or STATE=“IL” or STATE=“MA”.1 User Guide November 2008 Page 25 of 62 LTRIM(BATCHNO)=“123” will get your desired batch (as well as others beginning with any number of spaces preceding “123”)."criteria3". were found within the DESC field."568360". and it is not case sensitive."175555". The match function lets you use the name of a field once. you can use NOT MATCH(). Partners in Learning .desc) In reverse. you may have a file with expense transactions but you have already tested Payroll and therefore wish to Copyright © 2008 Deloitte Development LLC. Also. What you are searching for can be anywhere in the field. HOT TIP! After using the Find function. when expense testing. followed by the green check): Find("honda".name) Find("LLP".
you will find yourself using filters that involve the use of dates. Partners in Learning .2)="18" FILTERING DATES When importing data into ACL. For example. 3. 6502. Omit quotes if the field is numeric.ACL 9. such as 120 days. Syntax: Sub(fieldname. If the field appears as one that can be selected.1. To determine if character vs. SUB Use the SUB function. Payroll accounts are 6501. it is important to specify date fields as dates. When defined as dates. For example. In the company example above. All rights reserved. Your filter would be: NOT MATCH(ACCT.8.“6598”) Then. your formula would be: Cutoff – Invoice Date > 120 Copyright © 2008 Deloitte Development LLC. it is character. you may have typoed one of the criteria. the first 2 characters of a SKU number is a product type and you need to see all products with type "18". To filter based on a portion of a field. In a case like this.“6501”. HOT TIPS! Use quotes if the field is character (ASCII) as shown above. 6503 and 6598. Classify on the field you used in the match function. If you want to see all invoices greater than a certain amount of days. you could set a filter: POSTDT-EFFDT > 30 in order to see all entries with a gap larger than 30 days. it is numeric and if it does not appear. run Analyze/Statistics. Quite often. they behave like dates in Excel.starting position. you could use Data / Extract (See later section) to generate a new file which has all but Payroll transactions. finding all records in a Journal Entry file where there is a large gap between the posted and effective dates.“6503”.1 User Guide November 2008 Page 26 of 62 exclude all transactions to payroll accounts. numeric.2)="18" My SKU# looks like this: XXXXXXXTT where TT is the product type: Sub(sku.3.length) Examples: My SKU# looks like this: TTXXXXXXX where TT is the product type: Sub(sku. If less.“6502”. classify will result with a list of those 4 companies.2)="18" My SKU# looks like this: XXTTXXXXX where TT is the product type: Sub(sku.
All rights reserved. and you need to specify a particular date in a filter. there is a specific syntax requirement. Click the filter point-and-shoot icon . month.1 User Guide November 2008 Page 27 of 62 If the cutoff date is 12/31/07. To represent a date as criteria in a filter. day representation. The exact syntax is `YYYYMMDD`. As an alternative to typing `YYYYMMDD` (`20071231`) in the filter line. Note the date with the appropriate syntax was fed from the calendar into the expression box where the filter could be completed. The backward single quote is found on the [~] key as pictured below. Partners in Learning . the point-andshoot interface has a date calendar which when you select a date. Copyright © 2008 Deloitte Development LLC. use backward single quotes and a year. it feeds it into your filter expression builder.ACL 9.
based on a cutoff date of 12/31/2007.000 that are also older than 120 days.1 User Guide November 2008 Page 28 of 62 The filter above looks for invoices greater than or equal to $50.ACL 9. All rights reserved. Partners in Learning . Copyright © 2008 Deloitte Development LLC.
Data / Extract data / Select fields Data / Extract data / Record This method takes the existing record and carries it to the new table being created. you would normally include all fields in the new table that were in the old one. When you perform the extract. It is much easier to ignore fields of no interest than it is to add back fields you originally excluded in the extract and currently need back. There is a subtlety.1 User Guide November 2008 Page 29 of 62 EXTRACT. Data / Extract data / Record 2. An Extract is usually performed when a filter is in place so the new table becomes a subset of the original data. EXPORT. SUMMARIZE EXTRACT The Extract command creates a new data table in your current ACL project. If some of your fields are calculations. All rights reserved. Partners in Learning .ACL 9. HOW TO RUN There are two basic options: 1. The screen below describes the steps for running Data / Extract data / Record: Copyright © 2008 Deloitte Development LLC. they will continue to be calculations in the new table.
they will be converted into actual data and added to your file as columns of data. or all of them. You can choose the order in which the fields appear in the new table. They will not continue to be calculations in the new table. and create a new table comprised of the fields you selected and the records selected by the filter. which was in place when the command was invoked. many of them. Partners in Learning .1 User Guide November 2008 Page 30 of 62 Data / Extract data / Select fields This method allows you to select fields: a few of them. All rights reserved. If some of your fields are calculations.ACL 9. There is a subtlety which is different than the “Record” method. The screens below describe the steps for running Data / Extract data / Fields: Copyright © 2008 Deloitte Development LLC.
the following pop-up appears: How to switch back and forth between tables: Copyright © 2008 Deloitte Development LLC. All rights reserved.ACL 9.1 User Guide November 2008 Page 31 of 62 After Step 2. Partners in Learning .
1 User Guide November 2008 Page 32 of 62 To switch back and forth between tables (files). Copyright © 2008 Deloitte Development LLC. All rights reserved. click “Overview” in the lower left. Partners in Learning .ACL 9. The Project Navigator will appear: Double-click on the table you wish to use.
Most commonly we find ourselves exporting data from ACL to Excel either to import the file to AS/2 or to share the data with the client. Partners in Learning . Copyright © 2008 Deloitte Development LLC. It is easier to include everything up-front. When the Export command is used.ACL 9. As opposed to trying to add a column to an Excel file you wished you had included in the first place. and in Excel delete columns later. All rights reserved. the data file it creates resides in the same folder as where the project was created.1 User Guide November 2008 Page 33 of 62 EXPORT The Export command creates a file external to ACL. HOW TO RUN Click on Data / Export to other application… Be careful when selecting fields.
there is an option for “Word merge file”. and mail-merge confirmation letters. Copyright © 2008 Deloitte Development LLC.ACL 9. This is a nice option if you need to export a CMA selection. All rights reserved. Partners in Learning .1 User Guide November 2008 Page 34 of 62 As far as the different types of files you can create.
While there are many Excel macros that can be used to perform CMA sampling. 2. All rights reserved.ACL 9. etc. Set aside credits. Assuming the field is called "AMOUNT". 3. this is an invoice amount. You will get a result as follows: Copyright © 2008 Deloitte Development LLC. Here are some general considerations: 1. Prior to selecting your sample. check amount. This way you do not have to worry about sub-selecting (which ACL does. request data which is at the most detailed level. 7. because the methodology used within ACL has been tested and approved by the firm. Confirm with your manager on the appropriate method to review these. When requesting data. Note also that you cannot net credits and debits. run the Statistics Command on AMOUNT. CMA Sampling is used to test for overstatements. 5. Consider what other procedures might be appropriate for the negatives that were not included in your CMA sample. made easier by the fact that while ACL can sample using a variety of methods.1 User Guide November 2008 Page 35 of 62 SAMPLING CMA Running a CMA in ACL is easy. it is generally preferred to use ACL for selecting CMA samples. ensure you are selecting from a complete population by reconciling the total population amount to the amount on the trial balance. a. 4. 6. Sample through the debits. unless they are reversals and easily identifiable as such. Usually. b. but is a pain!). This also means that the approximate number of selections will not be population divided by J. inventory amount. it will be the total debits divided by J. c. CMA is the default method when you use the sampling screen. Be sure to document the sampling statistics from the ACL log. Step 1 is to make sure the file contains the correct population and your amount ties out. and then use a CMA sample to select remaining debits. Partners in Learning . Extrapolate your sample results using the CMA Sampling extrapolation templates available in AS/2 HOW TO USE Determine which field (column) is the “amount” to sample on.
type AMOUNT > 0 and click the green-checkmark in order to set the filter. Click on the Sampling menu and then on Sample. Show that the total ties and later. Follow this diagram to carry out the sample: Copyright © 2008 Deloitte Development LLC. Copy and paste the above result to the working paper where you are documenting your CMA results.064.ACL 9.440. Partners in Learning .1 User Guide November 2008 Page 36 of 62 Note that the positive (total debits) of $169. All rights reserved. The easiest way is to click on the blue underlined “Positive” to set the filter. Best bet is to use a filter in ACL. Step 2 is to set aside credits. you will reference the CMA population to the total positive. The output from the Statistics command can easily be highlighted and copied/pasted into an Excel spreadsheet.96 will be the population. Step 3 is to generate the CMA sample. Alternatively.
The sample command is like the extract command. Calculate J to the penny and enter it next to “Interval”. ACL will generate a random start point. Enter a start-point as a positive number. All rights reserved. this will contain the CMA selections. Partners in Learning .7 and are interested in including all items larger than MP in your sample selections. The Cut off is a value above which all amounts are included in the top stratum. then include MP in the cut off Next to “To” enter the name of the new table (file). You can leave it blank and every item larger than J is selected.ACL 9. it creates an ACL table for further processing. Click OK and ACL will create a file containing the selections. Copyright © 2008 Deloitte Development LLC. Note: if you use a R of .1 User Guide November 2008 Page 37 of 62 Notes: Make sure you are sampling on the right “amount” field. If you leave it blank.
ACL 9. which can be the ACL CMA Sampling working paper that is available within AS/2. Copyright © 2008 Deloitte Development LLC. All rights reserved. Partners in Learning . “SAMPLE ON…”. After double-clicking. the following documentation appears: The final step is usually to export your selections to an Excel file. obtain the CMA diagnostics from the ACL log.1 User Guide November 2008 Page 38 of 62 DOCUMENT YOUR SAMPLE To document your sample.
you obtained a file containing 9 months of data and ran a CMA. If you cannot. and file layouts for different entities are different (they contain different columns) and it is virtually impossible to combine the files. you combined them easily. Note the “Selection Remainder”. For example. As far as documentation is concerned. Important Note: Enter the start-point as a positive number.1 User Guide November 2008 Page 39 of 62 ADVANCED BUT NOT UNCOMMON SITUATIONS 1. one per month. 2. you click to make a black-dot next to "Fields". In ACL you can subsample. Then. Your population consists of data from multiple entities.ACL 9. and you are done. Use the selection remainder from the previous CMA as the START of the next one. All rights reserved. to include them in the CMA results. Copyright © 2008 Deloitte Development LLC. you named the tables CMA1. make sure it is checked. Run a CMA on the first file. The solution is very simple. First. CMA2…CMA12. Your file is not at the lowest level of detail. you received 12 separate files.04 as the start value. click on a tab called "More". without having to combine the files. You wish to CMA the population as one despite the file incompatibilities. run statistics on each of the files. Copy/Paste each of the CMA diagnostics. and tie the population amounts to the total positives from the Statistics command. The amounts represent batches of transactions. Verify the sum of all of the populations agrees to the total positives (total debits) for the year. and look at the CMA documentation. After exporting them to Excel. select all the fields below (under "Extract Fields"). you entered 561169. You used the same “J” and proceeded ahead. Subsampling does require manual work. or customer totals. Try to get a detail file if possible. without physically combining them. In addition. Partners in Learning . You go to the second file. therefore you have to subsample. Copy/Paste the results into Excel and combine the totals into population totals and agree the total to the account balance being tested. Then. However. Then. Due to file-size limitations. You wish to CMA the population without having to combine the 12 files. At year end. you obtained the final three months of data and wish to continue the CMA as if you had run it once across the 12 months. and when running the CMA sample. after generating a CMA sample on the first of 12 files. Do everything mentioned above. here is what you have to do. Next to "TO". for a population which should really be in one large combined file. The scenarios are many: At interim.04. while in the Sampling Screen. you go to the log and saw the selection remainder of -561169. click next to "Subsample". the amount field means the same thing and the sum of all the entities amounts equals the population total. Running a CMA across multiple files.
which you selected and totals $4814. is the one you pick. Partners in Learning .ACL 9.68. go through and add each item to a running total. After obtaining the detail which makes up each selection. you have to add a running total of each detail item. For example.42 threshold. The singular item which crosses the running total over the $1742. on one of the selections. The item which brings the running total across the amount contained in the “Subsample” field is the detailed item that you select.1 User Guide November 2008 Page 40 of 62 This is where the manual effort begins.68 and SUBSAMPLE was $1742. All rights reserved. and with a manual calculator.42. Copyright © 2008 Deloitte Development LLC. AMOUNT was $4814. You have to manually take the bundle/batch.
ACL 9. All rights reserved. Click OK. Enter the number of desired selections under “Size”. Partners in Learning . select “Sample on” Select “Record” and “Random”. Enter a fictitious number like 123 for Seed. Copyright © 2008 Deloitte Development LLC. Population will fill in with your record count. Enter a filename (table) to contain the selections.1 User Guide November 2008 Page 41 of 62 RANDOM SAMPLING Similar to CMA however: Under the Sampling menu.
Partners in Learning . row 5 and type =C5*D5 to derive extended inventory in E5. you can use the “= sign” and follow it with a calculation. you must perform two steps: 1. All rights reserved. you can also perform calculations. 2.ACL 9. In the Table Layout. you can copy the formula down alongside the block of data in order to extend all inventory items. Of course. Define a calculation (create a new field). 1. In addition to the definition of raw data. *** This section covers performing calculations otherwise referred to as formulas or expressions. if Column “C” is Unit Cost. In ACL. Click on the “Add a new expression icon” The following screen will appear: Copyright © 2008 Deloitte Development LLC. This is typically the EDA Specialist’s handy-work. and Column “D” is Quantity on Hand. Add the new field to your view. So. DEFINING A CALCULATION Click on Edit / Table Layout. data fields within the downloaded data file are defined so they appear as columns and can be used for analysis and testing. Calculations may include: Numeric Expressions – Performing mathematical expressions on fields or values Concatenation – Assembling two or more character fields or strings into one field Character or String Manipulation – Manipulating character fields Date manipulation – Performing calculations using date functions MECHANICS OF PERFORMING CALCULATIONS IN ACL To accomplish the task of creating a calculated field. the Table Layout lets you define fields which are calculations also known as expressions.1 User Guide November 2008 Page 42 of 62 CALCULATIONS In Excel. you could go to Column “E”.
Here are some examples: EXT_INV or VALUE BAL SKU INVDATE DOCNO DESC PMT D30 – Extended inventory – Balance – Inventory SKU or item number – Invoice date – Document number – Description – Payment amount – 30 Day aging bucket Copyright © 2008 Deloitte Development LLC. Partners in Learning .ACL 9. enter the name of the new field you wish to create. All rights reserved. Do not begin a name with a number.1 User Guide November 2008 Page 43 of 62 Under “Name”. and do not use spaces. Make the name short and sweet.
then click the add columns icon. Pointers on what to enter under “Default Value”: Don’t use the “= sign” to precede a calculation as you would in Excel.ACL 9. The f(x) button gives you the same point-andshoot interface as when filtering. depict a character value in doublequotes. For example. ADDING THE NEW FIELD TO YOUR VIEW You will notice that your new field does not seem to exist or appear anywhere. your new field will not appear as a column in your view until you add it. Partners in Learning . For example. 2. When using an arbitrary date such as a cutoff date. You add columns using the following “add columns” icon: Click the icon. /=divide. “NY” for an uppercase representation of a state. If you highlight a column by clicking on its name. you can drag the fieldname left or right to move the column in the View to where you desire. All rights reserved. Double-click on your new field (it jumps to the right). Later. Click OK and it becomes your rightmost field. Use fieldnames in your calculations instead of column numbers that you would use in Excel. If you are unsure of fieldnames.1 User Guide November 2008 Page 44 of 62 In the above examples. did you need the explanation to the right? By keeping the fieldname short but recognizable. Hit the [X] in the upper right to exit the Edit/ Table layout screen to return to the main view. All of the filtering rules apply. Under “Default Value” enter the calculation. Use operators and parentheses as you would in Excel. you will make filtering. using your new field. OOPS! I MADE A MISTAKE IN MY CALCULATION. an easier experience later on. Click on the green check when done. etc. For example *=multiply. In fact. use the [f(x)] – Point-and-shoot interface to build your expression. Copyright © 2008 Deloitte Development LLC. use the backward single quote from the [~] key and the `YYYYMMDD` format. the added column will appear just left of the highlighted column.
All rights reserved. Your changes will appear in the main view. and double-click on it. but realized you entered the wrong value in an expression. Partners in Learning . like before. Calculations are typically at the bottom of the list of fields.ACL 9. For example. you mastered the mechanics.75% in all cases except in New York where it is 10%. click on the “Add a new expression icon” The next two screenshots will describe the steps: Copyright © 2008 Deloitte Development LLC. Exit the Edit / Table layout screen using the [X] in the upper-right. And. You can tell ACL to use the Default value in all cases except where you specify one or many conditions. Make your changes. To make a change to your calculation: Click on Edit / Table Layout… Find the calculated field in the list of fields.1 User Guide November 2008 Page 45 of 62 So. alternate values are used instead of the default value. When a condition is true. Sales tax could be 8. You are taken back to the screen for performing calculations (below). and hit the green checkmark. ADVANCED CALCULATIONS Default Value is the typical place-holder for calculations you make. To perform calculations with conditions: Click Edit / Table layout. did not get a syntax error.
you have been asked to create a “Sales Tax” field.ACL 9. The sales tax is 8. the icon… Copyright © 2008 Deloitte Development LLC. in the state of New York it is 10%.1 User Guide November 2008 Page 46 of 62 Putting it into practice. and then. Partners in Learning . All rights reserved.75% however. Click Edit / Table layout.
. All rights reserved. What you type next to “Condition…” is identical to what you would type in a filter. backwards quote and YYYYMMDD format for dates (HIREDATE=`19850612`). You can add multiple conditions by repeating this process.0975 AMOUNT * 0.ACL 9.75% but will be 10% where the state is New York. Here are examples: CONDITION… `20051231` . the field SALESTAX will have a default value of 8.38 Copyright © 2008 Deloitte Development LLC. AMOUNT > 1000000).g. and no formatting of numeric fields (e. Partners in Learning .1 User Guide November 2008 Page 47 of 62 After clicking OK. For example. quotes around characters (STATE=“NY”). All the rules apply.Invdate > 120 STATE=”NY” or STATE=”MA” BAL > 1000000 VALUE… “***OVER120 DAYS***” AMOUNT * .
100. Click on Edit / Table Layout. String Manipulation – Techniques on achieving useful character fields. Partners in Learning . You perform the same two steps: 1. One is an Employee Master. Again. Sun. Mon. into a new field such as a new account number. You want to know who is posting entries on weekends and holidays. with functions and concatenation. ACL has a function which provides the day of week (Sat. You have two files. and the other is a Payment Register. and the second segment pieced together. You have a Trial Balance. you can easily strip dashes. and concatenate them together. and Tax ID# in the Payment Register to see if employees are receiving fraudulent payments. The JOIN command (featured in a later section) is not working because SSN is 11 characters with dashes and Tax ID# is 9 characters with no dashes. you need to determine if there are volume fluctuations by day of week. There are 5. and mathematical functions. The account number has the format 00-100-00-12345-001. or add them. a period.1 User Guide November 2008 Page 48 of 62 EXTREME CALCULATIONS This section expands on calculations and includes: Functions – Like Excel. THE MECHANICS The good news is the mechanics of using functions and concatenation is the same as for normal calculations. the account number was 12345. Copyright © 2008 Deloitte Development LLC. plus ensure fields are of equal length. Your goal is to JOIN the two files together based on Social Security Number in the Employee Master. However. Tue…Fri) from a date field. The fourth segment. ACL has functions which allow you to grab pieces of a field. All rights reserved.000 accounts. Looking at last year’s AS/2 Trial Balance. it was collapsed down to 665 accounts. Define a calculation (create a new field) 2. Why is this important? Some of the following examples will highlight the importance: You have a Journal Entry file with a date field called POST_DATE. And. Add the new field to your view.ACL 9. date. possibly with dashes or dots. ACL has many useful character. Concatenation – ACL provides the ability to combine the contents of several fields or strings into one field.
Copyright © 2008 Deloitte Development LLC. And. Q2. Fields must be character. In practice.ACL 9. you enter the name of the new field under “Name” and perform the concatenation under “Default Value”. however. and under “Default Value” we’ll enter QUARTER+YEAR. a series or order of things depending on each other. a character field called QUARTER and it contains the values: Q1. a chain. Strings are enclosed in quotes. you can concatenate character fields with other character fields and strings. Not as readable as we would like. We can name a new field PERIOD. Partners in Learning . An example result will look like Q22007. the mechanics are the same. what goes there is going to get pretty interesting. as if linked together. a succession. CONCATENATION In Webster’s(1913). challenging. Concatenation means to piece these elements together to make a new character field.1 User Guide November 2008 Page 49 of 62 Click on the “Add a new expression icon” The following screen will appear: Under “Default Value”.” In ACL. Example: There is a character field called YEAR and it looks like 2007. Concatenation “A series of links united. Q3 or Q4. and rewarding. All rights reserved. Concatenation rules: The plus sign “+” is used to connect fields with other fields or strings. Again.
In ACL. we noticed one file has SSNs with dashes and the other does not. The second segment starts in position 5 for a length of 2.5). character functions open a whole new world. under “Name”. separated by dashes. containing only the 4th segment. and for “Default Value”. Copyright © 2008 Deloitte Development LLC. a string. followed by another field. we’ll enter QUARTER+”-“+YEAR. Specifically under “Default Value. One could say it has five segments. The third segment starts in position 8 for a length of 4. you will get totals by quarter within year. Our goal is to remove the dashes. Using a ruler: 00-100-00-12345-001 ----+----+----+---0000000001111111111 1234567890123456789 We can easily see that the fourth segment begins at position 11 and has a length of 5. and it looks like 00-100-00-12345-001. Partners in Learning . The following functions are very useful: Name: SUB Used for: Using a portion of an existing character field.11. We need to create a new field called NEWACCT.ACL 9. you would enter SUB(ACCT. Syntax: SUB(name-of-field.start-position.length) Example 1: There is a field called ACCT. CHARACTER FUNCTIONS With concatenation in mind.1 User Guide November 2008 Page 50 of 62 To place a dash in between the quarter and year to make it more readable. Example 2: Prior to joining two files based on Social Security Number. If you classify on PERIOD. Using a ruler: 111-22-3333 ----+----+----+---0000000001111111111 1234567890123456789 We see the first segment starts in position 1 for a length of 3. you would enter NEWACCT. An example result for the new field called PERIOD will look like Q2-2007. All rights reserved. The field is called SSN. The dash “-” being a string. we will concatenate three things: a field.
Syntax: AT(1. Name SS1 SS2 SS3 NEWSSN Default Value SUB(SSN. The AT function will return either a 3 or a Copyright © 2008 Deloitte Development LLC.5.3)+SUB(SSN. Partners in Learning .4) SS1+SS2+SS3 NEWSSN will have no dashes as we simply sliced the pieces we needed. and reassembled using concatenation. it looks like 00012345 or 000-12345-01. Example: There is a field called ACCT.8. or 0 if nothing was found. we could have done it all at once: SUB(SSN.1 User Guide November 2008 Page 51 of 62 We can create three fields and then concatenate them.2)+SUB(SSN. First reaction is to use the SUB function but you realize the starting point is not in a fixed place. But sometimes.3) SUB(SSN.2) SUB(SSN.1.name-of-field) The AT function returns a numeric result: The position where the search criteria was found.ACL 9. Using a ruler: 00-12345 000-12345-01 ----+----+----+---0000000001111111111 1234567890123456789 You can see that sometimes you need to start in position 4. and sometimes in position 5.1. Alternatively. and it looks like 00-12345. the 12345 which is always five characters long.”search criteria”.5. All rights reserved. You can use the AT function to search for a dash “-“. Your desire is to create a NEWACCT with only the second segment.8.4) Name: AT Used for: Finding the position of something within the field’s contents.
plus other functions. “Per 2”. and use the SUB function to get the MONTH. in the formation of functions. Remember. etc. You need total Debits and Credits by period but there is no “Period” field. which is defined as date. Syntax: DATE(name-of-date-field) The DATE function returns a character result: A field which looks like a date in the MM/DD/YYYY format. You can use the DATE function to create a character version of the post date. If the client had a calendar year end. Once PERIOD is established. Example: You have a Journal Entry file.5) Result: NEWACCT has 12345 no matter where it happened to be within the old ACCT. in the conditions. and the only date field is POST_DATE. Here is how to do it: Name Default Value CHARDATE looks like 09/27/2004 CHARDATE DATE(POST_DATE) MO PERIOD Condition SUB(CHARDATE.ACCT) SUB(ACCT. Partners in Learning . the position of the dash+1 is your start point for the SUB function.1 User Guide November 2008 Page 52 of 62 4.1. etc. “Per 1”. MONTH=”07” Value. Name: DATE Used for: Converting a date into a character field. Here’s how to do it: Name DASH NEWACCT Default Value AT(1. if we did not add the “1”.”-“. Then. enter MONTH=”06” Value. Period 1 is June. The client has a fiscal year ending May 31st.DASH+1. you would be done. Notice the start-point in the SUB was a calculation. set up a new field called PERIOD with a default value of “00”. the NEWACCT would have included the dash plus 4 characters. use the Classify command on PERIOD and subtotal Debit and Credit for totals by period. Look at the ruler.ACL 9. With the fiscal year end. So. You can imbed fields and calculations. All rights reserved.2) “00” Value Copyright © 2008 Deloitte Development LLC.
Mon. Fri. Partners in Learning . Wed. Classify on DAY and subtotal Debit and Credit to get totals.ACL 9. Sun. and to see who is preparing entries on weekends and holidays.1 User Guide November 2008 Page 53 of 62 MO=”06” MO=”07” MO=”08” MO=”09” MO=”10” MO=”11” MO=”12” MO=”01” MO=”02” MO=”03” MO=”04” MO=”05” Name: CDOW Used for: Converting a date into a Day of Week. Mon. Syntax: CDOW(name-of-date-field.3) DAY will contain Sat. All rights reserved. Our post date field is called POST_DT. Here’s how to do it: Name DAY Default Value CDOW(POST_DT. FUNCTIONS FOR FORMATTING Copyright © 2008 Deloitte Development LLC. etc.width) Typically use 3 for width. Sun. Example: Our desire is to get total Debits and Credits by day of week. format. Thu. Tue. “Per 1” “Per 2” “Per 3” “Per 4” “Per 5” “Per 6” “Per 7” “Per 8” “Per 9” “Per 10” “Per 11” “Per 12” The CDOW function returns a character result: A field which looks like a day of week in the Sat.
the result is Joe Bloe. All rights reserved.1 User Guide November 2008 Page 54 of 62 TRIM(field) Removes trailing blank spaces. Concatenating for the third try: Trim(Fname)+” “+Trim(Lname). LOWER(field) Makes a field lower case. ALLTRIM(field) Removes trailing and leftmost spaces. The spacing is perfect but the look is impersonal. They are 30 characters wide. Last try: Proper(Trim(Fname)+” “+Trim(Lname)). When concatenating: Fname+Lname. the result is JOEBLOE. Partners in Learning . the result is JOE BLOE because of the field’s width. the result is JOE BLOE.ACL 9. Examples: Fname and Lname are firstname and lastname respectively. PROPER(Field) Makes a field proper case. LTRIM(field) Removes leftmost spaces. When concatenating: Trim(Fname)+Trim(Lname). UPPER(field) Makes a field upper case. Copyright © 2008 Deloitte Development LLC.
Classify By reading the above. The output is relatively short and in fact has a limit of 1. and it is interactive in that you can click on values to set filters. you can use the Summarize command to collapse the file based on the Account Number. HOW TO RUN Click on Analyze / Summarize Copyright © 2008 Deloitte Development LLC. The result of the Summarize Command is an ACL table. The Summarize command gives you a bonus field called “COUNT” which contains the number of records from the original file summarized into each line in the summarized file. Partners in Learning . If you have a Journal Entry file with all transactions. For example. With Classify. and one of the fields is the G/L Account Number. when summarizing an Accounts Receivable file on Customer Number. and give you a file with customer totals. The Summarize Command lets you bring forth additional fields to the new file. or total net amount) by Account Number. you wonder. For example: If you have a data file with Accounts Receivable invoices. You will have a file which has total activity (total debits and credits. you can easily copy/paste the result to an Excel document in AS/2. You get a set output with the totals and percentages. Summarize vs. All rights reserved.ACL 9. “Doesn’t Classify do this? Doesn’t it provide totals for each of the unique items in a column?” Classify provides a short. and one of the fields is the Customer Number. ready for the full onslaught of ACL commands and filters. This net activity can then be compared to the Trial Balance in order to perform a reconciliation. For example. you can also include the Customer Name and Address in the summarized file. “quick-and-dirty” result to the screen.1 User Guide November 2008 Page 55 of 62 ADVANCED COMMANDS SUMMARIZE The Summarize command creates a new file by collapsing an existing one based on the contents of a field. The purpose of Classify is for you to do a quick analysis. the Summarize command can collapse (summarize) the file based on the customer number.000 items. the number of entry lines per account number. or the number of invoices per customer.
ACL 9. All rights reserved.1 User Guide November 2008 Page 56 of 62 Copyright © 2008 Deloitte Development LLC. Partners in Learning .
The result being expense detail for all other accounts. using an “unmatched” option. PYBAL and CYBAL. Any matched records would be your catch. you select the secondary file (table). address and credit limit. and credit limit information alongside the invoice detail. employees potentially being paid as vendors as well. or “filter out” records from a file. Upon invoking the JOIN command. you can fill-in the name. after being summarized by account. In a separate master file. You can join an expense transaction file. The primary file is the table that is open when you invoke the JOIN command. you have customer number. to a trial balance in order to reconcile the data. You can JOIN a journal entry file. “Key” fields are the fields you join the two files on. They are common to both files. You can use JOIN to combine last year’s trial balance with this year’s trial balance. compare the information in two files. It can be used to add information to an existing file. You can JOIN a vendor payment register with an employee file by social security number. Partners in Learning . Examples of when JOIN is used: You have a table with A/R invoice detail which includes a customer number.ACL 9. and the other one is “Secondary”. To get ACCT. One is a “Primary” file. Copyright © 2008 Deloitte Development LLC. one row per customer. All rights reserved. By joining based on the customer number common to both files. address. JOIN COMMAND VOCABULARY The JOIN command is fairly easy to use once you understand a few key points: You JOIN two files. DESC.1 User Guide November 2008 Page 57 of 62 JOIN COMMAND The JOIN command creates a new file by combining the fields in two files. name. with a file containing accounts to be excluded.
The other file is a demographics file which has one row per unique customer number. you have two files that you want to join using Social Security number as a key. plus the patient’s age. There is a field called customer number. You can summarize on SSN. One has medical procedures performed. address. It is okay if both files have account numbers not contained in the other file. For example. or. an Accounts Receivable open invoice file contains all invoices for all customers. For example. you can perform a “Many-to-one” to add the age field to the procedures file. This is the “one” side of the equation. credit limit. The summarized file would become the “one” and the other file. This is one of the reasons for stressing character functions and concatenation throughout this document. you need to understand matching options: MATCHED RECORDS – Using Join as a Search Tool “Matched records” means your new table will contain all primary records which had a match in the secondary table.. remove dashes from the other. You will not get any matches. But to be one-toone. Many-to-many – Not workable. For example. Your only hope is the possibility that you can summarize one of the files by a key field and not lose the substance needed for the join. 12345-XX and 123-45XX are the same in every respect. there is one row per unique account number. they are the same case. It contains the customer name. One file has dashes (123-45-6789) and the other file does not (123456789). In both files. and include age in “other fields”. which repeats alongside the customer’s respective invoices. This is the “many” side of the equation. Many-to-one – There are multiple occurrences of content in the key field of one file.1 User Guide November 2008 Page 58 of 62 “Common”. there are no repeats of an account number in either file. There are three scenarios: One-to-one – There are no duplicate occurrences of content in your key fields for both files. it has the patient’s age. The second file is a payment file and has multiple occurrences of the SSN as well. To make these into workable keys. but they are not the same in appearance. you need to add dashes to the one. Lastly. which is the needed field for the medical procedures file. An example of a one-to-one scenario would be when you are joining last year’s trial balance with the current year trial balance. You need to understand the level of detail in both of your files. and has admit-date. The key is the Social Security number and it repeats for every procedure performed. the “Many”. the primary record is Copyright © 2008 Deloitte Development LLC. Partners in Learning . All rights reserved. discharge-date plus a description of service. and have the same appearance. Many-to-one situations are common and workable. However. same length. and other informational fields. If there is no matching key in the secondary file. you have two files. but there are no duplicate occurrences of content in the key fields of the other file. with respect to “Key” fields means: they are character.ACL 9. The “Duplicates Command” can confirm if a file is a “one” or a “many”. Now with one row per unique SSN.
ALL PRIMARY AND ALL SECONDARY – Using Join as a Data Fill – One-to-one scenarios Whether there is a match or not. they have the same length and have the same appearance. All rights reserved. Instead. fields designated to be included from the “other” file will be blank (character) and zero (numeric).. you have voluminous expense detail in your primary file. the output of the join will only be the records that matched. In both the primary and secondary files.e. i. fields designated to be included from the secondary file will be blank (character) and zero (numeric). ALL PRIMARY – Using Join as a Data Fill – Many-to-one scenarios Whether there is a match or not. Copyright © 2008 Deloitte Development LLC. MATCHED RECORDS. Example. JOIN COMMAND MECHANICS Before you begin. the output of the join will have all records contained in the primary file.1 User Guide November 2008 Page 59 of 62 dropped.ACL 9. But. the vendor payments made where the tax id# was the same as an employee’s SSN. Get the file into ACL. when joining a vendor payment file with an employee file using SSN as the key. If there is not a match. “500101”. Make the expense detail the primary file. and the 25 elimination accounts the secondary file. ensure the key fields in each of the tables being joined are character. create a small file of the 25 accounts in Excel. the output of the join will have all records contained in the primary and secondary files. “500984”) where you would carefully list all 25 account numbers. UNMATCHED – Eliminating unwanted data Unmatched eliminates primary file records where there is a match with the secondary file. you want to eliminate all records for 25 accounts. you could eliminate the 25 accounts from the population without using the JOIN command. Join with the UNMATCHED option. each enclosed in a pair of quotes. If there is not a match. MATCHED RECORDS. something like NOT match(Account. Partners in Learning . Theoretically. “500106”. For example. you would need to create an unreasonably long filter. Make sure the keys have the same attributes. click Edit / Table layout. However. … .
ACL 9.1 User Guide November 2008 Page 60 of 62 After double-clicking the field to be used as a key. Copyright © 2008 Deloitte Development LLC. All rights reserved. the following screen will appear. Partners in Learning .
Copyright © 2008 Deloitte Development LLC. If you are in a many-to-one situation. make your “Many file” your primary file. Partners in Learning . You will use both tabs in every situation. You may be able to make minor adjustments by re-highlighting and/or changing the type from numeric or print to ASCII. You may have to perform major cosmetic surgery on the key fields of one or both of the files. using functions like SUB().ACL 9. Main Tab In the upper-right on the main tab. All rights reserved. and have the same appearance. the key fields in both the primary and secondary files will have the same length.1 User Guide November 2008 Page 61 of 62 If you are lucky. be character. “Main” and “More”. etc. AT(). and concatenation.. There are two tabs. RUNNING THE JOIN COMMAND Invoke JOIN using Data / Join tables… Invoke it when the primary table is open. select the secondary table.
All rights reserved. Next to “To:” enter the name of the ACL table which will contain the join results. select the fields you wish to be carried forward into the new table which join creates. More Tab Select your matching option under “Join Categories” and Click OK. Partners in Learning .1 User Guide November 2008 Page 62 of 62 Select the primary and secondary keys.ACL 9. Under “Primary fields” and “Secondary fields”. Make absolutely sure that BOTH “Presort Primary Table” and “Presort Secondary Table” are checked. Copyright © 2008 Deloitte Development LLC.
This action might not be possible to undo. Are you sure you want to continue?
We've moved you to where you read on your other device.
Get the full title to continue reading from where you left off, or restart the preview.