tesseract-olap / tesseract

ROLAP engine for web applications, in Rust.
MIT License
39 stars 4 forks source link

LogicLayer "matches multiple levels in this dimension" #305

Open palamago opened 3 years ago

palamago commented 3 years ago

In a LogicLayer's query like: data?Year=2020&Generic+Career=66,81,77,12,247,194,109,6,63,105&Institution=3,45,71,10,2,85,89&Preference+Status=24&cube=demre_applications&drilldowns=Institution,Generic+Career,Year&measures=Last%20Enrolled%20Score&parents=false&sparse=false

Tesseract returns 404with a message: "3 matches multiple levels in this dimension." being 3 the id set in the cut param.

It means that this id 3 is present as a key in more than one members across all members and dimensions.

Is this behavior correct? Why do we require to have different ids on differents levels inside same dimension? Why is not enough to have unique ids per level?

frabarz commented 3 years ago

It sounds like it's trying to parse the 3 as a cut level instead of a member id. We should check the debug logs to solve this. Set the env var TESSERACT_DEBUG to true and look for a line with the content Aggregate query: LogicLayerQueryOpt { cube: ... }, that should contain what tesseract understood as the query.