SDKCSP_name=SDK Uninstall
VERXML_C8SDK_version=VERXML_C8SDK-AW-ML-RTM-8.1.60.28-0
VERXML_C8SDK_name=Verxml C8SDK
What is Cognos Business Intelligence? Get tips on Cognos Training, Cognos Software and Cognos Data Warehouseing. Find some pointers on Cognos Reporting, locating Cognos Consultants and even Cognos Jobs.
Posted by
David Dukes
at
8:50 AM
0
comments
runOptionBoolean saveOutput = new runOptionBoolean();
saveOutput.name = runOptionEnum.saveOutput;
saveOutput.value = false;
runOptions[0] = saveOutput;
// Specify the output format.
runOptionStringArray outputFormat = new runOptionStringArray();
outputFormat.name = runOptionEnum.outputFormat;
outputFormat.value = new String[] { "HTML" };
runOptions[1] = outputFormat;
//Set the report not to prompt as we pass the parameters if any
runOptionBoolean rop = new runOptionBoolean();
rop.name = runOptionEnum.prompt;
rop.value = false;
runOptions[2] = rop;
runOptionInt maxRows = new runOptionInt();
maxRows.name = runOptionEnum.verticalElements;
maxRows.value = 20;
runOptions[3] = maxRows;
option[] drillOptions = new option[1];
drillOptionParameterValues d1 = new drillOptionParameterValues();
d1.name = drillOptionEnum.down;
d1.value = parameters;
drillOptions[0] = d1;
//Set the option to always have the primaryRequest in the response
asynchOptionBoolean includePrimaryRequest = new asynchOptionBoolean();
includePrimaryRequest.name = asynchOptionEnum.alwaysIncludePrimaryRequest;
includePrimaryRequest.value = true;
runOptions[4] = includePrimaryRequest;
runOptionLanguageArray roOutputFormat = new runOptionLanguageArray();
roOutputFormat.name = runOptionEnum.outputLocale;
String[] fmt = { "en-us" };
roOutputFormat.value = fmt;
runOptions[5] = roOutputFormat;
//Run the report
response = this.rptService.run(reportPathObj, new parameterValue[] { }, runOptions);
//If response is not immediately complete, call wait until complete
if (!(response.status == (asynchReplyStatusEnum.complete)))
{
while (!(response.status == asynchReplyStatusEnum.complete))
{
//before calling wait, double check that it is okay
if (hasSecondaryRequest(response, "wait"))
{
response =
this.rptService.wait(
response.primaryRequest,
new parameterValue[] { },
new option[] { });
}
else
{
Console.Write("Error: Wait method not available as expected.");
return;
}
}
//check if output is ready
if (outputIsReady(response))
{
response =
this.rptService.getOutput(response.primaryRequest, new parameterValue[] { },
new option[] { });
}
else
{
Console.Write("output is not ready!");
}
}
String data = getOutputPage(response);
// Write the report output to file system
Console.Write("Writing the output of the original report..");
StreamWriter sw = File.CreateText(savePath + "\\original.html");
sw.Write(data);
sw.Flush();
sw.Close();
//Drill down in the report
//set up drill down parameter.
simpleParmValueItem item = new simpleParmValueItem();
item.use = "[great_outdoors_company].[Years].[Years].[Year]->:[PC].[@MEMBER].[20050101-20051231]";
item.inclusive = true;
parmValueItem[] pvi = new parmValueItem[1];
pvi[0] = item;
parameters[0] = new parameterValue();
parameters[0].name = "Year";
parameters[0].value = pvi;
response = this.rptService.drill(response.primaryRequest, parameters, drillOptions);
if (!(response.status == (asynchReplyStatusEnum.complete)))
{
while (!(response.status == asynchReplyStatusEnum.complete))
{
//before calling wait, double check that it is okay
if (hasSecondaryRequest(response, "wait"))
{
response =
this.rptService.wait(
response.primaryRequest,
new parameterValue[] { },
new option[] { });
}
else
{
Console.Write("Error: Wait method not available as expected.");
return;
}
}
//check if output is ready
if (outputIsReady(response))
{
response =
this.rptService.getOutput(response.primaryRequest, new parameterValue[] { },
new option[] { });
}
else
{
Console.Write("output is not ready!");
}
}
data = getOutputPage(response);
// Write the report output to file system
Console.Write("Writing the output of the drill down report..");
StreamWriter sw2 = File.CreateText(savePath + "\\drilldown.html");
sw2.Write(data);
sw2.Flush();
sw2.Close();
// release the conversation to free resources.
this.rptService.release(response.primaryRequest);
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message.ToString());
Console.WriteLine(ex.StackTrace);
}
}
Posted by
David Dukes
at
8:20 AM
0
comments
{
//string export = "CAMID(\"" + strNamespaceId + "\")//Export"; string export = "/adminFolder/importDeployment[@name=''MY DEPLOYMENT PACKAGE"]"; propEnum[] props = new propEnum[] { propEnum.deployedObjectDefaultName, propEnum.defaultName, propEnum.searchPath }; baseClass[] exportObjects = new baseClass[] { }; searchPathMultipleObject spMulti = new searchPathMultipleObject();spMulti.Value = export;
try{
exportObjects = cmService.query(spMulti, props,
new sort[] { }, new queryOptions());}
catch (SoapException exSoap){
SoapExceptionHandler objEx = new SoapExceptionHandler(exSoap); MessageBox.Show(objEx.Details + objEx.Message + objEx.ErrorCode + objEx.Severity);}
return exportObjects;}
Posted by
David Dukes
at
1:13 PM
0
comments
Do you have an audit based report that you use for both your DEV and PROD environments, and you want to use the same report schema but have the flexibility to dynamically change your datasource connection?
You can use 'Prompt Macros' to allow the user to select the desired data source. The macro should be placed within each Query Subject.
From within Framework Manager, you should modify each Query Subject to replace the data source name to a prompt. For instance,
MODIFY
Select * from [GOSL].CONVERSION_RATE
TO
Select * from # prompt('Select Datasource','token') # .CONVERSION_RATE
When prompted for the data source name, you must enclose it in square brackets. i.e. [gosales]
Posted by
David Dukes
at
4:25 PM
0
comments
Labels: Cognos 8 -- dynamically change a report's datasource
Here are some of the changes that you'll encounter when developing in Cognos 8.3
1. When a query returns no data, you can now choose to provide a message or to remove the data item from the report. The new No Data Contents property was added to many data containers such as lists, crosstabs, and charts. You can also choose to not render the entire report page if all the data containers on the page do not contain any data.
2. A series of new functions were added in the expression editor to make report expressions more powerful. The new functions give you the flexibility to create report expressions for reporting and conditional processing. Thy include a new mathematical function named mod(), time-based functions, and conversion functions. Of interest to PowerCube users are the cube variables that can now be added to report output. The double2string( ) function can be used in data type conversions.
The following functions return the named PowerCube properties:
● CubeName( )
● CubeDescription( )
● CubePath( )
● CubeCreatedOn( )
● CubeDataUpdatedOn( )
● CubeSchemaUpdatedOn( )
● CubeIsOptimized( )
● CubeDefaultMeasure( )
● CubeCurrentPeriod( )
● CellValue( )
3. Reports can now span two or more page widths in a PDF. This is useful when you want wide data in lists and crosstabs to show in its original size. The fit-to-page option from previous releases is still available. You decide for each list or crosstab which items span across pages and which items shrink to fit a single page.
4. The Microsoft Excel 2000 format for report outputs is deprecated in version 8.3.
Posted by
David Dukes
at
3:59 PM
0
comments
Labels: Cognos 8.3 -- upgrading
The main difference between model objects and shortcuts is that model objects give you the freedom to include or exclude items and to rename them. You may choose to use model objects instead of shortcuts if you need to limit the query items included or to change the names of items.
Shortcuts are less flexible from a presentation perspective than model objects, but they require much less maintenance because they are automatically updated when the target object is updated. If maintenance is a key concern and there is no need to customize the appearance of the query subject, use shortcuts.
Framework Manager has two types of shortcuts:
● regular shortcuts, which are a simple reference to the target object.
● alias shortcuts, which behave as if they were a copy of the original object with completely independent behavior.
Alias shortcuts are available only for query subjects and dimensions. Regular shortcuts are typically used as conformed dimensions with star schema groups, creating multiple references with the exact same name and appearance in multiple places. Alias shortcuts are typically used in role-playing dimensions or shared tables.
Being able to specify the behavior of shortcuts is new to Cognos 8.3. When you open a model from a previous release, the Shortcut Processing governor is set to
Automatic. When Automatic is used, shortcuts work the same as in previous releases, that is, a shortcut that exists in the same folder as its target behaves as an alias, or independent instance, whereas a shortcut existing elsewhere in the model behaves as a reference to the original. To take advantage of the Treat As property, it is recommended that you verify the model and, when repairing, change the governor to Explicit. The repair operation changes all shortcuts to the correct value from the Treat As property based on the rules followed by the Automatic setting, this means that there should be no change in behavior of your model unless you choose to make one or more changes to the Treat As properties of your shortcuts.
When you create a new model, the Shortcut Processing governor is always set to Explicit. When the governor is set to Explicit, the shortcut behavior is taken from the Treat As property and you have complete control over how shortcuts behave without being concerned about where in the model they are located.
Posted by
David Dukes
at
3:51 PM
0
comments
Labels: Cognos 8.3 -- Framework Manager -- Model objects and shortcuts
If you are modeling a normalized data source, you may become interested in generating Minimized SQL for your model. Minimized SQL will help to reduce the number of tables used in some requests and it can aid in performance.
You should consider creating relationships and determinants between the data source query subjects, and then create model query subjects that do not have relationships.
Some FM model developers believe that if you do not have relationships between objects, you cannot create star schema groups. This is not necessarily true. You can select the model query subjects to include in the group and use the Star Schema Grouping wizard. In addition, you can create shortcuts and move them to a new namespace in your model. There is no need to have shortcuts to the relationships; this feature is purely visual in the diagram. The affect on query generation and presentation in the both Query Studio and Report Studio is the same.
Posted by
David Dukes
at
3:45 PM
0
comments
Labels: Cognos 8 -- planning your model
Hello, if you're using SQL Server stored procedures (SPROCS) in your Cognos 8 Framework Manager model as the source for your model's query subjects, then you should make sure that you have a valid user signon defined in Cognos Connection that has the proper permissions to execute the SPROC.
If not, then you may a recieve an error similar to the following:
RQP-DEF-0177 An error occurred while performing operation 'sqlExecute'
Posted by
David Dukes
at
3:35 PM
0
comments
If you have added an image to your Cognos Report Studio report page and when you attempt to browse your directory for an image file to apply you may encounter an error message stating that you don't have the proper permissions. If you are using IIS for your web server then you should attempt the following fix:
Posted by
David Dukes
at
12:13 PM
0
comments
Check out the link below if you're interested in getting a free preview of the Cognos SDK Guide by BI Centre.
Free Preview
Posted by
David Dukes
at
5:01 PM
0
comments
Posted by
David Dukes
at
5:58 AM
0
comments
Posted by
David Dukes
at
7:33 AM
0
comments
When you validate a model in Framework Manager you may encounter a series of new Warning messages. • Needs reevaluation This message is most likely related to data type changes. The majority of items with this warning can be selected for repair. The repair option steps you through your options for evaluating and upgrading specific elements of metadata. Tip: • Join expression conflicts with the determinant information defined in the query subject Sometimes the index and key information specified for a query subject implies a level of granularity that does not match the relationships specified on a query subject. When defining levels, you must ensure that a business key and caption roles are specified. These roles are relevant for member functions in the report authoring tools and to assist in the member-oriented tree in Analysis Studio. All captions must have the string data type. If there is no attribute of this type available, create a calculation that is a string data type and assign the member caption role to the new item. This is primarily an issue for Analysis Studio. • One or more determinants that describe the keys and attributes of the query subject should be specified When importing from a relational data source, determinants are specified for any indexes and keys that exist in the data source. It is possible that no determinants exist on a query subject upgraded from ReportNet 1.x, especially for model query subjects. We recommend that you use determinants to explicitly specify the granularity of the data in the query subject and the functional dependencies between query items. However, it is not mandatory to specify determinants for query subjects representing a single level or fact data. Determinants are required only if the item is a BLOB data type.
Posted by
David Dukes
at
7:05 AM
0
comments
Returns the pieces of the user's identity (account name, group names, role names) as a list of values separated by commas. Syntax CAMIDList ( [ separator_string ] ) Example #CAMIDList ( )# Result: CAMID("::Everyone"), CAMID(":Authors"), CAMID(":Query Users"), CSVIdentityName Use the identity information of the current authenticated user to lookup values in the specified parameter map. Each individual piece of the user's identity (account name, group names, role names) is used as a key into the map. The unique list of values that is retrieved from the map is then returned as a string, where each value is surrounded by single quotes and where multiple values are separated by commas. Syntax CSVIdentityName ( %parameter_map_name [ , separator_string ] ) Example #CSVIdentityName ( %security_clearance_level_map )# Result: 'level_500' , 'level_501' , 'level_700' CSVIdentityNameList Returns the pieces of the user's identity (account name, group names, role names) as a list of strings. The unique list of values is returned as a string, where each value is surrounded by single quotes and where multiple values are separated by commas. Syntax CSVIdentityNameList ( [ separator_string ] ) Example #CSVIdentityNameList ( )# Result: 'Everyone' , 'Report Administrators' , 'Query User'
Posted by
David Dukes
at
1:24 PM
0
comments
Open the registry to this key :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
Search [F3] for the executable of your service.
Check for the key "DisplayName" wich is the name of the service.
Then use the DOS command:
net start Service
Where Service is the value found in "DisplayName".
Posted by
David Dukes
at
9:00 AM
0
comments
Posted by
David Dukes
at
1:50 PM
0
comments
Posted by
David Dukes
at
12:48 PM
0
comments
Posted by
David Dukes
at
12:26 PM
0
comments
Cognos 8 Three Tiered Architecture
The Cognos 8 BI can be considered to be separated into a 3 tier architecture layout.
1st tier – Web Server
2nd tier – Applications
3rd tier – Data
The tiers are based on component function, and are normally separated by firewalls. The C8 user interface rests above the tiers. Primarily, the communication between the tier components is based on the both the SOAP and HTTP protocols. Third party applications can use either a URL API or the SOAP API. The SOAP API uses the BI Bus to move information from one service to another by moving the packets of data.
The 1st tier (Web Server) hosts the Cognos gateway, which: encrypts and decrypts passwords; extracts information needed to submit the request to a Cognos BI server; attaches environment variables for the Web server; adds a default namespace to the request to help ensure that the server authenticates the user in the correct namespace; and passes requests to a Cognos 8 BI dispatcher for processing.
The 2nd tier (Applications) hosts the Cognos 8 BI server and its associated services. It is comprised of: Application Tier Components, Content Manager, and Bootstrap service.
The 3rd tier (Data) contains the Content Store, Data Sources, Metric Store
Posted by
David Dukes
at
12:21 PM
0
comments