Archive for 'Business Intelligence'

saslogo I have had to add Group Content Administrators to my SAS 9.2 Intelligence Platform a few times now, and it didn’t work as smoothly the last time due to my inability to read ALL of the steps and accompanying notes.  The process of configuring a Group Content Administrator in the Information Delivery Portal is well documented in the SAS 9.2 Intelligence Platform: Web Application Administration Guide, Third Edition and Angela Hall blogged about the process here, so I should have had enough information to correctly make this happen, right?  Well, there is a handy tip that I want to point out.  I had some developers who have read/write access to much of the metadata in our system.  I added some of these users to be Group Content Creators of the Public group following Steps 1-10 below.  Since these developers had inherited Read/Write Metadata permissions from higher up the tree in metadata, they already had implicit WriteMetadata ability.  When they attempted to add new portal pages for the Public group, Public not not available to share the page to.  Why?  Well, after Step 9 there is an important note titled “Important Note” that I somehow missed.  The note states to ensure the WriteMetadata permission is explicit.  To change this permission from implicit to explicit, an administrator merely needs to click the check the WriteMetadata checkbox one more time (it is already checked, but needs to be checked again).  In my defense, I was originally working from the First Edition of the Web Application Administration Guide, where “Important” was not in front of the word note and it was also not in bold text!

from support.sas.com:

Configure a Group Content Administrator

A group content administrator is a user who has WriteMetadata permission for the respective group, and the group’s Portal permission tree. A group content administrator can share personal content with the group, and can edit or remove content that has been shared with the group. (The SAS administrator and the SAS Trusted User has WriteMetadata permission for all group permission trees that are defined in metadata.)

Prerequisites: Before you can assign a content administrator for a group, all of the following must be true:

  • The person who will be a content administrator must have a user identity that is defined in SAS metadata.
  • This user identity must be a member of the group that the person will administer.
  • A group permission tree folder must exist in metadata for the group. To verify that a permission tree folder exists, or to create one, see Overview of Permission Tree Folders.

To configure a group content administrator for the Portal Application Permissions tree, follow these steps:

  1. Log on to SAS Management Console as the SAS Administrator (sasadm).
  2. On the Plug-ins tab in SAS Management Console, navigate to Environment Management –> Authorization Manager –> Resource Management –> By Type –> Tree.
  3. Right-click on the permissions tree for the group and select Properties.
  4. In the permissions tree properties dialog box, select the Authorization tab.
  5. Select the Add button to display the Add Users and Groups dialog box.
  6. In the Add Users and Groups dialog box, select and move the group content administrator under Available Identities to Selected Identities. Note that the group content administrator must be a person, and not a group.
  7. Click OK to exit the dialog box.
  8. When you return to the Authorization tab, make sure the appropriate user is selected in the Users and Groups list box.
  9. To modify the permissions for the selected user, in the permissions list row for the WriteMetadata permission, select Grant.
    Important Note: Ensure that the permission is explicit. The check box for a permission that comes from a directly assigned access control entry (ACE) has no added background color. If the check box for a permission has a background color, to remove the background color and designate the permission as a directly assigned permission, click the check box again.
  10. In the properties dialog box, click OK to save your changes.

The user that was configured as a group content administrator can now log on to the portal and share personal content with that group.

After a successful installation of SAS Enterprise BI Server on my Sun Servers, a certain amount of time is spent modifying configuration files and backup scripts, as well as browsing log files.  I use the vi editor to accomplish the editing.  I used used vi a lot back when all of my GIS work was performed in the UNIX environment, but once the Intel hardware matured and the GIS tools because available on Windows, I thought I would be able to forget all about the UNIX command line.  Wrong.  I’m back there again, but now I’m armed with a cheat sheet:

Working with files

Vim Command

Action

vi filename

Opens a file with the Vim editor.

:w filename

Save changes to a file. If you don’t specify a file name, Vim saves as the file name you were editing. For saving the file under a different name, specify the file name.

:q

Quit Vim. If you have unsaved changes, Vim refuses to exit.

:q!

Exit Vim without saving changes.

:wq

Write the file and exit.

Moving around in the file

Vim command

Action

j or Up Arrow

Move the cursor up one line.

k or Down Arrow

Down one line.

h or Left Arrow

Left one character.

l or Right Arrow

Right one character.

0

To the beginning of a line.

$

To the end of a line.

:n

Jump to line number n.

Inserting and overwriting text

Vim command

Action

i

Insert before cursor.

o

Open a new line below and insert.

O

Open a new line above and insert.

C

Change the rest of the current line.

r

Overwrite one character. After overwriting the single character, go back to command mode.

R

Enter insert mode but replace characters rather than inserting.

The ESC key

Exit insert/overwrite mode and go back to command mode.

Deleting text

Vim command

Action

x

Delete characters under the cursor.

X

Delete characters before the cursor.

dd or :d

Delete the current line.

Undo and redo

Vim command

Action

u

Undo the last action.

U

Undo all the latest changes that were made to the current line.

Ctrl + r

Redo.

There are obviously many more Vim commands out there.  Typically if I find myself in a situation where extensive modifications need to be made with a text editor, I will use Crimson Editor on Windows.

The list of commands above are a subset of The Vim commands cheat sheet – 1.2.

saslogo from support.sas.com…

The following considerations apply to SAS Enterprise Guide 4.2 customers who have used SAS Enterprise Guide 4.1 or earlier releases.

  • Support for SAS Enterprise Guide repositories has been discontinued; all metadata must be stored in a SAS Metadata Repository.
  • Servers are no longer administered through SAS Enterprise Guide Explorer, and must now be administered using SAS Management Console. For information about administering servers, see the online Help for SAS Management Console.
  • Users and user groups are no longer administered through SAS Enterprise Guide Explorer, and must now be administered using SAS Management Console. For information about administering users, see the online Help for SAS Management Console.
  • The project format has changed from earlier releases. To change the format, you must either open each project in SAS Enterprise Guide 4.2 or use the Migration Wizard for SAS Enterprise Guide and the SAS Add-In for Microsoft Office. You must also use the migration wizard to import the metadata changes that occurred during the BI migration from SAS 9.1.3 to SAS 9.2. For more information, see "Using the Migration Wizard" in Administering SAS Enterprise Guide.
  • Tasks are no longer enabled or disabled for user groups, so any task assignments for SAS Enterprise Guide users are not maintained. Any restrictions on SAS Enterprise Guide tasks must be made through roles, and administered through SAS Management Console. For information about using roles in SAS Enterprise Guide, see "Administering Role-Based Settings" in Administering SAS Enterprise Guide and the online Help for SAS Management Console.

saslogo You probably have many SAS data sets that you regularly work with where numbers are stored as text for formatting purposes.  A great example is the social security number, and many other customer, product, or invoice numbers are formatted similarly.  They frequently utilize leading zeros in their storage and display.  You probably also frequently receive data from colleagues where the same variable is formatted as a numeric value missing the leading zeros.  The join that you were going to do with your data and the data received from the colleague just won’t work.  Here is a little SAS code that can turn your colleague’s data into a match for yours, and I’ll use social security number (SSN) in this example:

data DatasetName ;
set InputDataset ;
length ssn_char $9. /* New Character var for SSN                    */
ssn_char = put(ssn,z9.) ; /* Put the Numeric SSN with the Z9. format   */
drop ssn ; /* Housecleaning to drop the numeric SSN    */
rename ssn_char = ssn ; /* Renamed Char SSN to make our Join easier */
run ;

By creating a new Character variable of SSN, I can simply put the Numeric SSN with Z9. format into the variable.

The format Z9. states the variable should be 9-bytes, and for each byte less than 9, put a leading zero in front of the var.

No strip or trim is necessary either.

I used this in the past with a transaction number I was creating (numeric) and later wanted to display it in a title with leading zeros [Example:  had 123 as the value, put it with a Z10. and the display in the title was 0000000123].

Thanks to Paula for showing me this trick!

saslogo SAS OLAP Server names for cubes, dimensions, hierarchies, measures, and member properties follow these general rules:

  • can be up to 32 characters in length
  • can contain embedded blanks

If the name has embedded blanks or characters other than letters of the Latin alphabet, numbers, or underscores, then PROC OLAP formats the name as a name literal, which means that it is enclosed within quotation marks followed by the letter n. (Name literals enable you to use special characters or blanks that are not otherwise allowed in SAS names.) Here are some examples:

CUBE=’Financials@HQ’n

DIMENSION ‘Product@Work Dimension’n hierarchies=(Product@Work Hierarchy’n)

HIERARCHY ‘Product@Work Hierarchy’n levels=(prodtype product)

  • can contain mixed-case letters

SAS stores and writes the variable name in the same case that is used in the first reference to the variable. However, when SAS processes a variable name, SAS internally converts it to uppercase. You cannot, therefore, use the same variable name with a different combination of uppercase and lowercase letters to represent different variables. For example, cat, Cat, and CAT all represent the same variable.

  • do not contain periods (.)

These guidelines assume that the SAS Workspace Server is running with the VALIDVARNAME= system option set to ANY. If the SAS Workspace Server is not running with VALIDVARNAME=ANY, then you can either add code on the Submit SAS Code tab in the Advanced Options dialog box to set the option, or you can modify your names to meet the naming requirements that the server is running with. For more information about the VALIDVARNAME= option, see "VALIDVARNAME= System Option" in SAS Language Reference: Dictionary.

SAS Institute Inc.We are still running Internet Explorer version 6.0 in our organization.  When we open our dashboards that we have built in SAS Information Delivery Portal 1.1, the ActiveX graphs do not display detail information when we mouse over them.  The dashboards are running stored processes that output the graphs.  The easy solution is to left-click on the graph to activate it.  This is easy enough if you have one or two graphs on a page, but some of our dashboards include six or seven graphs, which isn’t hard either, it just leaves you thinking that you shouldn’t have to be doing it.  The graphs work perfectly when using Mozilla Firefox, which unfortunately is not our organization standard.  The problem is caused by one or more security patches that Microsoft has made available for Internet Explorer.  SAS Usage Note 17565 explains this in more detail:

Usage Note 17565: ACTIVEX, JAVA, and JAVAMETA graphs may not be active by default when displayed via Internet Explorer

After application of one or more Microsoft security patches/updates, ACTIVEX, JAVA, and JAVAMETA graphs are no longer active by default when displayed via Internet Explorer. This means that the pop-up options menu will not display when you right-mouse button on the graph.

The Microsoft security patches related to this issue include KB912812 and KB912945.

To activate the graph, left-mouse click on the graph. This will activate the current graph and enable use of the right-mouse button. Once the graph is active, flyover data tips will also now display correctly.

SAS Institute Inc.

I attended SAS Programming 3: Advanced Techniques and Efficiencies training recently at the SAS’ Austin Training Center.  Programming 3 demonstrates many ways to make your SAS code and programs more efficient, but I also picked up one tidbit that makes coding and testing even easier.  When using the enhanced editor, to create comments in your code or comment out code you do not want to run, merely highlight or select the block or statements to comment with your mouse.  Now type the CTRL-/ key combination and your SAS code will include the required /* and the beginning and */ at the end of each selected line.  To uncomment a block or code or statement, highlight or select it and type the CTRL-Shift-/ key combination.  I did notice that if I select only one word on a line or merely have my cursor positioned anywhere within my code that the key combination will operate on the entire line which contains the highlighted word or cursor.  The quick commenting technique only works in the Windows version of the enhanced editor.  It will not work in the standard SAS program editor or on non-windows systems.

from support.sas.com:

Data source name
The name of the relational or multidimensional data source that is being used for the view elements in the report section. (Does not apply to stored processes.)
Data source description
If available, the description of the relational or multidimensional data source that is being used for the view elements in the report section. (Does not apply to stored processes.)
Date the data was last refreshed
The date and time that the query for data was last sent from SAS Web Report Studio to the underlying source of data. The format of the time value is based on the locale set for the middle tier.
Report author
If available, the name of the report author. Otherwise, the user ID of the report author is used.
Report date
Either the date and time that the report was created, or the date and time that changes to the report were last saved. The format of the time value is based on the locale set for the middle-tier.
NOTE: If you save changes in the current session, you must close and then reopen the report in order to refresh the report date.
Report description
If available, the description of the report.
Report name
The name of the report.