52
Using the Access Assurance Suite Advanced Analytics Framework 8.3 Courion Corporation 1900 West Park Drive Westborough, MA 01581-3919 Phone: (508) 879-8400 Domestic Toll Free: 1-866-Courion Fax: (508) 366-2844

Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

Using theAccess Assurance Suite™

Advanced Analytics Framework

8.3

Courion Corporation

1900 West Park DriveWestborough, MA 01581-3919

Phone: (508) 879-8400Domestic Toll Free: 1-866-Courion

Fax: (508) 366-2844

Page 2: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

Copyright © Courion Corporation. All rights reserved.

Copyright (c) by Courion Corporation 1996-2014. All rights reserved. This document may be printed or copied for use by administrators of software that this guide accompanies. Printing or copying this document for any other purpose in whole or in part is prohibited without the prior written consent of Courion Corporation.

Courion, the Courion logo, Access Insight, AccountCourier, CertificateCourier, PasswordCourier, ProfileCourier, RoleCourier are registered trademarks of Courion Corporation. The Courion logo See Risk in a Whole New Way, Access Assurance Suite, ComplianceCourier, and Enterprise Provisioning Suite are trademarks of Courion Corporation. All rights reserved. The names of actual companies and products mentioned herein may be the trademarks of their respective owners. Any rights not expressly granted herein are reserved.

Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c) (1) (ii) of the Rights in technical Data and Computer Software clause in DFAR 52.227-7013 or the equivalent clause in FAR 52.227-19, whichever is applicable.

Courion Corporation reserves the right to make changes to this document and to the products described herein without notice. Courion Corporation has made all reasonable efforts to insure that the information contained within this document is accurate and complete. However, Courion Corporation shall not be held liable for technical or editorial errors or omissions, or for incidental, special, or consequential damages resulting from the use of this document or the information contained within it.

The names of additional products may be trademarks or registered trademarks of their respective owners. The following list is not intended to be comprehensive.

Adobe®, the Adobe® logo, Acrobat®, and Acrobat® Reader® are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries.

CA-TopSecret® and CA-ACF® are registered trademarks of Computer Associates International, Inc.

Citrix® is a registered trademark of Citrix Systems, Inc. in the United States and other countries.

HP-UX is an X/Open® Company UNIX® branded product.

Java™ and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.

Microsoft Corporation®, Microsoft Windows®, Microsoft Windows NT®, Microsoft Excel,® Microsoft Access™, Microsoft Internet Explorer®, and SQL Server® are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Microsoft is a U.S. registered trademark of Microsoft Corp.

Netscape® is a registered trademark of Netscape Communications Corporation® in the U.S. and other countries. Netscape Communicator®, Netscape Navigator®, and Netscape Directory Server® are also trademarks of Netscape Communications Corporation and may be registered outside of the U.S.

Novell® and the Novell products, including NetWare®, NDS®, GroupWise®, and intraNetWare® are all registered trademarks of Novell.

IBM®, Lotus®, Lotus Notes®, Domino®, i5/OS®, z/OS®, and RACF are registered trademarks of International Business Machines Corporation in the United States, other countries, or both.

Oracle® and PeopleSoft® are registered trademarks of the Oracle Corporation. Oracle8i™ and Oracle9i™ are trademarks of the Oracle Corporation.

Remedy®, Action Request System®, and AR System® are registered trademarks of BMC Software, Inc.

SAP, the SAP logo, mySAP.com, and R/3 are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world.

SecurID® and BSAFE® are registered trademarks of RSA Security Inc. All rights reserved.

Sun, Sun Microsystems, the Sun Logo, iPlanet are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.

All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the United States and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc.

UNIX is a registered trademark in the United States and other countries, licensed exclusively through X/Open Company Limited.

Copyright to STLport is owned by the following entities: Boris Fomitchev© (1999/2000), Hewlett-Packard Company© (1994), Silicon Graphics Computer Systems, Inc.© (1996/1997), and the Moscow Center for SPARC Technology© (1997).

All other products and companies mentioned in this document may be the trademarks of their associated organizations.

January 2014

Trademarks

Page 3: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

1

Courion Corporation

Contents

Chapter 1 - Overview of the Advanced Analytics Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

Chapter 2 - Deploying the Advanced Analytics Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Display Widgets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Accessing the Advanced Analytics Framework Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6Configuring the Advanced Analytics Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Securing the Connection Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8Securing the Advanced Analytics Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Configuring the ASP.NET Authorization in IIS 7 (Windows 2008) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Enable Windows Authentication for the Courion Advanced Analytics Web Application . . . . . . . . . . . . 9Set Authorization Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Correcting File Permission Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Chapter 3 - Defining Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Metric Definitions Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Selecting a Display Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Defining Additional Information about Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Defining Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Sample SQL Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Defining the DataSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Defining a ConnectionString in the web.config File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Referencing a ConnectionString in the MetricDataSources Table . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Example of Creating a DataSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Defining the Data Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Caching Query Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Example of Defining a Metric Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Defining the Goal Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Example of Defining a Goal Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Defining the Metric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21Example of a Metric Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Mapping the Metric to the Data Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Example of Metric Series Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Mapping the Metric to the Goal Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Example of Goal Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Customizing Display Widgets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Example of Metric Customization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Using Macros to Customize Display Widgets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Example of a Display Argument Macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Customizing Series Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Example of Customizing Series Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Defining Metric Relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27About Drill-Down Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

ContextMenu Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28Defining a Parent-Child Relationship . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

Example of Defining a Parent-Child Relationship . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29Customizing a Child Metric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Example of Customizing a Child Metric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30Building Metric Library Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Defining New Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Example of Defining a New Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Page 4: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

2

Courion Corporation

Defining Relationships Between Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32Example of Defining a Tag Relationship . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Attaching Tags to Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32Example of Attaching a Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Chapter 4 - Display Widgets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Two-Dimensional Bar Chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36Display Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Two Dimensional Date/Time Line Chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37Display Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Two-Dimensional Stacked Bar Chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38Display Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

Two-Dimensional Pie Chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39Display Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Three-Dimensional Bar Chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40Display Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Three-Dimensional Date/Time Line Chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41Display Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Three-Dimensional Pie Chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Display Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Three-Dimensional Stacked Bar Chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43Display Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44Display Argument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Appendix A - Goal Success Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Appendix B - Best Practices for Defining Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Page 5: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

3

Courion Corporation

Chapter 1: Overview of the Advanced Analytics Framework

This manual describes how to use the Advanced Analytics Framework to create charts and grids that capture trends and performance indicators from the data that the Access Assurance Suite collects as well as other data from your enterprise. It describes how to deploy the Advanced Analytics Framework, design metrics that capture data from different sources, and display those metrics. It also explains how to create relationships between metrics to use the Advanced Analytics Framework drill-down capability.

Figure 1 shows an example of the Advanced Analytics Framework interface with display widgets in the form of charts showing information about sensitive data access.

Figure 1: Advanced Analytics Interface

From this view, you can drill-down to display further information about the data as shown. To do this, right-click on a point in a graph or a display bar.

Page 6: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

4 Overview of the Advanced Analytics Framework

Courion Corporation

Getting Started

To get started with the Advanced Analytics Framework, first deploy it as described in:

• “Deploying the Advanced Analytics Framework” on page 5

You can then define the metrics as described in:

• “Defining Metrics” on page 13

Page 7: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

5

Courion Corporation

Chapter 2: Deploying the Advanced Analytics Framework

The Advanced Analytics Framework is automatically installed with an Access Assurance Suite™ full installation or upgrade to Access Assurance Suite 8.00. It uses a repository database shipped as part of the Transaction Repository for release 8.00 and later. This chapter describes how to deploy the Advanced Analytics Framework on your Courion Server and includes the following sections:

• “Accessing the Advanced Analytics Framework Interface” on page 6

• “Configuring the Advanced Analytics Repository” on page 7

• “Securing the Advanced Analytics Framework” on page 9

• “Correcting File Permission Issues” on page 11

Display Widgets

The Advanced Analytics Framework is installed with a set of default display widgets which are described in “Display Widgets” on page 35. These widgets determine how the metrics appear in the interface.

Metrics

No default metrics are included with the default installation. However, you can define your own metrics. For information about how to do this, see “Defining Metrics” on page 13.

Page 8: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

6 Deploying the Advanced Analytics Framework

Courion Corporation

Accessing the Advanced Analytics Framework Interface

Once you have installed the Access Assurance Suite, you can access the Advanced Analytics Framework interface with the following URL:

HTTP://ServerName/Courion/Analytics

where ServerName is the name of the server where the suite was installed.

Navigating to this URL prompts you for credentials and then initially gives you the error "The dashboard is incorrectly configured." (see Figure 2). This is because you have not yet configured the Advanced Analytics Repository, as described in the next section. If an "Access Denied" error appears, follow the steps in “Configuring the ASP.NET Authorization in IIS 7 (Windows 2008)” on page 9 to ensure that Windows authentication is correctly configured.

Figure 2: First Access to the Advanced Analytics FrameWork Interface

Page 9: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

Configuring the Advanced Analytics Repository 7

Courion Corporation

Configuring the Advanced Analytics Repository

This section describes how to configure the Advanced Analytics Repository and secure connection strings.

To configure the Advanced Analytics Repository:

1. Create or update a Transaction Repository to the newest schema that includes the Advanced Analytics Repository tables. If you are upgrading to release 8.00, this happens automatically during the installation.

If this is a new installation, create a new Microsoft ADO target and specify the Transaction Repository interface. See the manual Configuring Password Management Modules (PMMs), Connectors, and Agents for information about how to do this.

Sometimes, due to permissions constraints, it is not possible to deploy this schema automatically. In this case, the relevant schema is contained in the SQLServer_Upgrade_V7.90.DDL which is in the product installation folder. You need to apply this DDL manually

2. Edit the Web.Config file in the $InstallDir$\www\Analytics folder.

3. In the connectionStrings section of the XML file the following sample configuration is in commented out form:

<!--<ADD NAME="METRICREPOSITORYDEFAULT" CONNECTIONSTRING="DATA SOURCE=$$YOURSERVERHERE$$;INITIAL CATALOG=$$YOURDBHERE$$;TRUSTED_CONNECTION=TRUE" PROVIDERNAME="SYSTEM.DATA.SQLCLIENT" />-->

4. Remove the comment brackets <!- and --> from this line.

5. Update the credentials with either of the following:

• If there is a trusted connection, replace each of the variables in $$ with appropriate values:

DataSource is the name of your server

Initial Catalog is the name of the Transaction Repository database

• If you use SQL account credentials:

Replace connectionString with

DATA SOURCE=$$YOURSERVERHERE$$;INITIAL CATALOG=$$YOURDBHERE$$;USER ID=$$USERID$$;PASSWORD=$$PASSWORD$$"

Replace each of the variables in $$ with appropriate values:

DataSource is the name of your server

Initial Catalog is the name of the Transaction Repository database

UserID is a valid account name

Password is a valid password.

6. If you use any other form of credentials, replace everything within the quotes following "connectionString" with a well-formed connection string (as can be found in UDL files).

Page 10: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

8 Deploying the Advanced Analytics Framework

Courion Corporation

Securing the Connection Strings

You may want to secure the connection strings as they contain sensitive data such as passwords.

To secure the connection strings:

1. 1.Execute the following ASP.NET command replacing the ellipses (…) with your installation directory:

ASPNET_REGIIS.EXE -PEF "CONNECTIONSTRINGS" C:\...\WWW\ANALYTICS

2. Open the web.config file and confirm that the connection strings have been encrypted.

Page 11: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

Securing the Advanced Analytics Framework 9

Courion Corporation

Securing the Advanced Analytics Framework

By default, the Advanced Analytics Framework allows access to any user who can successfully authenticate. However, you can use the ASP.NET security model to enforce authorization. This section details how to configure authorization through IIS 7. ASP.NET Authorization is the only security model currently enforced for the Advanced Analytics Framework. All authorized users have access to all of the available metrics.

Configuring the ASP.NET Authorization in IIS 7 (Windows 2008)

This section documents how to enable Windows authentication and ASP.NET authorization for IIS 7.

Enable Windows Authentication for the Courion Advanced Analytics Web Application

1. Select the web application that hosts Courion Advanced Analytics web application and select "IIS\Authentication, as shown in Figure 3.

Figure 3: IIS Manager

2. The authentication page that appears lists a number of different authentication schemes. Ensure that Windows authentication is enabled, as shown in Figure 4.

Page 12: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

10 Deploying the Advanced Analytics Framework

Courion Corporation

Figure 4: Enabling Windows Authentication

Set Authorization Rules

3. Select the ANALYTICS folder under the web application that hosts Courion Advanced Analytics web application and select "IIS\Authorization rules".

4. Add rules to allow or deny groups or users as necessary as shown in Figure 5.

Figure 5: Customizing Authorization Rules

Page 13: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

Correcting File Permission Issues 11

Courion Corporation

Correcting File Permission Issues

Once you have metrics for the dashboard you may see errors similar to Figure 6. This occurs because certain display widgets require the ability to write temporary image files to the Analytics folder.

Figure 6: Metric Access Error

To correct this issue, ensure that the Analytics folder allows Read and Write access for the user that the web application that hosts the Advanced Analytics Framework runs as. For IIS 7, the default user is NETWORK SERVICE. The permissions should look like those in Figure 7.

Figure 7: User Permissions

Page 14: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

12 Deploying the Advanced Analytics Framework

Courion Corporation

Page 15: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

13

Courion Corporation

Chapter 3: Defining Metrics

This chapter describes how to design metrics that capture data from different sources and to use the display widgets to represent that data in an interface for end users. The metric definition is stored as rows in relational database tables which are part of the Transaction Repository.

This chapter includes the following sections:

• “Metric Definitions Overview” on page 14

• “Defining Metrics” on page 16

• “Defining Metric Relationships” on page 27

• “Building Metric Library Tags” on page 31

Page 16: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

14 Defining Metrics

Courion Corporation

Metric Definitions Overview

In a typical enterprise, there are one or more data repositories that contain tables or data sources. From these tables or data sources, you can abstract a key set of data to display in the Advanced Analytics Framework interface that is a scalar, a series, or a table for each metric.

To obtain this projection of the data, you construct a query that returns either a single value, a set of columns describing the series (the X and Y coordinates), or the tabular data. Additionally, the data repositories may contain other data that you can use to provide context for the data series, such as baselines, historical performance, or objectives. These additional series are called “goals” and you also need to construct queries to return this data.

Figure 8 represents the different elements that are part of defining a metric from data sources in an enterprise.

Figure 8: Defining a Metric from Data Sources

The data warehouse on the left has tables and data sources that include both enterprise and Courion data. The data warehouse may also contain other data series that can provide context for the data series such as baselines, historical performance, or objectives. These additional data series are the goals, and you construct queries into the data warehouse to obtain this data as well.

Selecting a Display Format

Once you have extracted the data, you associate it with a particular display format. To do this, select a pre-defined display widget, included with the Advanced Analytics Framework, to display the data. Each display widget has a set of options that determines its display, which are defined by the widget itself such as axis labels and titles. You can use these to customize the display differently for each metric. A data set combined with a display format is a basic metric.

Defining Additional Information about Metrics

To define additional information about the metrics you can:

Page 17: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

Metric Definitions Overview 15

Courion Corporation

• Apply tags to the metric that determine which category the metric appears in within the metric library of the Advanced Analytics Framework interface.

• Define a relationship between metrics, which enables the Advanced Analytics Framework drill-down capabilities.

Page 18: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

16 Defining Metrics

Courion Corporation

Defining Metrics

Sample SQL Table

The examples in this section assume that there is an SQL database that contains the data needed to create two related metrics: the number of employees in an organization over time, and the number of employees with a given role on a particular date. The count from the previous year has been collected to use as a baseline. Figure 9 represents this table.

Figure 9: EmployeeRoleCount SQL Table

Defining the DataSource

To define series for the metrics, you write queries against pre-defined data sources. These data sources are called DataSources and you define them in the Analytics\web.config file as connection strings. You then reference them in the MetricDataSources table.

Defining a ConnectionString in the web.config File

The first step to defining a DataSource is to add a named ConnectionString into the connectionString section of web.config. A ConnectionString takes the following format:

<add name="$$DataSourceID" connectionString="Data Source=$$YOURSERVERHERE$$;Initial Catalog=$$YOURDBHERE$$;User ID=$$USERID$$;Password=$$PASSWORD$$" providerName="System.Data.SqlClient" />

Where:

• $$DataSourceID$$ is the name of the new connection string

• $$YOURSERVERHERE$$ is the name of the SQL Server

• $$YOURDBHERE$$ is the name of the Database containing the data for the metric

• $$USERID$$ is the id of the SQL user to authenticate as

• $$PASSWORD$$ is the password of the SQL user

See “Securing the Connection Strings” on page 8 for information about how to encrypt these strings once you have defined them to protect the username and password.

Page 19: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

Defining Metrics 17

Courion Corporation

Referencing a ConnectionString in the MetricDataSources Table

For the metric to use the ConnectionString defined in the web.config file, add an entry to the MetricDataSources table. Table 1 shows the schema for this table. This table is populated with:

• A unique ID for the data source to be referenced

• A type (this is SqlDataSource)

• The name of the ConnectionString you specified in the previous section

Example of Creating a DataSource

To begin setting up a sample metric, the following example shows how to add a connection string in the Analytics\web.config file:

<add name="ExampleSrc" connectionString="Data Source=SqlServer;Initial Catalog=MyDatabase;User ID=QueryUser;Password=QueryPassword" providerName="System.Data.SqlClient" />

You can then add the following row to the MetricDataSources table, as shown in Figure 10:

Figure 10: Creating a DataSource Example

Defining the Data Series

Each data series represents a query against one of the data sources that you have already defined. Series can take the format of one of the following display widgets:

• Scalar - Returns a single result for a gauge or thermometer.

Note: For information about scalar display widgets, contact your Courion professional services representative.

Table 1: MetricDataSources Schema

Field Name Description Comments

DataSourceID The ID that is associated with ConnectionString.

DataSourceType The type of data source. SqlDataSource is the only supported type.

ConnectionString The name of ConnectionString as specified with web.config.

Page 20: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

18 Defining Metrics

Courion Corporation

• Column - Represents chart data as a set of X points and Y points in a corresponding columns.

• Table - Represents data in grid displays and can have multiple columns that are unmapped.

For the three formats, you develop a query against one of the data sources you have defined that returns data in the appropriate format:

• For a scalar, it needs to return a single cell of data.

• For columns, it needs to return two or three columns of data where the first represents the X values for a chart and the latter one or two represent the Y values that correspond with the X values.

• For a table, it can return an arbitrary set of tabular data, although this restricts the display widgets that you can apply because you must use a grid widget.

When you have created a query, you can define the series in the MetricSeries table. Table 2 shows the schema for this table.

Table 2: MetricSeries Schema

Field Name Description Comments

SeriesID Unique identifier representing the series.

Type Used by the widget:

Scalar - one value

Columns - predefined X/Y values

Table - fully tabular

Label Used for legends if defined by widget.

DataSourceID References the DataSource used by the series.

Query Query string that returns the data representing the actual metric.

ArgumentColumn X Value Required except for “Table” types.

ValueColumn1 Y Value 1 Required for “Columns” type.

ValueColumn2 Y Value 2 Optional

IsCacheable Used to specify whether the data returned by the query can be cached:

True - Data can be cached

False - Data cannot be cached

Page 21: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

Defining Metrics 19

Courion Corporation

The ArgumentColumn, ValueColumn1, and ValueColumn2 values describe how the metric uses the returned data:

• A scalar series uses the Argument value to retrieve the single value from the query results (example: the value is “Result” for the query SELECT ‘3’ as Result).

• A column series maps the column named by Argument to the X values, and the columns referenced by ValueColumn1 and ValueColumn2 to the Y values. ValueColumn2 is optional and is used for range charts to specify the end of the range.

Note: For information about range display widgets, contact your Courion professional services representative.

Caching Query Results

You can cache query results to improve display performance. However, do not use caching during the metric definition process because the cache is not flushed when the metric definition changes.

Best practices call for the creation of snapshot or staging tables that store the results of long running queries before adding them to the Advanced Analytics Framework interface. However, a simple caching mechanism exists as shown in Table 2 if this is not possible. To enable the caching mechanism, set the IsCacheable column to 1. There are three cache expiration modes:

• Never - Cache once and keep the cache as long as IIS is running.

• TimeExpiration - Expires at a certain time each day.

• DurationExpiration - Expires after a after a fixed period of time from query execution.

Enter the appropriate values for these parameters if you enable the caching mechanism.

CacheExpiration Used to specify how often the cached data should be updated:

Never - Cache is never updated

TimeExpiration - Cache is updated based on the item specified in CacheExpirationParameters

DurationExpiration - Cache is updated after a fixed interval has elapsed from query execution

CacheExpirationParameters Used to specify the time at which cache should be updated if CacheExpiration field is set to TimeExpiration.

Example: “00:01” indicates the cache should be updated at 1 minute past midnight.

Table 2: MetricSeries Schema

Field Name Description Comments

Page 22: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

20 Defining Metrics

Courion Corporation

Example of Defining a Metric Series

To continue the example started in “Example of Creating a DataSource” on page 17, the following defines queries and then data series for each of the metrics.

The first metric is the count of all employees on a given day. The follow query extracts this information:

SELECT Date, SUM(EmployeeCount) as FullCount FROM EmployeeRoleCount GROUP BY Date

The second metric is the number of employees in a given role on a given day. This example uses one date for the query: 12/31/2009:

SELECT Role, EmployeeCount FROM EmployeeRoleCount WHERE Date = '12/31/2009'

(The section “Customizing Series Queries” on page 25 for information about how to modify this).

Add these queries to the MetricSeries table, as shown in Figure 11.

Figure 11: MetricSeries Example

Defining the Goal Series

Defining the goal series is similar to defining the data series: you create a query against one of the data sources, and define the goal series in the MetricSeries table. The way the data series and goal series are differentiated within the metric definition is by how they are linked to the metric.

Example of Defining a Goal Series

This example uses the YearAgoCount column to construct a goal series, using the following queries:

SELECT Date, SUM(YearAgoCount) as FullCount FROM EmployeeRoleCount GROUP BY Date

SELECT Role, YearAgoCount FROM EmployeeRoleCount WHERE Date = '12/31/2009'

Add these queries to the MetricSeries table as shown in Figure 12.

Page 23: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

Defining Metrics 21

Courion Corporation

Figure 12: Goal Series Example

Defining the Metric

When you have defined the series you can create the definition for the metric. The metric definition ties together the series you have defined, the display widget that you use to display them, and any customizations to the series or display widget that are specific to the given metric. To define a metric, add a row to the Metrics table shown in Table 3. This row specifies an ID for the metric, the name that appears in the Metric Library for the metric, the display type and a type descriptor for the metric that determines the icon to display for the metric in the Metric Library.

Example of a Metric Definition

This example defines two metrics: one to show the aggregate employee counts and one to show employee count for a particular role. To do this, the example adds the following rows to the Metrics table, as shown in Figure 13:

Table 3: Metrics Table

Field Name Description Comments

MetricID Unique ID associated with the metric.

Name Name that represents the metric in Library View.

MetricDisplayID ID of the widget used to display the metric.

Note: Use a MetricDisplayID associated with the pre-defined widgets shipped with the Advanced Analytics Tool. “Display Widgets” on page 35 lists these widgets and their associated MetricDisplayIDs.

Metric Type Used to determine the icon that appears next to the metric in Library View.

One of: chart, grid, gauge.

Page 24: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

22 Defining Metrics

Courion Corporation

Figure 13: Metric Definition Example

Mapping the Metric to the Data Series

When you have defined a metric and one or more data series you can map the metric to the data series. Most widgets support a single data series, although some, such as the stacked bar chart, support multiple data series. See “Display Widgets” on page 35 to determine whether the display widget you are using supports more than one data series.

To map the series onto the metric, use the MetricSeriesMap table (see Table 4 for the schema). In this table, each row represents the mapping between a defined metric and a metric series.

Example of Metric Series Mapping

Figure 14 shows the appropriate series mapped to the appropriate metric. Note that the MetricID needs to match the MetrcID in the Metrics table, and the SeriesID needs to match the SeriesID in the MetricSeries table.

Figure 14: Metric Series Mapping Example

Table 4: MetricSeriesMap Schema

Field Name Description

MetricID ID assigned to the metric.

SeriesID ID assigned to the series that the metric is associated with.

Page 25: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

Defining Metrics 23

Courion Corporation

Mapping the Metric to the Goal Series

Use the MetricGoals table to map the metric series to the goal series. Table 5 shows the schema for this table.

In this table, MetricGoalID provides a key for the goal, Plan determines how the goal appears, MetricID specifies which metric to associate with the goal, and GoalSeriesID is the ID for the series that defines the goal.

Additional fields include: DataSeriesID which determines which data series for the target metric is used for comparisons, and SuccessFunction which specified the type of comparison that needs to occur between the data series and the goal series to determine success. See “Goal Success Functions” on page 45 for a list of goal success functions.

Example of Goal Mapping

This example maps the appropriate goal series onto a metric that has already been created by adding the following rows to the MetricGoals table, as shown in Figure 15:

Figure 15: Goal Mapping Example

Table 5: MetricGoals Schema

Field Name Description Comments

MetricGoalID Unique ID for the goal.

IndicatorID Group indicator for the goal (currently not used - leave blank).

Optional.

Plan Used to determine how the goal is displayed.

Options: base, target, ideal.

MetricID MetricID associated with this goal.

DataSeriesID SeriesID associated with the data series in the metric being compared to.

GoalSeriesID SeriesID of the actual goal series.

SuccessFunction The function to use to determine success.

See “Goal Success Functions” on page 45 for a list of these functions.

Page 26: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

24 Defining Metrics

Courion Corporation

Customizing Display Widgets

After you have mapped the metrics to the goal series, you can load the Advanced Analytics Framework web interface to display the sample metrics. To finalize the metrics, you can customize the display with information specific to each metric such as axes labels. This section describes how to customize the display widget. See also “Using Macros to Customize Display Widgets” on page 25 for information about how to use macros to customize display widgets.

Each display widget has options that you can customize on a per metric basis. For example, most widgets have options to set a header or title and axes labels. Some might also present options that affect the scale of the axes or other specific customizations. The customizations available for the display widgets available with the Advanced Analytics Framework are described in “Display Widgets” on page 35.

Use the MetricDisplayArguments table to define a value for one of the parameters presented by the display widget. Table 6 shows the schema for this table.

Each row in Table 6 maps an argument name and a value to a metric and display type. If the argument name corresponds to one of the customization arguments available for the display widget, then it is applied to customize the display. You can also provide user-defined customization arguments that are not directly used by the widget. The section “Customizing Series Queries” on page 25 explains how to do this.

Example of Metric Customization

This example adds axis labels to both of the metrics already defined. The “Example of a Metric Definition” on page 21 provided 3DDateTimeLineChart and 3DBarChart as the display widgets for the metrics. “Display Widgets” on page 35 shows that the axis labels are defined by the same two display arguments: XLabel and YLabel for both display widgets. To customize the axis labels, provide values for each of these arguments by adding rows to the MetricDisplayArguments table, as shown in Figure 16.

Figure 16: Metric Customization Example

Table 6: MetricDisplayArguments Table Schema

Field Name Description

MetricDisplayID The ID of the display widget.

MetricID The ID of the metric you are customizing.

ArgumentName An argument name.

ArgumentValue The value for the argument name.

Page 27: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

Defining Metrics 25

Courion Corporation

Using Macros to Customize Display Widgets

You can use macros to customize display widgets. Doing this prevents the need to redefine components of customizations and makes some metric customizations easier. Within the bounds of a single metric, a Display Argument enables you to insert the value of a defined display argument into other display arguments, series labels, and series queries.

To use a Display Argument macro, define a new display argument in the MetricDisplayArguments table (Table 6 shows the schema for this table.) This can be either an argument that is being used by the display widget or a new argument that you have created just for this purpose.

Once you have created the display argument you can reference it using the following syntax:

%DisplayArgument.XXXXXX%

Where XXXXXX is the ArgumentName that you have provided. This resolves in the ArgumentValue field for other display arguments as well as in the metric series label field and metric series query field in the MetricSeries table.

Example of a Display Argument Macro

This example adds a title that shows the [Y axis label] vs. the [X axis label] in a generic way to a metric that was created in “Example of a Metric Definition” on page 21. To do this, the example uses display argument macros to reference the axis labels already defined. The display widgets include the Display Argument “Header Text,” which can include argument values that set the title. To create the title dynamically using the axis labels, new argument values are added to the Argument Value column as shown in Figure 17:

Figure 17: Display Argument Macro Example

Customizing Series Queries

You can apply display argument macros to series and label queries as well as display widgets. You can do this when defining metric relationships as well (see “Defining Metric Relationships” on page 27.)

Example of Customizing Series Queries

This example applies a display argument macro to the query in the second example metric. The query was originally created with a specific date for the metric: 12/31/2009 (see “Example of Defining a Metric Series” on page 20). This method requires that you modify the query every time you want to view a specific date. Using a display argument macro enables you to display the date as a custom

Page 28: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

26 Defining Metrics

Courion Corporation

display argument and then change that date when you want to adjust the filter. This example takes advantage of the ability to define a display argument that is not associated with a a widget customization and adds the row to the MetricDisplayTable shown in Figure 18.

Figure 18: Customizing Series Queries Example

Because the custom display argument is defined, it is now available as a macro.

You can modify the query in the metric series "example2" as the following:

SELECT Role, EmployeeCount FROM EmployeeRoleCount WHERE Date = '%DisplayArgument.TargetDate%'

You can modify the goal series as the following:

SELECT Role, YearAgoCount FROM EmployeeRoleCount WHERE Date = '%DisplayArgument.TargetDate%'

This resolves the "TargetDate" display argument at runtime so it can be modified more easily.

Page 29: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

Defining Metric Relationships 27

Courion Corporation

Defining Metric Relationships

After you have defined a set of metrics, you can define relationship between the metrics. These relationships enable end-users to use drill-down functionality with the display widgets on the Advanced Analytics Framework interface to see how the values of one metric affects another.

Often many of the metrics are different views of the same data which share certain filter dimensions. As shown in Figure 19, the two key pieces to defining a metric relationship are:

• Connecting metrics with a labeled parent-child relationship.

• Defining the customizations that should occur to the child metric as a result of the relationship.

The label of the relationship defines how the relationship between the metrics should be described to the end-user.

Figure 19: Metric Relationship Definition

About Drill-Down Functionality

In the Advanced Analytic Framework, drill-down is the ability to click on a display widget and see an option to replace or create a new instance of another metric with certain values obtained from the parent metric. A drill-down option appears in the context menu (display widget) when the following conditions exist for at least one relationship:

1. The current metric is the parent.

2. The label of the relationship between the parent and child metric can be fully evaluated given the current context (see “Defining a Parent-Child Relationship” on page 28).

Note: This condition is often violated because the relationship label between two metrics uses a ContextMenu macro that cannot be resolved due to lack of context. See “ContextMenu Macros” on page 28.

Page 30: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

28 Defining Metrics

Courion Corporation

3. The relationship child customizations can be fully evaluated given the current context.

In many situations the key to the second and third conditions is the ability to resolve the context of the parent metric. The display widget determines context. All of the display widgets included with the Advanced Analytics Framework provide this capability. They determine the x value (argument) and y values (value, value 2) of the click and expose these as ContextMenu macros.

ContextMenu Macros

ContextMenu macros are available when the display widget has returned a context to the Advanced Analytics Framework. Table 7 lists the three pre-defined ContextMenu macros.

Defining a Parent-Child Relationship

To define a metric relationship, you first determine which metric is the parent metric and which metric is the child metric. The metric that presents the drill-down menu is the parent metric. Choosing a drill-down option loads the child metric. This relationship is defined in the MetricRelationships table. Table 8 shows the schema for this table.

Note: The RelationshipLabel can include ContextMenu macros and it can use DisplayArgument macros from the parent metric. Therefore, if you want to define a relationship from a metric that has been customized, you can capture that customization using the DisplayArgument macro mechanism and pass that customization down to child metrics.

Table 7: ContextMenu Macros

Macro Description

%ContextMenu.Argument% The X Value of the click-point.

%ContextMenu.Value% The Y Value of the click-point (or range start).

%ContextMenu.Value2% The range end of the click-point if available.

Table 8: MetricRelationships Schema

Field Name Description Comment

MetricRelationshipID Unique ID for the relationship.

ParentMetricID ID of the parent metric.

ChildMetricID ID of the child metric.

RelationshipLabel Label that appears in the metric.

Can include both ContextMenu and DisplayArgument macros.

RelationshipDescription Text description of the relationship.

Page 31: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

Defining Metric Relationships 29

Courion Corporation

Example of Defining a Parent-Child Relationship

This example defines a relationship between a parent metric that allows a user to select a particular date and a child metric that shows the distribution of users assigned to roles on that date. The example first defines the trend metric as the parent and the role distribution metric as the child. The label indicates that is a drill-down by date and uses a ContextMetric macro to show the date:

See role distribution on %ContextMenu.Argument%

The consequence of including the context menu argument in the relationship is that a drill-down option only appears for this metric if there is a context. Otherwise, the resolution of the macro fails and the drill-down does not appear because the relationship label between the two metrics uses a ContextMenu macro that cannot be resolved due to lack of context.

The relationship is defined by adding the following row to the MetricRelationships table as shown in Figure 20.

Figure 20: Defining a Parent-Child Relationship Example

Customizing a Child Metric

The MetricRelationshipArguments table defines each Relationship Argument. Table 9 shows the schema for this table.

The purpose of each Relationship Argument is to override a display argument in the child metric. When a child metric is displayed any argument that has been defined in the Relationship Arguments are resolved from there. Only the remaining arguments are resolved from the Display Arguments definition in the child metric definition. You can use both ContextMenu and DisplayArgument macros for the Relationship Argument value. DisplayArgument macros are resolved using display arguments from the parent metric. This allows you to pass previous customizations through a chain of metrics.

Table 9: MetricRelationshipArguments Schema

Field Name Description Comment

MetricRelationshipID ID for the relationship.

ArgumentName Name of the display argument to override.

ArgumentValue New value. Can contain ContextMenu or DisplayArgument (from parent) macros.

Page 32: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

30 Defining Metrics

Courion Corporation

Example of Customizing a Child Metric

This example takes advantage of the parameterization of the child metric that was done in the customizing series queries section (see “Customizing Series Queries” on page 25.) The desired target date is in the ContextMenu.Argument macro because it is the X axis value of the trend chart. By using a relationship argument, this example uses this target date to override the default "TargetDate" display argument of the role metric. The relationship argument overrides the display argument and the metric is displayed at the desired target date.

To do this, add the following row to the MetricRelationshipArguments table as shown in Figure 21:

Figure 21: Customizing a Child Metric Example

Page 33: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

Building Metric Library Tags 31

Courion Corporation

Building Metric Library Tags

After you have defined metrics and the relationships between them, you can organize the metrics so that users can find the ones they want to view. You do this through a hierarchical tagging system. Tagging metrics causes them to appear in a “bucket” with all other metrics that share the same tag in the metric library. You can also organize tags into hierarchical structures that allow you to group similar tags and enable tree navigation through the available metrics.

The top-level folders that are displayed in the metric library consist of tags that have no parent tags. You can find all other tags nested under their parent tags. Metrics without tags appear at the root of the metric library hierarchy.

Defining New Tags

To tag metrics, you first define the tags that you will use. To do this, first determine the structure of the hierarchy in the metric library and then determine the tags based on this structure. When you have determined the structure, you define all of the folders that appear in the structure as tags.

You define tags in the MetricTags table. Table 10 shows the schema for this table.

You give each tag an ID and a label which are displayed in the Metric Library tree. You also provide a description that appears to metric authors, not end-users.

Example of Defining a New Tag

This example defines a top-level folder labeled Identity with a child folder labeled Trends and a child folder labeled Roles as shown in Figure 22.

Figure 22: Defining a New Tag Example

Table 10: MetricTags Schema

Field Name Description Comment

TagID ID for the tag.

TagLabel The folder name that should be displayed.

TagDescription Text describing the tag. Not displayed to the end-user.

Page 34: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

32 Defining Metrics

Courion Corporation

Defining Relationships Between Tags

To define hierarchy within the metric library, you create parent-child relationships between existing tags. Use the MetricTagRelationships table to do this. Table 11 shows the schema for this table.

Example of Defining a Tag Relationship

This example adds the following rows to the MetricTagRelationships table to define the hierarchy between the Identity folder and the Trends and Roles folders as shown in Figure 23.

Figure 23: Tag Relationship Example

Attaching Tags to Metrics

After you have created the tags and linked them together, you can attach the tags to the metrics contained within the folder. Because this is a many-to-many relationship, a metric can appear many times within the metric library: one time for every tag that applies, or one time at the top level if no tags apply.

You attach tags to a metric through the MetricTagMap table. Table 12 shows the schema for this table.

Example of Attaching a Tag

This examples attaches the tags created to the sample metrics by adding the followings roles to the MetricTagMap table, as shown in Figure 24.

Table 11: MetricTagRelationships Schema

Field Name Description

ParentTagID ID for the parent tag.

ChildTagID ID for the child tag.

Table 12: MetricTagMap Schema

Field Name Description

MetricID ID for the metric.

TagID ID for the tag to attach to the metric.

Page 35: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

Building Metric Library Tags 33

Courion Corporation

Figure 24: Attaching a Tag Example

Page 36: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

34 Defining Metrics

Courion Corporation

Page 37: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

35

Courion Corporation

Chapter 4: Display Widgets

This chapter describes the display widgets that are included with the Advanced Analytics Framework, including the customizations and supported series:

• “Two-Dimensional Bar Chart” on page 36

• “Two Dimensional Date/Time Line Chart” on page 37

• “Two-Dimensional Stacked Bar Chart” on page 38

• “Two-Dimensional Pie Chart” on page 39

• “Three-Dimensional Bar Chart” on page 40

• “Three-Dimensional Date/Time Line Chart” on page 41

• “Three-Dimensional Pie Chart” on page 42

• “Three-Dimensional Stacked Bar Chart” on page 43

• “Grid” on page 44

Page 38: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

36 Display Widgets

Courion Corporation

Two-Dimensional Bar Chart

Figure 25 shows a sample of a two-dimensional bar chart:

Figure 25: Two-Dimensional Bar Chart

MetricDisplayID: 2DBarChart

Display Arguments

Series type: Columns

Data Series: Single data series is accepted

Goal Series: Single goal series is accepted as Target plan

Supports drill-down: Yes

Table 13: Display Arguments for a Two-Dimensional Bar Chart

Argument Name Description Type

HeaderText Applies a title/header to the chart Text

XLabel X-axis label Text

YLabel Y-axis label Text

Rotated Switch the axes Boolean (TRUE or FALSE)

LogScale Switch Y-axis to base 10 log scale Boolean (TRUE or FALSE)

Page 39: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

Two Dimensional Date/Time Line Chart 37

Courion Corporation

Two Dimensional Date/Time Line Chart

Figure 26 shows a sample of a two-dimensional date/time line chart:

Figure 26: Two-Dimensional Date/Time Chart

MetricDisplayID: 2DDateTimeLineChart

Display Arguments

Series Type: Columns

Data Series: Single data series is accepted

Goal Series:

Base - Displayed in red dots

Target - Displayed in orange dots

Ideal - Displayed in green dots

Supports drill-down: Yes

Table 14: Display Arguments for a Two-Dimensional Date/Time Chart

Argument Name Description Type

HeaderText Applies a title/header to the chart Text

XLabel X-axis label Text

YLabel Y-axis label Text

Rotated Switch the axes Boolean (TRUE or FALSE)

LogScale Switch Y-axis to base 10 log scale Boolean (TRUE or FALSE)

Page 40: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

38 Display Widgets

Courion Corporation

Two-Dimensional Stacked Bar Chart

Figure 27 shows a sample of a two-dimensional stacked bar chart:

Figure 27: Two-Dimensional Stacked Bar Chart

MetricDisplayID: 2DStackedBarChart

Display Arguments

Series Type: Columns

Data Series: Accepts 1-4 data series (each represents one part of the stack)

Goal Series: No goal series are supported

Supports drill-down: Yes

Table 15: Display Arguments for a Two-Dimensional Stacked Bar Chart

Argument Name Description Type

HeaderText Applies a title/header to the chart Text

XLabel X-axis label Text

YLabel Y-axis label Text

Rotated Switch the axes Boolean (TRUE or FALSE)

LogScale Switch Y-axis to base 10 log scale Boolean (TRUE or FALSE)

Page 41: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

Two-Dimensional Pie Chart 39

Courion Corporation

Two-Dimensional Pie Chart

Figure 28 shows a sample of a two-dimensional pie chart:

Figure 28: Two Dimensional Pie Chart

MetricDisplayID: 2DPieChart

Display Arguments

Series Type: Columns

Data Series: Single data series is accepted

Goal Series: No goal series are supported

Supports drill-down: Yes

Table 16: Display Arguments for a Two-Dimensional Pie Chart

Argument Name Description Type

HeaderText Applies a title/header to the chart Text

Units Applies units after each value displayed by slice

Text

Page 42: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

40 Display Widgets

Courion Corporation

Three-Dimensional Bar Chart

Figure 29 shows a sample of a three-dimensional bar chart:

Figure 29: Three-Dimensional Bar Chart

MetricDisplayID: 3DBarChart

Display Arguments

Series Type: Columns

Data Series: Single data series is accepted

Goal Series: One goal series is supported as the "target" plan

Supports drill-down: Yes

Table 17: Display Arguments for a Three-Dimensional Bar Chart

Argument Name Description Type

HeaderText Applies a title/header to the chart Text

XLabel X-axis label Text

YLabel Y-axis label Text

Rotated Switch the axes Boolean (TRUE or FALSE)

LogScale Switch the Y-axis to base 10 log scale Boolean (TRUE or FALSE)

Page 43: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

Three-Dimensional Date/Time Line Chart 41

Courion Corporation

Three-Dimensional Date/Time Line Chart

Figure 30 shows a sample three-dimensional date/time line chart:

Figure 30: Three-Dimensional Date/Time Line Chart

MetricDisplayID: 3DDateTimeLineChart

Display Arguments

Series Type: Columns

Data Series: Single data series is accepted

Goal Series:

Base - Displayed in red dots

Target - Displayed in orange dots

Ideal - Displayed in green dots

Supports drill-down: Yes

Table 18: Display Arguments for a Three-Dimensional Date/Time Chart

Argument Name Description Type

HeaderText Applies a title/header to the chart Text

XLabel X-axis label Text

YLabel Y-axis label Text

Rotated Switch the axes Boolean (TRUE or FALSE)

LogScale Switch Y-axis to base 10 log scale Boolean (TRUE or FALSE)

Page 44: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

42 Display Widgets

Courion Corporation

Three-Dimensional Pie Chart

Figure 31 shows a sample of a three-dimensional pie chart:

Figure 31: Three-Dimensional Pie Chart

MetricDisplayID: 3DPieChart

Display Arguments

Series Type: Columns

Data Series: Single data series is accepted

Goal Series: No goal series are supported

Supports drill-down: Yes

Table 19: Display Arguments for a Three-Dimensional Pie Chart

Argument Name

Description Type

Header Text Applies a title/header to the chart Text

Units Adds units after each value displayed by slice Text

Page 45: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

Three-Dimensional Stacked Bar Chart 43

Courion Corporation

Three-Dimensional Stacked Bar Chart

Figure 32 shows a sample three-dimensional stacked bar chart:

Figure 32: Three-Dimensional Stacked Bar Chart

MetricDisplayID: 3DStackedBarChart

Display Arguments

Series Type: Columns

Data Series: Accepts 1-4 data series (each represents one part of the stack)

Goal Series: No goal series are supported

Supports drill-down: Yes

Table 20: Display Arguments for a Three-Dimensional Stacked Bar Chart

Argument Name Description Type

HeaderText Applies a title/header to the chart Text

XLabel X-axis label Text

YLabel Y-axis label Text

Rotated Switch the axes Boolean (TRUE or FALSE)

LogScale Switch Y-axis to base 10 log scale Boolean (TRUE or FALSE)

Page 46: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

44 Display Widgets

Courion Corporation

Grid

Figure 33 shows a sample grid:

Figure 33: Grid

MetricDisplayID: DefaultGrid

Display Argument

Series Type: Table

Data Series: Accepts a single TABULAR data series

Goal Series: No goal series are supported

Supports drill-down: No

Table 21: Display Argument for a Grid

Argument Name Description Type

HeaderText Applies a title/header to the grid Text

Page 47: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

45

Courion Corporation

Appendix A: Goal Success Functions

The Advanced Analytics Framework supports the goal success functions described in Table 1.

Table 1: Goal Success Functions

Success Function Description

None No comparison, always fails

LessThan Goal met if data series is less than goal series at all points

LessThanEq Goal met if data series is less than or equal to goal series at all points

EqualTo Goal met if data series and goal series are equivalent at all points

GreaterThan Goal met if data series is greater than goal series at all points

GreaterThanEq Goal met if data series is greater than or equal to goal series at all points

ContainedBy Goal met if the data series is contained by the goal series at all points (both must be range series)

EndsLessThan Goal met if the last point of the data series is less than or equal to the equivalent point of the goal series

EndsLessThanEq Goal met if the last point of the data series is less than the equivalent point of the goal series

EndsEqualTo Goal met if the last point of the data series is equal to the equivalent point of the goal series

EndsGreaterThan goal met if the last point of the data series is greater than the equivalent point of the goal series

EndsGreaterThanEq Goal met if the last point of the data series is greater than or equal to the equivalent point of the goal series

EndsContainedBy Goal met if the last range in the data series is contained by the last range in the goal series

Page 48: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

46

Courion Corporation

Page 49: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

47

Courion Corporation

Appendix B: Best Practices for Defining Metrics

The following is a list of best practices guidelines to use when you define metrics:

• Write all analysis logic in stored procedures and use staging tables to simplify metric queries. The Advanced Analytics Framework is meant to interact with users and the queries you define for your series are executed at run-time unless they are cached. Simplify the definition and improve performance using staging tables.

• Avoid using the built in caching feature unless this is absolutely necessary. The best practice is to have the analysis already performed and ready. Caching is available only if semi-live data is necessary and it is not possible to store it in a staging table.

• Expose all filters explicit and implicit as DisplayArguments. This simplifies modifying the default displays later, it allows drill-down to affect the filters which may be useful later even if no drill-down is defined at first, and future Advanced Analytics Framework functionality may begin to use display arguments to provide the end-user with increased customization ability.

Page 50: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

48

Courion Corporation

Page 51: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

49

Courion Corporation

Index

AAccess Assurance Suite 8.00 5Advanced Analytics Framework

about 3accessing the interface 6deploying 5installed with Access Assurance Suite 5securing 9

advanced analytics repositoryconfiguring 7

ASP.NET authorization in IIS 7 (Windows 2008), configuring 9

authorization rules, setting 10

Ccaching query results 19child metric

customizing 29configuring ASP.NET authorization in IIS 7 (Windows

2008) 9configuring the advanced analytics repository 7ConnectionString in the web.config file, defining

web.config filedefining a ConnectionString in 16

ContextMenu macros 28

Ddata series

defining 16mapping the metric to 22

DataSource, defining 16deploying the Advanced Analytics Framework 5display widgets

customizing 24installed by default 5list of 35using macros to customize 24

drill-down functionalityabout 27

Ffile permission issues, correcting 11

Ggoal series

defining 20mapping the metric to 23

goal success functions 45

Llibrary tags

building metricbuilding metric library tags 31

Mmacros

about 45ContextMenu 28using to customize display widgets 24

metric relationshipscustomizing 27

Metricsdefining the data series 16mapping to the data series 22

metricsattaching tags to 32default 5defining 21defining the DataSource 16defining the goal series 20defining, best practices 47defining, overview 14mapping the goal series to 23

Pparent-child relationship

defining 28

Ssecuring the Advanced Analytics Framework 9series queries

customizing 25SQL table, sample 16

Ttags

attaching to metrics 32building 31defining new 31defining relationships between 31, 32

transaction repository database views 47transaction repository, for release 8.00 5

Page 52: Using the Access Assurance Suite Advanced Analytics Framework · 2014-04-08 · Using the Access Assurance Suite™ Advanced Analytics Framework 8.3 Courion Corporation 1900 West

50

Courion Corporation