IBM Cognos Disclosure Management 10.2 – Best Practices
Transcription
IBM Cognos Disclosure Management 10.2 – Best Practices
IBM COGNOS DISCLOSURE MANAGEMENT 10.2 – BEST PRACTICES DOCUMENT VER. 2.0 This document is designed to provide insights to some commonly used best practices as applied to IBM Cognos Disclosure Management version 10.2.0 Best Practices ver. 2.0 IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 Contents Architecture/Installation:.............................................................................................................................. 4 1. Click Once Deployment. ................................................................................................................ 4 2. Application Server Deployment. ................................................................................................... 4 3. CDM Deployment on Multiple Environments............................................................................... 5 4. CDM Client Deployment ............................................................................................................... 6 5. Application Pool and Idle Time-out .............................................................................................. 7 Security: ........................................................................................................................................................ 9 6. Workflow Object Security ............................................................................................................. 9 7. Change Reference and Object Security ........................................................................................ 9 8. Password Complexity .................................................................................................................... 9 9. Automatic Login .......................................................................................................................... 10 10. Importing Groups from AD with Auto-Registrable option ...................................................... 10 Workflow: ................................................................................................................................................... 11 11. Bulk Workflow Operation ....................................................................................................... 11 12. Template Workflow Design..................................................................................................... 11 Report and Object Management: ............................................................................................................... 11 13. Importing Objects ................................................................................................................... 11 14. Deleting Bulk Objects .............................................................................................................. 12 15. Object Hierarchy and Delete Behaviour ................................................................................. 12 16. PDF Objects ............................................................................................................................. 12 17. Microsoft PowerPoint Objects ................................................................................................ 13 18. Microsoft Excel Objects & Alignment Enforcment Setting ..................................................... 15 19. Microsoft Excel Objects: External Links .................................................................................. 16 20. Microsoft Excel Objects: Padding Value ................................................................................. 16 21. Microsoft Excel Objects: Custom Margins and Excel Tables ................................................... 17 22. Microsoft Excel Objects: Reserved Ranges ............................................................................. 24 23. Microsoft Excel Objects: Add-in Mode ................................................................................... 24 24. Microsoft Excel Objects: Using Now(), Workday () formulas in Microsoft Excel calculations 24 25. Microsoft Excel Objects: Image Range Variables (##IRS/##IRE) ............................................. 25 26. Hyperlinks in CDM ................................................................................................................... 25 2|Page IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 27. Resolving Microsoft Excel Range Variables in Microsoft Word Objects ................................. 29 28. Page Setup and Office Theme Fonts ....................................................................................... 30 29. Object Properties: Break Type ................................................................................................ 30 30. Variable Chaining .................................................................................................................... 30 31. Working with Microsoft Excel objects and HFM SmartView formulas ................................... 32 32. Automatic Refresh of HFM SmartView formulas .................................................................... 32 Data Source/Query Management:.............................................................................................................. 33 33. TM1 Data Source vs. TM1 Perspective in CDM ....................................................................... 33 34. Cognos Controller in CDM....................................................................................................... 33 35. Cognos For Microsoft Office/Cognos Analysis for Microsoft Excel in CDM ............................ 34 36. Cognos For Microsoft Office Search functionality and Office 2003 ........................................ 34 37. Cognos For Microsoft Office behaviour with multiple Microsoft PowerPoint Instances ....... 34 38. Editing External Microsoft Excel File Structure ....................................................................... 35 39. TM1 Queries and Aliases......................................................................................................... 35 40. Data Source Connectivity Requirements for the Application Server: ..................................... 39 41. Using an External Microsoft Excel File Source located on a network drive on User Machine 39 42. Configuring Excel Data Query Row Limit ................................................................................ 40 Report Generation/Validation .................................................................................................................... 41 43. Validation Report .................................................................................................................... 41 44. Generate Microsoft Word Document with Microsoft Excel Range Variable .......................... 41 Roll forward/Cascade Report ...................................................................................................................... 42 45. Query Variables and Roll Forward Operation ......................................................................... 42 Miscellaneous ............................................................................................................................................. 42 46. Custom Groups and New Objects ........................................................................................... 42 47. Reference Variables and Shared Objects ................................................................................ 42 48. Variable naming convention ................................................................................................... 42 Appendices.................................................................................................................................................. 44 1. CDM Deployment on Multiple Environments............................................................................. 44 2. Restoring CDM database if it originated from a different application server ............................ 47 3. Encrypting/Decrypting ConnectionString.config ........................................................................ 49 3|Page IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 Architecture/Installation: 1. Click Once Deployment. Description: When installing Cognos Disclosure Management with Click-Once Deployment, the installation process may be interrupted/encounter issues if all the required prerequisites are not installed on the client-machine. The same applies if the user does not have read/write access to the AppData folder (Example: C:\Users\Administrator\AppData) Best Practice: Ensure that correct prerequisites are installed including the Microsoft Visual C++ 2010 x86/x64 Redistributable packages. For a full list, please refer to product documentation. Read/Write access to the AppData folder is also required prior to deployment, if using the ClickOnce installation process. 2. Application Server Deployment. Description: Users may encounter a connection issue while logging into the application after a fresh installation of the Cognos Disclosure Management Application Server. This applies in a scenario where the SQL Server is on a different machine than the Application Server. Best Practice: While deploying CDM, the installation process sets the Application Pool Identity used by the Application Server to Local System. This should then be changed using the following steps: a. On the Application Server, open Internet Information Services Manager b. Navigate to Application Pools, and right-click on CognosDMServerApplicationPool and click Advanced Settings. c. Once that is open, click on Identity ellipsis under Process Model. Once open, select Custom Account. The credentials that are required here are that of an administrator user on the Application Server. 4|Page IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 d. Furthermore, the data encryption key may not have been installed on the database due to the fact that the CDM Application Server installer does not pass through Windows credentials from the installation wizard to the database server it is being deployed to. This is why it is necessary to perform this next step if the Application Server and the Database reside on another machine. e. In order to create the encryption used by the application server, the following must be must be performed: Open command prompt console, change directory to C:\inetpub\wwwroot\CognosDMServer\Tools\EncryptionTool and run the following command: SetMasterAndEncryptionKeys.bat “SQLSERVER\INSTANCE” databasename 'masterkey' C:\inetpub\wwwroot\CognosDM-Server\web.config Ibm.CognosDM.DatabaseEncrypter.dll Note:'masterkey' is a placeholder for a password used in the encryption process. Example: SetMasterAndEncryptionKeys.bat “dbserver.domain.com\Prod” CDM 'masterkey' C:\inetpub\wwwroot\CognosDM-Server\web.config Ibm.CognosDM.DatabaseEncrypter.dll Note: Ensure that the user performing this operation has sysadmin rights to the database using their Windows credentials as opposed to using SQL Authentication. 3. CDM Deployment on Multiple Environments Description: When deploying CDM for the first time, it is important to plan out the number of required environments prior to performing the installation process. This is due to the fact that CDM application can only be installed once per application server. Best Practice: CDM will need to be configured separately if multiple environments are required such as Production/UAT. Note that since database encryption is applied at installation time, the databases installed on the different servers can only be accessed using its appropriate web service. Example: Suppose you have a Prod and a UAT environment. You cannot trigger the UAT Web Service to connect to the Prod database when there is already a UAT database associated with the service. This is because encryption between the Web Service and database is applied. The best practice here is to restore the Prod database into UAT environment and apply appropriate encryption command to sync the new database with the Prod Web Service. This process is outlined in detail in another document. See Appendix 1 for more details. 5|Page IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 4. CDM Client Deployment Description: While logging into CDM after client installation of client, you may encounter the following error: Best Practice: Install the CDM Client by a user with Administrative rights. Also ensure that the user logging in has read/write access to that file location as logs might be generated in the same folder. 6|Page IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 5. Application Pool and Idle Time-out Description: After installing the CDM Application Web Service, IIS by default sets the Idle Timeout to 20 mins. This means that if the Application is not used (no active sessions), the corresponding Application Pool for CDM will remain idle for at least 20 mins before reactivating the session once again. This may add some delay in CDM due to session activation. Best Practice: It is recommended to set the Idle Time-out value to 0. This will trigger the Application Pool to re-active the session without any delay. See Steps below: 1. Determine Application Pool used by the CDM Web Service. This can be found in the Website/Webservice properties. 2. Once determined, navigate to Application Pools. Find the CDM web services and click on Advanced Settings. 7|Page IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 3. Once there, under Process Model, change Idle Time-out (minutes) to 0, as shown below: 8|Page IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 Security: 6. Workflow Object Security Description: CDM is a permission-driven application that allows users to create reports that may be accessible across other teams. In this case relevant permissions at report level should be granted to those individuals who intend to view or contribute to the report content. Best Practice: If there is any sensitive information that cannot be shared across multiple groups, ensure to create User Groups and assign appropriate View Report permissions to control user access to those reports 7. Change Reference and Object Security Description: If there are references to objects in the report pointing to an original shared object, Change Reference feature allows the user to modify the reference to point to another source shared object. This may expose object content to other financial groups as shown in the Use Case below: Master Report (2011) Cascade Cascade Report (2011) Roll Forward Roll Forward Master Report (2012) Cascade Report (2012) As a user, I am able to Change Reference of Cascade Report (2012) to point to reference objects in Master Report (2012) since they are in the same Cascade Chain. Best Practice: If there is any sensitive information that cannot be shared across multiple groups, ensure to create User Groups and assign appropriate Change Reference/View Report permissions to control user access to those reports from different entities. 8. Password Complexity Best Practice: When creating users in CDM, passwords must align with Microsoft recommended password complexity: The password does not contain all or part of the account name of the user. Part of an account name is defined as three or more consecutive alphanumeric characters delimited on both ends by white space such as space, tab, and return, or any of the 9|Page IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 following characters: comma (,), period (.), hyphen (-), underscore (_), or number sign (#). The password is at least eight characters long. The password must contain characters from three of the following four categories: - Latin uppercase letters (A through Z) - Latin lowercase letters (a through z) - Base 10 digits (0 through 9) - Non-alphanumeric characters such as: exclamation point (!), dollar sign ($), number sign (#), or percent (%). 9. Automatic Login Best Practice: When logging into CDM using Active Directory/CAM authentication without retyping credentials, enable the Remember Me option prior to authenticating. You will still need to enter Username and Password information but once this is selected, it will store all preferred settings in a file in the User’s home folder. See below example: Alternatively, the user may manage the list of servers, as well as specify the default one, in the CDM option screen (File->Options): 10. Importing Groups from AD with Auto-Registrable option Description: The following steps describe the Import Group from AD/CAM Logic: 1. User with appropriate rights to query Active Directory/Cognos Access Manager sources should be used to import group to CDM. (The users in the group must be members of the group in AD/CAM in order for the Auto-Registerable feature to work) 10 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 2. Mark group as Auto-Registerable in CDM after import Conclusion: Each user who is a member of the imported group will be automatically imported into CDM at first login. Please note importing groups within CDM only brings in a flat list of the selected group(s) and does not bring in the relationship of Groups and Users. Best Practice: It is best practice to assign permissions to the group so that you don’t have to assign permission per user. If a new user is added to Active Directory/Cognos Access Manager (CAM) and that user is part of the imported group, that new user can be registered to the Users list automatically. Workflow: 11. Bulk Workflow Operation Description: When working with multiple objects, users are able to perform bulk workflow edits/creation that may expose them to performance restriction from the CDM Client-side. Best Practice: Bulk Workflow Edit/Update operations should be limited to ~ 50-60 objects for a single operation. It is recommended to perform bulk operation on as few objects (single digits) as possible. 12. Template Workflow Design Description: If a template workflow is applied in an object, modifications made to the template in Application level will not directly update the objects that have applied it previously since they are brought as a copy. Alternatively, you may use referenced template workflows which update the workflow dynamically, if it changes at Application Level. Best Practice: Ensure templates created fit the business requirement in case of mistakes resulting in re-applying workflow to many objects. Report and Object Management: 13. Importing Objects Description: CDM allows the user to import large number of objects in the report object tree structure. If multiple objects are selected to be imported at once, the operation may take some time to complete due to the size of the request and server/client communication speed. 11 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 Best Practice: Import objects based on smaller bulk chunks to avoid any unnecessary performance drawbacks as a result of the bulk operation. In addition, the cumulative size of selected objects should not exceed the following when performing a single bulk import operation: When importing 1-2 objects, original file should not exceed 50MB When importing <=5 objects, original file should not exceed ~ 5-50MB When importing <= 25 objects, original file should not exceed ~1-5MB, When importing <= 40 objects, original file should not exceed ~100K-1MB 14. Deleting Bulk Objects Description: CDM allows the user to also delete large number of objects in the report object tree structure. If multiple objects are selected to be deleted at once the operation may take some time to complete due to the size of the request and server/client communication speed. Best Practice: Delete objects based on smaller bulk chunks. It is always preferred to delete a single object at a time so that the user can be sure of not deleting a required object. 15. Object Hierarchy and Delete Behaviour Description: The object tree view in CDM allows for different combinations of objects and blank sections that allow users to break down the object structure in a hierarchical format. When deleting a parent object, all child objects will be deleted. This is similar behaviour to Windows when it comes to folder/file structure. Take into consideration that this also applies when selecting multiple objects while one object selected is a parent object. The user will be notified when deleting an object so they are aware of the deletion process. Best Practice: If any time a parent object needs to be deleted without its child object(s), simply drag/drop the child object(s) outside of the parent/child hierarchy. Once finished, you will notice that the parent object will no longer have a hierarchy and is now safe to delete. 16. PDF Objects Description: When creating a PDF object, an issue may be encountered where the PDF that is imported will not be viewable in CDM. This may cause the object to become unresponsive and could result in errors. Best Practice: Adobe Acrobat must be configured to disable Protected View on Startup. This can be found under the General options. 12 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 17. Microsoft PowerPoint Objects Description: Microsoft PowerPoint objects can be used to retrieve variable values, Microsoft Excel Charts, Microsoft Excel Named Ranges and Image Variables at generation time. When generating an Microsoft Excel Named Range to Microsoft PowerPoint, the following Microsoft Excel properties will not be preserved: o Shrink to fit cell property as there is no equivalent property in Microsoft PowerPoint. o Microsoft Excel Cell truncation: If a piece of text is being cut-off due to the size of the cell, the cut-off text will not appear for the same reason as above. Best Practice: Prior to generating the object to Microsoft PowerPoint, ensure that the cells with the problematic text are displayed properly in the Microsoft Excel cell without truncation of original content. An alternative method to this is to use Image Range Variables to display the content of the range in the form of an Image. 13 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 Background: Microsoft PowerPoint table cells do not have the capability for the auto-fit feature for Shapes. See below screenshot: Microsoft Excel however, does have this capability and it can be seen under the cell property: 14 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 The main reason it is grayed-out in Microsoft PowerPoint is because a table is considered as a shape. Shape controls do not have the option. This is proven if you insert a Microsoft PowerPoint textbox: the auto-fit section will then be enabled. CDM converts Microsoft Excel tables to Microsoft PowerPoint tables, hence, this Microsoft design limitation must be considered when working with Microsoft Excel/Microsoft PowerPoint Objects. In addition, Microsoft PowerPoint tables have a small padding that does not appear in Microsoft Excel cells. See below: This may also impact the generated document in that sense since there is no method to control this mechanism. 18. Microsoft Excel Objects & Alignment Enforcment Setting Description: If the Alignment enforcement setting is enabled in an Excel object, it will automatically align the table and table cells to the setting specified in the Page Setup Object. See Example below of such behaviour when the alignment is centered: 15 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 Best Practice: It is recommended to disable Alignment Enforcement setting on Excel objects that do not require this customization. If the Excel table alignment (not cell alignment) is still required, follow Best Practice #21 as it presents a scenario where margin enforcement from Page Setup object may be utilized for Excel table alignment. 19. Microsoft Excel Objects: External Links Description: Data may not be refreshed properly if an Microsoft Excel object is referencing data from an Microsoft Excel file using External Links as this scenario is not supported. Best Practice: The best practice to avoid this scenario would be to create an External Microsoft Excel File Source/Query and inserting this into the Microsoft Excel object. Data at that point will be refreshed automatically or manually by the user to ensure that it is consistently updated, unless the object is locked. 20. Microsoft Excel Objects: Padding Value Description: Cell padding in an Excel object can be changed when generating a printable range to a Word/PDF Document by specifying a value between 0.01 to Zero at the intersection of ##RS/##RE as shown below: Special consideration must be taken when changing the value: The larger the value, the larger the padding will be. This may cause tables to shift/break into the next page, if they are not set up correctly. Best Practice: It is recommended to leave that cell empty if there is no specific need to modify padding to fit a certain size. The default value for padding, if no customized value is specified is 0.017 inches. 16 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 21. Microsoft Excel Objects: Custom Margins and Excel Tables Description: If a custom margin is enforced in a CDM report through a Page Setup object, Excel table margins may be affected in the following ways: Columns of the table may cut off at a certain point due to the size of the Excel margin versus the Word margin from Page Setup Tables may only align to the left hand side of the margin but not the right side of the margin See screenshot below: 17 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 In the example above, the Income Statement table seem to only align to the left hand side. Some reporting entities require that the table is also aligned at the right-side to the text preceding the table in order to ensure that tables appear uniform when printed. If the table is expanded in the Excel object to try to fit more columns, it may cut off part of the table as shown below: Excel Page Break View can be used to outline whether or not a table will be “cut-off” after it is generated. This will introduce a dotted line: 18 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 Best Practice: Excel table generation does not automatically fit the table to the customized Page Setup margins. This requires a manual process to first modify the Excel margin specified in the Excel Object, then to adjust the actual table width in order to enforce the Page Setup margin, as shown in the following steps: 1. Navigate to the Excel object, and change the Margin to 0 for all properties. 19 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 Note: This step should only be done to tables that will enforce margin from Page Setup object. If no Page Setup object is found, the table will generate with 0 margins, and may yield undesirable result: 20 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 2. Once the margin has been changed to 0, expand/retract the Excel columns to the desired size in the Excel object. Excel pixels may be utilized here to “standardize” a fitment that meets the need to align to both the left and right side of the custom margin from Page Setup. 21 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 Example 1: Column adjustment that exceeds the custom margin: 22 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 Example 2: Perfect Column adjustment to the text above and below the table 23 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 22. Microsoft Excel Objects: Reserved Ranges Description: Refresh issues may arise if Microsoft Excel reserved range names are used when creating a range variables in CDM. Best Practice: Microsoft Excel uses reserved range names for some of its own features. For this reason, you should not use any of these range names: - Consolidate_Area - Print_Titles - Auto_Open - Recorder - Auto_Close - Data_Form - Extract - Auto_Activate - Database - Auto_Deactivate - Criteria - Sheet_Title - Print_Area Alternatively, you may use the word Var in-front of the range names that uses this string Example: Var_Consolidate_Area 23. Microsoft Excel Objects: Add-in Mode Description: When working in Add-in mode, an extra process will be created in the Windows Taskbar when using Office 2003. This is currently how Microsoft Excel works with Windows 7. This does not occur for Office 2007/2010. 24. Microsoft Excel Objects: Using Now(), Workday () formulas in Microsoft Excel calculations Description: If there are any Microsoft Excel formulas returning results based on Now() and Workday() functions, the time/workday formula will return the result based on the last saved time of the object, not the date/time the object is opened. Best Practice: The user must unselect Cached Data when generating in order to see the correct date and time. In order to still use Cached data in this scenario, variables may be used to force refresh of objects with Now(), Workday(). 24 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 25. Microsoft Excel Objects: Image Range Variables (##IRS/##IRE) Description: When generating an Microsoft Excel Image Range using ##IRS/##IRE derivative, the final output of the image may not be the same size as how it is defined in the Microsoft Excel Object. Best Practice: When defining the hyperlink for the image range in the Microsoft Word object, you must: 1. Insert a 1x1 table and resize it to the appropriate size required. 2. Ensure that the resize parameter is used when creating the hyperlink. Example: cdm:CustomRange:objectName:sheetName?snapshot &resize. 26. Hyperlinks in CDM Description: Hyperlinks in CDM allows the user to reference Charts, Images and Excel named ranges in Word and PowerPoint objects while allowing them to automatically update the content should they change in the original source. The following is a simple guide that further explains how to insert a hyperlink into CDM: 1. Adding a Chart You can reference a chart from an Excel object, either in a Word or a PowerPoint object. By default, the chart name is Chart 1. To change the name, select the chart and go to Layout – Chart Name. 1.1 - Adding a Chart to a Word object Open the Word object and position the mouse where you want the chart to appear. Here, select Insert – Hyperlink: 25 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 Add the hyperlink in the Address bar. The hyperlink must be in this specific format: cdm:chart:objectName:sheetName:chartName It will import the chart at its original size. You can edit the Text to Display bar. This text will appear in the Word object; the chart is not visible in the Word object, but it appears when the document is generated. Note: Automatically, all spaces will be converted to the Unicode name “%20”. For formatting purposes, the chart can be place in a 1x1 table. The table must be resized to the desired size, and the syntax will be: cdm:chart:objectName:sheetName:chartName?resize. 1.2 - Adding a Chart to a PowerPoint object The syntax is the same as described above, for the Word object. For formatting purposes, the chart can be placed in a 1x1 table, or a textbox. 2. Adding an Image You can reference an image range from an Excel object, either in a Word or a PowerPoint object. In the Excel object, you must define the image range using the ##IRS/##IRE variables. The range can contain data or a graphic. 2.1 – Adding an Image to a Word object Open the Word object and position the mouse where you want the image to appear. 26 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 For formatting purposes, the image can be inserted in a 1x1 table, which must be resized to a desired size. Here, select Insert – Hyperlink: Add the hyperlink in the Address bar. Edit the Text to Display bar. There are several syntaxes available, choose the one that fits the purpose: cdm:customrange:objectName:sheetName?image – imports an image range that contains data, at its original size cdm:customrange:objectName:sheetName?image&resize – imports an image range that contains data and sizes it to the container cdm:customrange:objectName:sheetName?snapshot – imports an image range that contains a graphic, at its original size cdm:customrange:objectName:sheetName?snapshot&resize – imports an image range that contains a graphic and sizes it to the container 27 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 2.2 – Adding an Image to a PowerPoint object The syntax is the same as described above, for the Word object. 3. Adding an Excel Named Range to a PowerPoint object You can define a named range in an Excel object – and then reference it in a PowerPoint object. A named range can be added in Excel from Formulas – Name manager – New; or by directly adding it in the Name Box, on the Formula Bar (where it says B3). In PowerPoint, insert a Text Box and add the hyperlink: cdm:range:objectName:sheetName:rangeName – imports the range, at its original size cdm:range:objectName:sheetName:rangeName?resize – imports the range and sizes it to the container. 28 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 27. Resolving Microsoft Excel Range Variables in Microsoft Word Objects Description: If a Microsoft Word object is retrieving a ##D/##GD range variable from an Microsoft Excel object, any variables that are defined in that range will not be resolved. In addition, the range variable will generate based on how it is defined in the Microsoft Excel object without post-processing calculation of: -Automatic Row/Column Suppression -Superscripts -Microsoft Excel Page Breaks -Padding Best Practice: If a note variable is required in the destination Microsoft Word object, enter the note variable directly in the object, as opposed to in the range variable. Using this method allows for both the range variable content, as well as the note variable, to resolve after the object is generated. 29 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 28. Page Setup and Office Theme Fonts Description: Page setup objects require dummy text to be able to enforce Font Type, Font Size, and Paragraph/Table keep with Next attribute. When defining this text, the user may run into a situation where they select Office Theme Fonts (a font specific to an Office theme such as “Header” or “Body”). If an Office Theme Font is used instead of a normal font, this font will not be enforced and will default to Times New Roman. See below example of Office Theme Fonts: Office 2007 Office 2010 Best Practice: Ensure that the font type used for the dummy text is simply any font that is not a theme font as shown below Office 2007 Office 2010 29. Object Properties: Break Type Best Practice: The following should be considered when setting up the break type for an object to New Page: # of Page set to 0: The content of the object will just be pushed to following page, no new pages are inserted. # of Page set to 1: One full page will be inserted between the current and the preceding object and the content of the object will be pushed down to the following page. 30. Variable Chaining Description: Variable Chaining occurs when two references variables (##S/##D) are used in conjunction at any certain point in an Microsoft Excel object. See below example: 30 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 Here we have a variable defined as “test1”. Chaining in this example occurs when variable “test2” references the result of “test1”. The value for “test2” is depended on the output of “test1”. This is known as multi-level variable reference. CDM only supports one-level references of (##S/##D, ##GSD/##GD). The above example is quite a simple one but in most scenarios, the user may chain variables throughout multiple references of Microsoft Excel cells. See below: Here, we have cell E11 adding all the cells from E5 to E10 as well as M6. At the same time, the “test2” variable references E11. This is type of behaviour is also considered variable chaining because we’re including a ##S and ##D in the same instance (through different cell references). Symptoms of Variable Chaining Certain Microsoft Excel cells do not refresh accordingly. This doesn’t have to happen to the whole document but can happen to only a few cells. To see if the object is affected by this behaviour, you could navigate to the object where the source variable resides, refresh the object and then navigate back into the object where the variables are not refreshing. The “old” value at this point will be updated to the new value. Another symptom for variable chaining is that the refresh issue is intermittent. It may/may not happen. 31 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 Best Practice: It is recommended best practice to design all Microsoft Excel objects in a way where any number being referenced in a formula or to another cell, is not linking to a destination variable (##D/##GD). This is prevalent in Microsoft Excel objects with range variables. A user may define a range variable in an object and another user may reference a cell in that object, which happens to be in that range. As a result, if information changes in the source range variable, these changes aren’t updated in the destination variable, causing the user to see old numbers. 31. Working with Microsoft Excel objects and HFM SmartView formulas Description: CDM supports the following HFM SmartView custom formulas: HsGetValue HsGetText HsLabel HsCurrency HsDescription Best Practice: In order to refresh HFM formulas using the Smart View add-in while in an Microsoft Excel object, Add-in Mode must be enabled from the Report Object ribbon menu. This allows for CDM to communicate with the HFM add-in refresh process to update the values of the formulas from the source. 32. Automatic Refresh of HFM SmartView formulas Description: Since the application server does not communicate with the HFM Add-in installed on the user’s local machine, it is important to add the HFM source in Data Source Management. This allows for automatic refresh of formulas during report generation. Best Practice: In order to ensure that HFM formulas are refreshed in all report objects dynamically, the HFM source must be associated in the objects that use HFM formulas. This can be achieved by clicking on Manage HFM Server in the Microsoft Excel Data Ribbon. Furthermore, ensure that the connection name specified in the HFM Formula have the same name as the HFM data source defined in Data Souce Management. This action will create a 32 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 pointer from the CDM Web Service and the HFM Source to refresh HFM formulas when generating a report. In addition, you may associate multiple HFM data sources in one object if the formula is coming from two different sources. Data Source/Query Management: 33. TM1 Data Source vs. TM1 Perspective in CDM Description: CDM provides Cognos TM1 integration in two ways: 1. Creating an OLAP TM1 Source/Query as External Data that can be inserted many times in different Microsoft Excel objects. Also, by using this method, data is retrieved from the Cache database; hence it is better in terms of performance. 2. Using TM1 Perspectives Microsoft Excel-Add-in Both methods allows for data retrieval from a TM1 cube. The caveat here is that the first method allows for dynamic data refresh upon opening/saving objects and when generating a report. The second method relies on the user to refresh data/formulas on demand from the cube using the TM1 Perspectives Microsoft Excel Add-in. This also has an impact on locking functionality where locking does not control the data retrieved if the user were to manually update data. Best Practice: It is recommended that the first method is used in order to ensure that all TM1 queries are created in a structured format while leveraging dynamic refresh/locking capability of the application. First method is also better from performance and scalability standpoint. For example, user can create a TM1 Query just once and share the query with one or multiple reports without having to recreate it. Also, by performing an update to this query in one place will propagate the changes to all of its references across reports. 34. Cognos Controller in CDM Description: In order to leverage Cognos Controller in CDM using Data Source/Query Management, the Controller database must be converted to a TM1 cube using Cognos Financial Analytics Publisher tools. Once converted, Controller data can be queried using the same method for TM1. Alternatively, Cognos Controller Microsoft Excel Add-in may be used in an Microsoft Excel object but this method will not provide dynamic refresh through the application. The user will have to refresh each object using the Microsoft Excel Add-in should they require the information/formulas to update. 33 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 Best Practice: It is recommended that the first method, as defined as part of the “TM1 Data Source vs. TM1 Perspective in CDM“ best practice, is used in order to leverage dynamic refresh/locking capability of the application when working with Cognos Controller data. 35. Cognos For Microsoft Office/Cognos Analysis for Microsoft Excel in CDM Description: CDM also provides integration with Cognos for Microsoft Office or Cognos Analysis for Microsoft Excel using IBM Cognos for Microsoft Office Microsoft Excel Add-in where both functionalities may be used. Best Practice: The following considerations should be taken when working with Cognos for Microsoft Office/ Cognos Analysis for Microsoft Excel Microsoft Excel Add-in: - The same version of Cognos for Microsoft Office/Cognos Analysis for Microsoft Excel needs to be installed. This requirement applies outside CDM. - To use Cognos for Microsoft Office /Cognos Analysis for Microsoft Excel functionality, the Microsoft Excel object must first be checked-out by the current user. That way, information can be saved accordingly without any potential data loss. 36. Cognos For Microsoft Office Search functionality and Office 2003 Description: When using the Cognos for Microsoft Office search functionality with Office 2003, the search window may not focus on the form properly. Closing and opening the search window may also present the same problem. Best Practice: This issue is only present using the Cognos for Microsoft Office add-in for Office 2003. If search functionality is required, Office 2007/2010 may be used. 37. Cognos For Microsoft Office behaviour with multiple Microsoft PowerPoint Instances Description: Cognos For Microsoft Office may encounter issues retrieving reports when multiple instances of Microsoft PowerPoint Objects are open in CDM. This only occurs if a Microsoft PowerPoint object is already open with the For Microsoft Office add-in while attempting to use the add-in in the second instance. Best Practice: It is recommended that when working with Microsoft PowerPoint objects, only to use Cognos for Microsoft Office in one Microsoft PowerPoint instance. Multiple instances may be used with Microsoft Excel/Word objects. 34 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 38. Editing External Microsoft Excel File Structure Description: Special considerations must be taken when adding/removing rows and columns in an External Microsoft Excel File that is being linked to a Data Query in an Microsoft Excel object. Retrieving data from the Datasheet (Database/Custom) to the active sheet utilizes direct cell references in the object. This means that if the structure of the data in the External Microsoft Excel file changed, any cell references in the active sheet may incorrectly point to different cells. Best Practice: Prior to loading the data in the Microsoft Excel Object, it is important to finalize the structure of the External Microsoft Excel file that will be leveraged via the Microsoft Excel Query to make sure that no rows/columns will need to be modified after inserting the queries. That way, you only need to refresh the data from the source should numbers/text get updated. If a change in structure is necessary having inserted the Microsoft Excel query, it is best practice to review and update the direct cell references that are affected by this change to ensure that data is pointing to the correct values. 39. TM1 Queries and Aliases Description: IBM Cognos TM1 cubes allow the user to define multiple aliases when working with dimensions and dimension members. For that reason, if multiple aliases are defined in a TM1 Cube, the “Show Alias” option may not trigger the correct alias information required when working with a TM1 Query. Best Practice: To leverage the “Show Alias” option if more than alias is defined in a TM1 cube, a preferred Alias with a name of “MEMBER_CAPTION” must be defined for that dimension required. You must ensure that all of the dimension members correspond to an alias name. 1. After logging into the cube in TM1 Architect, select the dimension that contains multiple aliases: 2. Right click on the dimension and click Edit Element Attributes 35 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 3. This will bring up the dimension explorer where you may edit all attributes of the selected dimension. You will notice the multiple dimensions in the cube. 4. Right click on any of the columns in the above screen and select Add new Attribute 5. Type in MEMBER_CAPTION in the name field. Be sure to select Alias for attribute type. 36 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 6. You will notice the newly created attribute in the explorer and will have the default name automatically mapped. This can be customized to meet the required name of the member in the dimension by simply selecting the field and typing in a new name: 37 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 Alternatively, you may copy/paste a name from another attribute if required by simply right clicking on the field and selecting Copy. Once done these Aliases will be available within CDM TM1 wizard. 38 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 40. Data Source Connectivity Requirements for the Application Server: Description: Creating a data source requires the user to install the appropriate Runtime client for the data source: If you have installed TM1 Perspectives, you will require the TM1 Runtime client 64-bit, Version 10.1 Microsoft Analysis Services ADOMD.NET 2005 or 2008 If you use Oracle Essbase software, connectivity and installation of the correct Oracle Essbase Runtime client software is required: Oracle Instant Client Oracle Data Provider for .NET The DB2 relational source requires installation of the DB2 ADO.NET client Runtime component 41. Using an External Microsoft Excel File Source located on a network drive on User Machine Description: Due to security reasons with network drives, the CDM Web Service must be explicitly configured to define an account (User Name and Password) to leverage when querying an External Microsoft Excel file residing on a network drive. Best Practice: Edit the CDM.config configuration file located in the Web Service folder. Navigate to Data Source Credentials and input the Username and Password as shown below: At this point, this account will be used for any External Microsoft Excel File Data Source that resides on a network drive. Please ensure that the account specified has necessary read/write access to the network drive location. It is best practice to leverage one account for this that has this type of access across multiple drives. Note: The password for this type of account currently is not encrypted as it is an additional configuration being made after the installation process. Since the CDM Web Service will be deployed in a secure environment, it is recommended to only have a few users with read access this file. 39 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 42. Configuring Excel Data Query Row Limit Description: When inserting an External Excel File Data Query, the number of rows returned will be limited to 1000 rows by default. If more than 1000 rows are required, this may be configured in the CDM.config file found in the CDM Web Service directory. See the following steps: 1. Navigate and open the CDM.config file with Notepad: 2. Find ExcelRefresh queryResultMaxRows and modify the value to the desired limit: Note: This restriction can be turned off by changing truncateOnQueryResultMaxRowsExceeded to “False”. Although this is possible, it is not recommended. This is because it will leave the user inclined to inserting thousands of rows that may not be needed and hence, may cause delay with refreshing unnecesary data. 40 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 Report Generation/Validation 43. Validation Report Description: Report validation using ##R variables, is conducted automatically when generating a report or manually using the Validate Report button. Manual Report Validation does not automatically refresh the cached data hence, some validation rules may fail if source information was changed while the Cache database contains non-synced data. Best Practice: It is recommended to refresh the report using Refresh Report button prior to executing manual report validation. This ensures that all the data connected to variables, data sources and reference objects are updated so that the rules can apply with its correct value. 44. Generate Microsoft Word Document with Microsoft Excel Range Variable Description: When generating a Microsoft Word document that is retrieving an Microsoft Excel Range variable (using ##D/##GD), hidden rows/columns in the Microsoft Excel Range will not be preserved when it is generated in the Microsoft Word document. Best Practice: It is recommended practice that when defining the Microsoft Excel range to be used in a Microsoft Word document, not to have any hidden columns/rows. If they are necessary, then the Microsoft Excel object containing the hidden rows/columns can be generated directly, without relying on a range variable. 41 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 Roll forward/Cascade Report 45. Query Variables and Roll Forward Operation Best Practice: When rolling forward a report that contains query variables at report and object levels, prior to executing the roll forward process, the query variables must be overridden with the option “Visible on Rollover”. Without this option selected, the new report will inherit values from application-level as opposed to the overridden values at report and object levels. Miscellaneous 46. Custom Groups and New Objects Description: A CDM report may be opened via a custom group which is merely a filter to show relevant objects for a certain reporting period. It is important to note that newly created objects will not be associated to that to the custom group the report is opened with. This means that if the report is opened by a different user, it will not display that object. Best Practice: When required, new objects can be associated to the custom group using the report object tree context menu under Properties: 47. Reference Variables and Shared Objects Description: It is important to note that ##D/##GD variables will always resolve to the local report, hence, this should be considered during initial design. Best Practice: ##S variables should not be declared in a shared object as it may conflict with other variables with the same name across different reports. If ##D variables are in the object, relative #S variable must also be defined in the destination reports. 48. Variable naming convention Best Practice: From consistency stand point it is recommended to follow a specific syntax when naming variables within the application. For example, 42 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 43 | P a g e All variables start with 3 letters prefix – var, followed by 3 letter Microsoft Word that defines the variable e.g. varAssets, varLiabilities Follows Camel Casing. E.g. if you have more than one Microsoft Word that makes up a variable then the variable name could follow syntax: varCurAssets, varCshFlow. These variables would stand for Variable Current Assets and Variable Cash Flow. IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 Appendices 1. CDM Deployment on Multiple Environments Description: The CDM Application Server installer will not deploy the CDM Web Service that has already been deployed previously. A manual process is required to add multiple web services on one Application Server. This is achieved by using the following steps;: 1. After successful installation, the CDM Web Services will be deployed on the directory specified in the installer. Copy and Paste the same directory deployed to the desired location. 2. Backup the Prod database from SQL server and Restore the same database into the desired environment. Important: If the CDM Application Server installation was performed on a different physical machine than the one the database was restored to, it is important to refer to additional documentation below to ensure that 3. Edit the ConnectionString file in the newly pasted folder to point to the required database as shown below: Note: If the SQL user credentials are specified, they may be encrypted. Ensure to use the CDM Encryption utility to encrypt/decrypt prior to executing this step. After editing the database and credentials, be sure to encrypt the username and password in this file. 4. Convert the pasted web service folder into an ASP application using IIS Manager as shown below: 44 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 45 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 Note: Ensure to select the appropriate Application Pool similar to the previously deployed installation. In this example, it will be CognosDMServerApplicationPool. Alternatively, you may create a separate application pool using the following Application Pool settings: 5. Ensure that Anonymous authentication is enabled in IIS Manager if it is not already enabled. See screenshot below: 46 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 2. Restoring CDM database if it originated from a different application server Background: A master key is created during installation and is compiled based off a key phrase combined with machine information. This is to prevent unauthorized users from restoring and connecting to the database via the client. Each time the CDM Server is installed, it will encrypt the database using this masterkey. It is a necessary step to Export/Import the Masterkey file as part of the process of moving a database from one environment to another. 1. Export master key from the source application server using the Encryption Tool. This step will have to be performed by the client. Once the key is exported, it will be sent to us in order to apply their own key and use the database in our environments. CDM comes with an Encryption Utility that allows users to create/encrypt/export master key files. Open up command prompt (Ensure to run as Administrator). Navigate to the Tools folder in the website root. For example: cd c:\inetpub\wwwroot\CognosDM-Server\Tools Once there, we will need to execute the following command: Ibm.CognosDM.EncryptionTool.exe /EMK /cfgfile:" path\to\Web.config " /o:"path\to\output\location\key.txt" Note: You only need to modify the location of the web.config file as well as the output location in this command. Replace the path for /cfgfile with actual location of your web.config file. The /o parameter specifies the output location. Replace the content after that to the location desired to export the key. For Example: Ibm.CognosDM.EncryptionTool.exe /EMK /cfgfile:"C:\inetpub\wwwroot\CognosDMServer\Web.config" /o:"C:\Websites\Backup\key.txt" Once finished, press Enter. You should get a DONE message displayed in the command prompt. If there are any errors, it will most likely be regarding syntax. 2. Back up the MasterKey.txt file from the destination server. This will be your own masterkey you have set up. That way, any issues encountered we can still restore the original. 3. Back up the database at the source server. 4. Restore the database at the destination server. 5. Modify the Connection String file at the destination server to point to the newly restored databases. Ensure both regular and Cache database are restored. 47 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 ConnectionString can be found under the Config folder in your root webservice location. For Example: C:\inetpub\wwwroot\CognosDM-Server\Config Below screenshot shows what needs to be modified: 6. This is the final step. We will need to restore the master key exported from the source server into the destination server. This will require command prompt as well so ensure you run command prompt as an Administrator. Once open, navigate to the same directory as in Step 1. For example: cd c:\inetpub\wwwroot\CognosDM-Server\Tools Once there, we will need to execute the following command: Ibm.CognosDM.EncryptionTool.exe /SMK /newkey:"path/to/exported/masterkey" /keyformat:file /cfgfile:"path\to\Web.config" Note: We will need to replace the “path/to/exported/masterkey” with the actual location of the exported key from Step 1. Content in quotations after cfgfile need to be replaced with the location of the web.config file. For Example: Ibm.CognosDM.EncryptionTool.exe /SMK /newkey:"C:\Websites\Backup\key.txt" /keyformat:file /cfgfile:"C:\inetpub\wwwroot\CognosDM-Server\Web.config" Once finished, press Enter. You will have received a similar message “DONE” to indicate the process is complete. Any errors that may appear will be due to syntax issue. After the command is executed, and is successful, you are now able to log into CDM using the newly restored database! 48 | P a g e IBM Cognos Disclosure Management 10.2 – Best Practices Document ver. 2.0 2012 3. Encrypting/Decrypting ConnectionString.config Description: Use the ConfigFileEncryptionTool.bat file to encrypt the configuration file to protect the connection strings in CDM. The installer automatically calls the ConfigFileEncryptionTool.bat file to encrypt connection strings. Best Practice: If you want to change a connection string to specify a different server for the database, use the ConfigFileEncryptionTool.bat file to decrypt the file, edit it, and then encrypt it. To decrypt the connections strings, run the following command: ConfigFileEncryptionTool.bat decrypt c:\ path_to_folder_containing_web.config Example: ConfigFileEncryptionTool.bat decrypt c:\Inetpub\wwwroot\CognosDM-Server To encrypt the connection strings, run the following command: ConfigFileEncryptionTool.bat encrypt c:\ path_to_folder_containing_web.config Example: ConfigFileEncryptionTool.bat encrypt c:\Inetpub\wwwroot\CognosDM-Server Important: Do not include a backslash at the end of the path to the web.config file. 49 | P a g e