<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:thr='http://purl.org/syndication/thread/1.0' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-959725691997997014</atom:id><lastBuildDate>Thu, 29 Apr 2010 11:52:56 +0000</lastBuildDate><title>Cognos Blogger</title><description></description><link>http://www.digitalviper.co.uk/blogs/Cognos/Cognos.html</link><managingEditor>noreply@blogger.com (Phil Thompson)</managingEditor><generator>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-959725691997997014.post-5556301081410928407</guid><pubDate>Thu, 29 Apr 2010 11:52:00 +0000</pubDate><atom:updated>2010-04-29T12:52:56.638+01:00</atom:updated><title>This blog has moved</title><description>&lt;br /&gt;       This blog is now located at http://blog.digitalviper.co.uk/.&lt;br /&gt;       You will be automatically redirected in 30 seconds or you may click &lt;a href='http://blog.digitalviper.co.uk/'&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;       For feed subscribers, please update your feed subscriptions to&lt;br /&gt;       http://blog.digitalviper.co.uk/feeds/posts/default.&lt;br /&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/959725691997997014-5556301081410928407?l=www.digitalviper.co.uk%2Fblogs%2FCognos%2FCognos.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.digitalviper.co.uk/blogs/Cognos/2010/04/this-blog-has-moved.html</link><author>noreply@blogger.com (Phil Thompson)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-959725691997997014.post-8775110963524635508</guid><pubDate>Thu, 17 Sep 2009 08:53:00 +0000</pubDate><atom:updated>2010-02-16T14:08:58.255Z</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Cognos Crosstab List Drillthrough</category><title>Set up drill through from a crosstab to a detail list report</title><description>The following blog describes the process of setting up drill through from a source crosstab report to a target detailed list report by clicking on the measure values within the crosstab.&lt;br /&gt;&lt;br /&gt;Create a target detail list drill through report.&lt;br /&gt;&lt;br /&gt;1. Create a new report list report. Ensure that you include on this report (either on the report itself or in the underlying query) the same query items that you intend to use as the axis of the crosstab. If your crosstab shows product name by order year, include these in your query.&lt;br /&gt;&lt;br /&gt;2. Test your report works&lt;br /&gt;&lt;br /&gt;3. Add two filters to your report. These act as the prompts to the source report to supply the filtering values. These must be the same query items as the cross tab query items.&lt;br /&gt;For example: &lt;br /&gt;product_name =?product?&lt;br /&gt;order_year=?year?&lt;br /&gt;&lt;br /&gt;4. Save the target drill report&lt;br /&gt;&lt;br /&gt;Create a source crosstab drill through report&lt;br /&gt;&lt;br /&gt;Create a new crosstab report using the same (filtered) query items for your axis. The measure can be anything you like.&lt;br /&gt;&lt;br /&gt;Select the measure cell, right click and select ‘Drill Throughs’&lt;br /&gt;&lt;br /&gt;Click the new button.&lt;br /&gt;Click the ellipsis (…) for the report and select the target report you just created.&lt;br /&gt;Set the Action to ‘Run the report’&lt;br /&gt;Click the ‘pencil’ button at the bottom of the window. This will load the required parameters from the target report. (The filters you set up earlier).&lt;br /&gt;Set the method for both to ‘Pass data item value’. Then set the appropriate data item from your crosstab query to be the data item that you pass through to the target report filter.&lt;br /&gt;Click OK a couple of times and save the report.&lt;br /&gt;&lt;br /&gt;You’re done. &lt;br /&gt;&lt;br /&gt;Run the source report and click on the measure value to drill through. This will open the target report and pass the axis data items for the measure intersection you selected through to the target report and filter it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/959725691997997014-8775110963524635508?l=www.digitalviper.co.uk%2Fblogs%2FCognos%2FCognos.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.digitalviper.co.uk/blogs/Cognos/2009/09/set-up-drill-through-from-crosstab-to.html</link><author>noreply@blogger.com (Phil Thompson)</author><thr:total>10</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-959725691997997014.post-5474772730986842700</guid><pubDate>Fri, 14 Aug 2009 08:48:00 +0000</pubDate><atom:updated>2009-08-14T12:05:48.189+01:00</atom:updated><title>A summary of migration from series7 to series8</title><description>&lt;span style="font-family:arial;"&gt;Migration from series 7 to series8 always causes lots of questions due the number of different version of software the source environment has and the complexity of the reports.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;Portal&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;In series 8 Upfront is replaced by Cognos Connection as the portal used to access Cognos content. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;strong&gt;Transformer &amp;amp; PowerPlay&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Transformer models can be used as is, but they will need to be placed on the application server. The models can be batched but need to use cubeswap to disable / enable the cubes after build/copying the cubes. Note that the authentication source between environments may change so make sure that any security that is set up is tested.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;I am told that PowerPlay reports can be migrated too but will need to be exported as MDX (portable files) before import although I have never done this preferring to rebuild reports directly in Analysis studio. I'm unaware if PowerPlay reports in PPES can be migrated.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;strong&gt;Impromptu reports&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;There is a formal migration route for Impromptu reports into Cognos8. You will need to download the migration tools from Cognos themseleves. In a similar manner, Impromptu catalogues are also migrated into Framework Manager models. However it should be noted that this method is rather hit and miss.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;strong&gt;ReportNet reports&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;ReportNet reports should migrate directly from ReportNet to Cognos8 although there are a number of known issues with migration and all reports should go through full regression testing prior to release. It is highly likely that reports will have at least one issue that needs to be resolved. If possible create a seperate Cognos8 environment to your ReportNet environment. In this way reports and packages can be migrated incrementally. It is possible to have COgnos8 and reportNet running on the same application server but I would advise against it.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;I hope this helps. For more details please see the Cognos knowledgebase and documentation. It's all available without login from the new IBM Cognos support website.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;best regards&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Phil&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/959725691997997014-5474772730986842700?l=www.digitalviper.co.uk%2Fblogs%2FCognos%2FCognos.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.digitalviper.co.uk/blogs/Cognos/2009/08/summary-of-migration-from-series7-to.html</link><author>noreply@blogger.com (Phil Thompson)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-959725691997997014.post-1463059878160004683</guid><pubDate>Tue, 28 Oct 2008 15:41:00 +0000</pubDate><atom:updated>2008-10-28T16:37:12.703Z</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Granularity</category><category domain='http://www.blogger.com/atom/ns#'>Determinants</category><category domain='http://www.blogger.com/atom/ns#'>Framework Manager</category><title>Granularity &amp; Determinants in Framework Manager</title><description>&lt;span style="font-family:arial;font-size:85%;"&gt;Hi, &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;br /&gt;following a question from Divya last week, this blog relates to granularity and determinants in Framework Manager.&lt;br /&gt;&lt;br /&gt;Granularity is a simple concept describing the level data relates to.&lt;br /&gt;Imagine sales areas:&lt;br /&gt;&lt;br /&gt;Level1: Country&lt;br /&gt;Level2: Sales Area&lt;br /&gt;Level3: State&lt;br /&gt;Level4: City&lt;br /&gt;Level5: Store&lt;br /&gt;Level6: Department&lt;br /&gt;Level7: Employee&lt;br /&gt;&lt;br /&gt;We can summarise sales volume (quantity) at each of the levels above.&lt;br /&gt;The level at which we report is the grain (or granularity) of the table.&lt;br /&gt;&lt;br /&gt;Tables or query subjects in Framework Manager often have multiple levels (grains) which you may have to join to another table with a different level grain.&lt;br /&gt;&lt;br /&gt;An example of this is forecasts or budgets.&lt;br /&gt;Using our example above, we want to join our sales area table to our budgets table. Unfortunately the grain of the sales area table is employee but the budgets have been completed at Store level.&lt;br /&gt;&lt;br /&gt;In Framework Manager, if we join directly from store in sales areas to store in the budget data the budget data value will be repeated for how many employees are part of that store.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;/span&gt;&lt;a href="http://www.digitalviper.co.uk/blogs/Cognos/uploaded_images/Determinants-Image1-768501.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 320px; CURSOR: hand; HEIGHT: 116px" alt="" src="http://www.digitalviper.co.uk/blogs/Cognos/uploaded_images/Determinants-Image1-768498.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;New Query Subject (join on Store with no determinants set):&lt;br /&gt;Sales Area.City&lt;br /&gt;Sales Area.Store&lt;br /&gt;Budget.Month&lt;br /&gt;Budget.Sales_Target&lt;br /&gt;&lt;br /&gt;Result:&lt;br /&gt;&lt;a href="http://www.digitalviper.co.uk/blogs/Cognos/uploaded_images/Determinants-Image2-707567.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 320px; CURSOR: hand; HEIGHT: 273px" alt="" src="http://www.digitalviper.co.uk/blogs/Cognos/uploaded_images/Determinants-Image2-707559.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As there are four employees at the Bayside store this forces the model query subject to return four rows repeating the sales budget.&lt;br /&gt;&lt;br /&gt;To correct this Framework Manager has to be instructed what level of granularity the budget applies to. This is done using determinants.&lt;br /&gt;&lt;br /&gt;In our example we need to set the determinants on the Sales Area query subject.&lt;br /&gt;Right click the query subject and select the determinants tab.&lt;br /&gt;&lt;br /&gt;One determinant should be created for each level of granularity as shown below.&lt;br /&gt;Create the determinant by clicking Add.&lt;br /&gt;Rename the determinant and then drag the identifying column (Key) into the key window (bottom left). If the level has any attributes that exist at the same level of granularity these should be added to the Attribute window.&lt;br /&gt;If the new determinant you have created is the lowest level grain (Employee in this case) the Uniquely Identified check box should be ticked.&lt;br /&gt;The Group By tickbox should be ticked if the level is ever to be used for aggregating values.&lt;br /&gt;&lt;br /&gt;Ensure that once you have created all of your determinants for the query subject that they are in the correct order (use the up and down buttons to sort them correctly).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.digitalviper.co.uk/blogs/Cognos/uploaded_images/Determinants-Image3-707618.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 320px; CURSOR: hand; HEIGHT: 279px" alt="" src="http://www.digitalviper.co.uk/blogs/Cognos/uploaded_images/Determinants-Image3-707612.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;After setting the determinants click OK to save the changes.&lt;br /&gt;When the model query subject is now run, only one row of data is returned:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.digitalviper.co.uk/blogs/Cognos/uploaded_images/Determinants-Image4-788921.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 320px; CURSOR: hand; HEIGHT: 262px" alt="" src="http://www.digitalviper.co.uk/blogs/Cognos/uploaded_images/Determinants-Image4-788914.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I hope this helps&lt;br /&gt;&lt;br /&gt;Phil&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/959725691997997014-1463059878160004683?l=www.digitalviper.co.uk%2Fblogs%2FCognos%2FCognos.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.digitalviper.co.uk/blogs/Cognos/2008/10/hi-following-question-from-divya-last.html</link><author>noreply@blogger.com (Phil Thompson)</author><thr:total>18</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-959725691997997014.post-112034816319858957</guid><pubDate>Wed, 30 Jan 2008 11:25:00 +0000</pubDate><atom:updated>2010-02-16T14:09:50.442Z</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Dynamic Security in Cognos8</category><title>Dynamic Security in ReportNet &amp; Cognos8</title><description>&lt;span style="font-family:Arial;font-size:85%;"&gt;There are three methods of setting up dynamic security, all of which are done in Framework Manager.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;strong&gt;Row level/Data Level Security&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;This is the simplest form of security and is achieved by using a fixed filter for each user class or group of user classes.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;1. Select the query subject - right click and select 'Specify security filters'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;2. Click the 'Add Groups' button.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;3. Select the user classes you require from the LDAP/AD/NTLM namespace. (For example 'Japan users')&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;4. Click in the box below 'Filter' and select 'Create/Edit Embedded'. This will open a filter definition window.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;5. Enter a filter definition and click OK. For example Country_Code ='JP'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;6. Click OK again to exit the set up window.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;The security filter will become active once the package the query subject belongs to is published. At runtime when any users with the applicable user class uses a report based on the query subject the query results will be filtered using the filter definition you specified. (In my example all user in the user class 'Japan users' will only have the ability to view data with a country code of 'JP').&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Rather than setting up this security many times, try to set it up on a common or conformed dimension query subject.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;strong&gt;Dynamic Filtering (CSVIdentityNameList)&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;This security set up is similar to the first option but is more dynamic in that the filter definition does not have to be altered every time the user class structure is changed. This option is also useful where a large number of user classes are used.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;The security method can be used against table held entries or against a calculated query item and matches the user class in the LDAP to an entry in the table (or query item).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;1. Select the model query subject that you wish to set up the security on.&lt;br /&gt;2. Right click and select 'Edit definition'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;3. Click on the filter button/tab (to add a new filter)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;4. Add the required query item to the filter expression.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;5. Add the CSVIdentify function to the expression. The end result should look like the following sample:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#3333ff;"&gt;([Presentation Layer].[Countries].[Country_Code]  in (#CSVIdentityNameList()# ))&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;color:#000000;"&gt;6. Add any additional filters using a 'OR' to ensure that Administrators and report developers are not filtered:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;color:#3333ff;"&gt;('Administrators' in (#CSVIdentityNameList()# ))&lt;br /&gt;OR&lt;br /&gt;('Report Administrators') in (#CSVIdentityNameList()# ))&lt;br /&gt;OR&lt;br /&gt;([Business Layer].[Countries].[Country_Code]  in (#CSVIdentityNameList()# ))&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;7.Click OK twice to enable the filter.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;The security filter will become active once the package the query subject belongs to is published. At runtime the filter will activate when the query subject is used. The filter works because the CSVIdentifyNameList function lists all userclasses that the runtime user is a member of and then filters against the calculation or table entry. Again - this method is best used where large volumes of user classes are used such as account numbers.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;strong&gt;Burst recipient (CAM ID)&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;This method of security only hides burst report output within Cognos connection but it is useful when users of many different classes access the same folder to view report output. It should be noted that user should only have read, traverse access to the folder. The report burst should be done by a more senior account such as directory admin or report admin.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;1. Within Framework Manager add a calculated query item to the query subject that either contains a list of the user classes or where the user class can be calculated.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;2. Use a static case statement to define the calculation (an example is shown below):&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#3366ff;"&gt;CASE ([Business Layer].[Countries].[Country_Code] )&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#3366ff;"&gt;     WHEN 'JP' THEN ('CAMID("EP Series7:r:authid=3771403238")')&lt;br /&gt;     WHEN 'MA' THEN ('CAMID("EP Series7:r:authid=3771403548")')&lt;br /&gt;     WHEN 'NL' THEN ('CAMID("EP Series7:r:authid=3049983260")')&lt;br /&gt;     WHEN 'NZ' THEN ('CAMID("EP Series7:r:authid=197856540")')&lt;br /&gt;     WHEN 'PO' THEN ('CAMID("EP Series7:r:authid=2680884508")')&lt;br /&gt;     WHEN 'RO' THEN ('CAMID("EP Series7:r:authid=3872066844")')&lt;br /&gt;     WHEN 'SE' THEN ('CAMID("EP Series7:r:authid=4123725084")')&lt;br /&gt;     WHEN 'SI' THEN ('CAMID("EP Series7:r:authid=13307164")')&lt;br /&gt;     WHEN 'ZA' THEN ('CAMID("EP Series7:r:authid=2999651612")')&lt;br /&gt;ELSE (NULL)&lt;br /&gt;END&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;3. Use the recipient user class CAM ID as the CASE statment result for the user class or calculation. (This can be found in Cognos Connection by selecting the properties of the user class from the directory.)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;4. Publish the package that includes the altered query subject.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;5. Within the report add the new query item that uses the CASE statement.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;6. Change the burst options of the report so that the burst recipient is based upon the new query item. (The report should be burst so that the report output is logically linked to the userclass selected ie. Japan users can only see the Japan result of the burst report). Make sure that the report bursts to a directory entry.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;7. Run the report and burst it.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;As the administrator/directory administrator you should be able to check that the report burst correctly and that all report outputs have been created.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Check the security filter works by logging in to Cognos Connection as a user with access to a userclass listed in the CASE statement. When you select show multiple outputs you should only see the output pertaining to the userclass.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/959725691997997014-112034816319858957?l=www.digitalviper.co.uk%2Fblogs%2FCognos%2FCognos.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.digitalviper.co.uk/blogs/Cognos/2008/01/dynamic-security-in-reportnet-cognos8.html</link><author>noreply@blogger.com (Phil Thompson)</author><thr:total>10</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-959725691997997014.post-93471868100286330</guid><pubDate>Mon, 14 May 2007 12:50:00 +0000</pubDate><atom:updated>2007-05-14T14:15:50.699+01:00</atom:updated><title>Single or Multiple LDAP in multiple environments</title><description>&lt;a href="http://www.digitalviper.co.uk"&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Imagine the scenario:&lt;br /&gt;You have a development, a test and a live environment all set up according to theory. Each environment is a standalone environment (for security reasons) and is only accessible by http.&lt;br /&gt;&lt;br /&gt;In this scenario you need a LDAP database (such as Active Directory or Sun One) in each environment. This ticks all the boxes for security. Great - sit back with a big grin on you face.&lt;br /&gt;&lt;br /&gt;You now start working with the environments and follow best practice, developing solutions in your development environment, migrating to your test environment to UAT the solution and then migrate again to your live environment where everything will work perfectly - right? Wrong!&lt;br /&gt;&lt;br /&gt;Because you have three LDAPs, your Cognos applications have three different sets of internal IDs for each LDAP based object. The newer Cognos applications such as ReportNet and Series8 can work around this but if you use Analyst, Contributor, PowerPlay Enterprise Server or PowerPlay Transformer you are stuffed.&lt;br /&gt;&lt;br /&gt;There are two methods to resolve the problem and one method to correct the architecture. First the workarounds:&lt;br /&gt;&lt;br /&gt;Work around 1: Because all the internal user IDs are stuffed in your thick client applications, you have to re-import your LDAP objects (such as users and user classes) into your application and rebuild the security in the target environment. (Lots of work)&lt;br /&gt;&lt;br /&gt;Work around2: In theory you should be able to use create exports from your LDAP using Cognos Access Manager and then migrate these LAE files into the target environment LDAP. If you do this at the same time as the application migration you should be OK. Oh and you MUST overwrite your target LDAP completely. (This doesn't feel like a comfortable option does it? Especially when you have 1500 users happily using the system in the live environment).&lt;br /&gt;&lt;br /&gt;The architecture resolution:&lt;br /&gt;The answer is to do away with the three LDAPs and in their place use one LDAP that is common to all three Cognos environments. By doing this you can migrate as often as you like from environment to environment without having to do any remedial work. Why? Because the internal user IDs held within the applications are always the same. The only snag here is to get the server support team to open a port in each environment to allow the Cognos applications to access the common LDAP. (Don't use 389 if you can help it as that's the default).&lt;br /&gt;&lt;br /&gt;If you opt for the architecture resolution you with save yourself weeks of work every year. Remember though that if you already have one LDAP in each environment that you will have to rebuild the security at least once when you change to the single LDAP.&lt;br /&gt;&lt;br /&gt;I hope this saves you as much time as it has saved some of clients.&lt;br /&gt;&lt;br /&gt;Phil Thompson&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.digitalviper.co.uk/"&gt;&lt;span style="font-family:arial;"&gt;http://www.digitalviper.co.uk&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/959725691997997014-93471868100286330?l=www.digitalviper.co.uk%2Fblogs%2FCognos%2FCognos.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.digitalviper.co.uk/blogs/Cognos/2007/05/single-or-multiple-ldap-in-multiple.html</link><author>noreply@blogger.com (Phil Thompson)</author><thr:total>7</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-959725691997997014.post-4115570056032909882</guid><pubDate>Fri, 23 Mar 2007 10:54:00 +0000</pubDate><atom:updated>2007-03-23T11:01:32.543Z</atom:updated><title>List Tables &amp; Columns</title><description>&lt;span style="font-family:arial;"&gt;&lt;strong&gt;The following SQL can be used to list tables and column names&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;SQL server&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;select  TABLE_CATALOG,&lt;br /&gt;            TABLE_SCHEMA, &lt;br /&gt;            TABLE_NAME,&lt;br /&gt;            COLUMN_NAME,&lt;br /&gt;            DATA_TYPE,&lt;br /&gt;            CHARACTER_MAXIMUM_LENGTH&lt;br /&gt;from &lt;db&gt;.information_schema.columns&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;strong&gt;Oracle&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;select OWNER,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;            TABLE_NAME,&lt;/span&gt;&lt;br /&gt;            COLUMN_NAME,&lt;br /&gt;            DATA_TYPE,&lt;br /&gt;            DATA_LENGTH&lt;br /&gt;            DATA_PRECISION&lt;br /&gt;from ALL_tab_cols;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/959725691997997014-4115570056032909882?l=www.digitalviper.co.uk%2Fblogs%2FCognos%2FCognos.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.digitalviper.co.uk/blogs/Cognos/2007/03/list-tables-columns.html</link><author>noreply@blogger.com (Phil Thompson)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-959725691997997014.post-6366994036649869779</guid><pubDate>Thu, 22 Mar 2007 13:33:00 +0000</pubDate><atom:updated>2007-03-22T13:34:41.358Z</atom:updated><title>Welcome to the Cognos Blogger</title><description>Hi and welcome to the Cognos blog.&lt;br /&gt;I'm intending to use this blog to post new techniques and answers to other Cognos developers questions. If you need help - just ask!&lt;br /&gt;&lt;br /&gt;Cheers&lt;br /&gt;&lt;br /&gt;Phil&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/959725691997997014-6366994036649869779?l=www.digitalviper.co.uk%2Fblogs%2FCognos%2FCognos.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.digitalviper.co.uk/blogs/Cognos/2007/03/welcome-to-cognos-blogger.html</link><author>noreply@blogger.com (Phil Thompson)</author><thr:total>12</thr:total></item></channel></rss>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             