Blog

New database columns not showing up in Cognos framework model

Issue:
When a new column is added at database table, FM model query subject doesn’t reflect new column though SQL used – “select * from table”. Validating object doesnt work either.

Solution:
select the required query subject . At toolbar choose –  “Tools” > “Update Object”. Framework Manager will start verifying the object with the database. As a result the new column will be added to the Query Object.

Page set in Cognos

  1. Create page1
  2. In page1 create a list report say list1 and query1
  3. Now go to page explorer, create a “page Set”
  4. Drag page1 to detail pages
  5. select “page set”. change query to query1.
    At “grouping & sorting” drag required column you would like to group data on.
  6. Run the report. Pages should be separated based on group by element.

Youtube video –

Q. What are determinants. Give me scenario- how do you do it

Determinants define functional dependencies between query items. Use determinants to avoid double-counting in denormalized data
Multi grain means having multiple granularities at FM i.e. we use determinants for this.
Example:
When we want to join 2 tables with different granularity we use determinants.
Determinants are required to avoid double counting of fact data when dimensions connect to fact tables at levels of granularity that have repeating keys. A simple example that illustrates this scenario is that of a time dimension that has months and days. The month will repeat for each day in the month. For example, May 1, May 2, May 3, et cetera. You wouldn’t want to aggregate the values of the month for each day in the month.

The second scenario is one where a query subject behaves as a dimension and has multiple levels of granularity and will be joined to fact data on different sets of keys. For example, the time dimension has multiple levels. It is joined to inventory on the month key because inventory is tracked by month. It is also joined to the sales fact on the day key because sales are tracked by day.

Another less common scenario includes the use of BLOB data types in a query subject. Query and BLOB data type values in a query subject require additional key and indexed information. If this information is not present in the data source, you can add it via determinants.

http://cognosteacher.blogspot.com/2012/01/determinants-explained-with-example.html

 

Dashboard Pre-Deployment Checklist

  • Define specific purpose and end users – know your consumer
  • create preliminary mock-ups before the planning meeting to help guide the conversation
  • Design each page of the dashboard with a single focus(use actions/drill downs to move between layers of information). Never show too much of information. It will confuse end users.
  • Prototypes – creating views/pages. Connecting to database instead of excel sheets. etc.,
  • Demonstrate to your end users and stakeholders
  • Incorporate feedback
  • Publish

Cognos users and group list using Content manager

I used below query to get cognos user list and associated groups.  I got this query for cognos version 10.2.2

If query doesn’t provide any data, change classid and  mapdlocaleid  values and try.


SELECT v_group.name AS group_name,
v_user.ldap_id AS user_name
, CLASSID
, MAPDLOCALEID

FROM dbo.cmreford1 AS v_group_user
JOIN (SELECT cmid user_id,
UPPER (NAME) ldap_id
FROM dbo.cmobjprops33) v_user
ON v_group_user.refcmid = v_user.user_id
JOIN (SELECT cmobjnames.cmid cmid,
UPPER(cmobjnames.NAME) name
, cmobjects.classid
, cmobjnames.mapdlocaleid

FROM dbo.cmobjects, dbo.cmobjnames
WHERE
cmobjects.classid IN (26, 54)
AND cmobjnames.mapdlocaleid = 92
AND
cmobjects.cmid = cmobjnames.cmid) v_group
ON v_group.cmid = v_group_user.cmid
order by 1,2

————————————————————————————————————————–

SELECT v_group.name AS group_name,
v_user.ldap_id AS user_name
FROM dbo.cmreford1 AS v_group_user
JOIN (SELECT cmid user_id,
UPPER (NAME) ldap_id
FROM dbo.cmobjprops33) v_user
ON v_group_user.refcmid = v_user.user_id
JOIN (SELECT cmobjnames.cmid cmid,
UPPER(cmobjnames.NAME) name

FROM dbo.cmobjects, dbo.cmobjnames
WHERE cmobjects.classid IN (26, 54)
AND cmobjnames.mapdlocaleid = 96
AND cmobjects.cmid = cmobjnames.cmid) v_group
ON v_group.cmid = v_group_user.cmid
order by 1,2