| Summary: | [Crosstab improvements] Xtab filter should allow filtering on any cube dimension | ||||||
|---|---|---|---|---|---|---|---|
| Product: | z_Archived | Reporter: | Gary Xue <xxue> | ||||
| Component: | BIRT | Assignee: | Yuejie Chen <yuejie.chen> | ||||
| Status: | VERIFIED FIXED | QA Contact: | Tianli Zhang <tzhang> | ||||
| Severity: | enhancement | ||||||
| Priority: | P5 | CC: | bluesoldier, lzhu, rkanguri, wenfeng.fwd, whe, zqian | ||||
| Version: | 2.2.0 | Keywords: | plan | ||||
| Target Milestone: | 2.5.0 RC2 | ||||||
| Hardware: | PC | ||||||
| OS: | All | ||||||
| Whiteboard: | Autoed | ||||||
| Attachments: |
|
||||||
|
Description
Gary Xue
Initially assigned to Data team to address the query aspect of this design. Currently BIRT crosstab supports filters for levels only, which defines the selection conditions for members under that level. If a dimension are not binding to the crosstab, there is no meaning to define filters on that dimension. I do agree that we may need to support filter on fact data, which could be defined as filter on detail in crosstab. This requires cross team changes. I suggest that we defer to BIRT 2.3. Please evaluate the query API change required for this. This may not fit in to 2.3 . After discussion we believe no extra api is needed for support this feature. As we are in critical week for RC0, suggest to do this enhancement in RC1. It might be risky for making this enhancement in 2.3.0. In current data engine all the filter definition are based on the levels defined in cube query. Lots of changes need to be done in data engine to enable the feature.As this is not a critical feature suggest to make it in 2.3.1. We are still working on this feature. Suggest to defer to RC1. Data Engine part fix has been done. Need UI to allow user define such filters. Reassign to UI team. Created attachment 134731 [details]
Fact Table Filter Mockup
In crosstab filter dialog, we'll add a new "Fact Table" filter type. For "Fact Table" filter, the target field is 'null', the filter expression can only refer to cube level or level attribute element like dimension["dimName"]["levelname"] or dimension["dimName"]["levelname"]["attrName"]. In the dropdown list of Filter condition, there's no "filter by...". In the expression builder, there's no "available column bindings" category, and the "current data cube" category is also limited to only show the groups(dimensions) node(all groups from cube, no matter if it's used in current crosstab).
Please refer to the attached mockup for the UI change.
I don't think we should add another radio button. For the option 'level', can we list out all the cube levels too ( which are not used by cross tab, maybe under a different category but in the same list ). (In reply to comment #9) > I don't think we should add another radio button. > For the option 'level', can we list out all the cube levels too ( which are not > used by cross tab, maybe under a different category but in the same list ). > The fact table filter is actually very different with the level/measure filters. It can only refer to expression like "dimension[...]", while the original filters refer to bindings. Also the fact table filter cannot have a target, so we cannot treat it as the level/measure filter type as they must have a target. After discuss with Dte team, we decide still keep current UI layout, but allow user to select any dimension/level/attribute from cube in expression builder for target type as measure. For target type as level, we'll keep the old behavior as we cannot distinguish if it's a level filter or fact table filter in this case. Verified in 2.5.0 v20090520-0630 build, the further testing is in progress, mark this bug as verified first. |