Community
Participate
Working Groups
sory here's the description: i have a report with a pie chart with a cube data source.. the category definition is based on a parameter, so i put: data[params["a"].value+"/"+params["b"].value]; this throws me a NoOuterResultsExist so i played a little, i found that is a do data["a/a"] it works but if a use data["a"+"/"+"a"] it throws me the same error.. is this a bug? o did i do something wrong?
i tried to do something to work with this.. but it seems that only the data["a/a"] may be included in the script.. if i do something like a conditional for choosing between a and b ( the parameter values) it also throws the exception. here is the message: InternalError: data.engine.NoOuterResultsExist (<inline>#5) where 5 is the line in which the data["a/a"] appears in the script editor..
Thanks for reporting this bug. This is indeed not a bug. We do not allow script expression in column binding name. However, the exception message is not proper in the case. We will seek for enhancement.
But this appears on the chart wizard when setting the category / value definition when it's binded to a cube instead of a data set if i use data set it works fine, it's just that i prefer to use the cube
with BIRT 2.2 i use row[params["a"]] but now grouping doesn't work well for me so i try to use cube.. but i need the category definition to work in the same way
Sorry I've made a mistake. In script expression, you can use script like row["A"+"B"]. However when define binding names, you should always use string. I've made a test against BIRT 2.3.1, when using Chart, the exception is thrown.When use xTab, everything simply works fine. By debuging, it looks as if chart has not populate the CubeQuery correctly. Reassign to chart team for further investigation.
Created attachment 110883 [details] The report design that shows the problem.
Please see attached which reproduce the problem based on Sample DB.
Also... when using data set if the category or value description is configured with somethign like row[param["a"]] the grouping doesn't work well
In general.. Scripting DOESNT work on BIRT 2.3 neither with Pie charts nor Bar charts when defining category, value, nor series..
Added evaluate support for script expression like measure["count"+"ry"], dimension["count"+"ry"]["ci"+"ty"] and data["count"+"ry"]. Regarding expression like row[param["a"]], it can't be supported. User could write the expression in parameter directly.
Why can't it be supported?? it did work on previous BIRT versions for charts with data sets, why doesn't it work now neither for data sets nor cubes?
(In reply to comment #12) > Why can't it be supported?? it did work on previous BIRT versions for charts > with data sets, why doesn't it work now neither for data sets nor cubes? > Maybe the expression with parameter only works in runtime, i.e. in web viewer. But in design time, i.e. in chart builder, it can't be supported, because it doesn't get parameter value. I think what you want can work now.
But it doesn't even work in runtime.. I don't mind if it works in the viewer.. but it used to work on 2.2 runtime in web viewer and now it doesn't.. I use grouping for the values and category.. maybe it has to do with that..
Reassign to DTE team to investigate why expression with parameter can't work in runtime. We are unable to support it in design time.
Chart needs to known which edge is used to build the cube query definition. In this case, it cannot handle the expression like data[params["xxx"]], so caused this error.
Chart is unable to support expression like data[params["a"].value+"/"+params["b"].value], but support row[params["a"].value]. The reason is chart needs to know actual value of data expression to generate cube query definition, but in generation time chart can't evaluate parameter expression.