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
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.
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
But if there is still a task to join large data sets of Timesheets and WorkItems with each other (for instance thousands of them on both sides, or if it will be half a million entries). If I'm using tables and nested dynamic text to fetch only the required data -- it will create a lot of javascript objects in the report. How will it influence on the performance? Could that javascript objects hung up the report? How much time will it take to process all the entries? How it could be solved?
If it is still safe to work with javescript objects -- confirm that please.
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.