TimeSheetEntry with BIRT Report
Hi,
I'm using Live data source and table "com.ibm.team.workitem.TimeSheetEntry". I figured out most of information about it. (I had to, as there isn't any update on https://jazz.net/wiki/bin/view/Main/DataWarehouseSnapshotSchemas20).
But one thing is confusing me... At TimeSheetEntry I have itemId column which I though was related to WorkItem itemId. But in "com.ibm.team.workitem.WorksItems" I didn't found any workitem with that same itemId. So, it isn't what I though. But here is my question:How can I associate a TimeSheet entry with an workitem via BIRT reports?
I'm using Live data source and table "com.ibm.team.workitem.TimeSheetEntry". I figured out most of information about it. (I had to, as there isn't any update on https://jazz.net/wiki/bin/view/Main/DataWarehouseSnapshotSchemas20).
But one thing is confusing me... At TimeSheetEntry I have itemId column which I though was related to WorkItem itemId. But in "com.ibm.team.workitem.WorksItems" I didn't found any workitem with that same itemId. So, it isn't what I though. But here is my question:
4 answers
Ok, I figure it out. I had to connect directly the database, analyze about 15 tables to understand it (there is surely a better way).
In the end, it is very very simple. Time-sheet entry is linked ("com.ibm.team.workitem.linktype.timeSheetEntry") to an workitem. So, you need to use "com.ibm.team.links.AuditableLink" table to join "com.ibm.team.workitem.WorkItem" and "com.ibm.team.workitem.TimeSheetEntry".
I hope this can help somebody in future.
In the end, it is very very simple. Time-sheet entry is linked ("com.ibm.team.workitem.linktype.timeSheetEntry") to an workitem. So, you need to use "com.ibm.team.links.AuditableLink" table to join "com.ibm.team.workitem.WorkItem" and "com.ibm.team.workitem.TimeSheetEntry".
I hope this can help somebody in future.
Comments
Using BIRT joint data sets to join two potentially large data sets will not scale in a real production environment as BIRT will fetch the two data sets in memory and then join them in memory. A better is to use tables and nested dynamic text to only fetch the required data.
Comments
In fact, looking at distinct rows on com.ibm.team.workitem.TimeSheetEntry that in theory relate to the same workitem, the only fields that has the same values are basically referent to project area and users.
There is a field called internalWorkType that show the type of workitem. But I have no idea how to get the workitem id.
There is a field called internalWorkType that show the type of workitem. But I have no idea how to get the workitem id.
Ok, I figure it out. I had to connect directly the database, analyze about 15 tables to understand it (there is surely a better way).
In the end, it is very very simple. Time-sheet entry is linked ("com.ibm.team.workitem.linktype.timeSheetEntry") to an workitem. So, you need to use "com.ibm.team.links.AuditableLink" table to join "com.ibm.team.workitem.WorkItem" and "com.ibm.team.workitem.TimeSheetEntry".
I hope this can help somebody in future.
Hi Eduardo, thanks for your post.
Could you be more specific on wich table fields you used to join the tables?
Muito obrigado.
Hi,
I use the follow datasets:
First I created a Join Dataset for com.ibm.team.workitem.WorkItem and com.ibm.team.links.AuditableLink using fields:
Then I created another Join dataset for the join dataset above and com.ibm.team.workitem.TimeSheetEntry using fields
I hope this helps you.