Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
PUBLIC CLOUD
PRIVATE CLOUD
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Intelligence (Analytics)
Parameter Binding in Sub-Table with a Join Dataset
rtruban
Hello all,
I have created many sub-tables in the past to deal with one-to-many relationships where I drop a table into a cell of another table and then re-assign the data set parameter binding on the child to point to the id field of the parent table. The problem is if the data set for the child table is a Join data set; when I click on the 'Data Set Parameter Binding...' button no parameters show up thus I cannot bind the sub/child table to the parent table. When you look at the Join Data Set, the parameter is there... Only one side of the Join has a parameter.
Is this a bug or a feature? I am using the latest 3.7 Open Source BIRT. I am not sure if I have ever tried this with child Join data sets before...
Thank in advance,
Rob
Find more posts tagged with
Comments
mwilliams
I will take a look. You can definitely use a table filter instead as a workaround, but the performance will not be as good.
rtruban
<blockquote class='ipsBlockquote' data-author="'mwilliams'" data-cid="81134" data-time="1312488512" data-date="04 August 2011 - 01:08 PM"><p>
I will take a look. You can definitely use a table filter instead as a workaround, but the performance will not be as good.<br /></p></blockquote>
<br />
Thanks Michael! <br />
<br />
I still want to be able to do what I described, but my current work around was to redesign the data sets so I have 2 separate data sets instead of Join. So I have a Parent Table, Child and Grand-Child. It works... But I would rather do it with the Join instead of an extra layer of nested tables... With every layer of tables it is more of a challenge to get the columns to line up.
mwilliams
Ok, I think this works. Go ahead and create a hidden report parameter to link the dataSet parameter to. In the onCreate of the outer table's detail row (or whatever row you've embedded your joint ds table into), set the value of the report parameter with:
params["myParameter"] = row["myLimitingField"];
Now, for each row, the report parameter will be a different value, so when the inner table's data is fetched, it only fetches the row that you want. Hope this helps.
rtruban
Michael,
I could not get this to work... It throws an error saying it cannot set the dataset's parameter to 'null'.
I am still playing, not sure what I am doing wrong..
Thanks,
Rob
mwilliams
Rob,
Here's the report I tested it in.