Getting, "Aggregate is not supported" error on simple calculated member

Sorry, already an update. I just replaced the calculated member with the predefined one (Issues Created) and I get the same error for that. So, basically I can’t report on Issues Created for some reason and don’t quite understand why…?

Original: I have a calculated member called, “Pages Published” which is simply used to rename, “Issues Created” (so it’s defined as [Measures].[Issues created count]). Reports that use it generate the error:

#ERR: mondrian.olap.fun.MondrianEvaluationException: Aggregation is not supported over a list with more than 1000 predicates (see property mondrian.rolap.maxConstraints)

Any idea why? It’s been a while since I’ve used EasyBI so it’s all looking kinda new again!

@SteveC
In which dimension did you create the calculated member “Pages Published” and what is the definition of your report?

Martins / eazyBI

[Measure].[Pages Published] = [Measures].[Issues created]

So that’s pretty straightforward. And in fact, just replace it with Issues Created in the report and other than the label changing, we get the same error and behaviour.

Also, for the below report export, you might need to know that:

[Measure].[Missed Planned] = nonzero(
count(
Filter(
Generate(
ChildrenSet([Issue].CurrentHierarchyMember),Descendants([Issue].CurrentHierarchyMember, [Issue].[Issue])
),
[Measures].[Issues created]>0 AND DateDiffDays([Measures].[Issue Go Live Date], [Measures].[Issue Embargo Date/Time]) < 0
)
)
)

The report definition is:

{
“cube_name”: “Issues”,
“cube_reports”: [ {
“name”: “Non-Product Launch Pages Published/Missed”,
“folder_name”: “Publishing”,
“result_view”: “bar_chart”,
“definition”: {“columns”:{“dimensions”:[{“name”:“Measures”,“selected_set”:[“[Measures].[Pages Published]”,“[Measures].[Missed Planned]”],“members”:[]}]},“rows”:{“dimensions”:[{“name”:“Time”,“selected_set”:[“[Time].[Month].Members”],“members”:[],“bookmarked_members”:[]},{“name”:“Issue Type”,“selected_set”:[“[Issue Type].[All Page Publish Types]”],“members”:[],“bookmarked_members”:[{“depth”:1,“name”:“Task”,“full_name”:“[Issue Type].[Task]”}]},{“name”:“Project”,“selected_set”:[“[Project].[MS-Publishing]”],“members”:[],“bookmarked_members”:[{“depth”:1,“name”:“MS-Publishing”,“full_name”:“[Project].[MS-Publishing]”,“drillable”:true,“key”:“MSPUB”}]},{“name”:“Issue”,“selected_set”:[“[Issue].[not PLs]”],“members”:[],“bookmarked_members”:[]}],“filter_by”:{“conditions”:[{“expression”:“[Time].CurrentHierarchyMember”,“operator”:“between”,“value”:“5 months ago and today”,“value_type”:“date”}]},“nonempty_crossjoin”:true},“pages”:{“dimensions”:[{“name”:“Business Unit”,“selected_set”:[“[Business Unit].[All Business Units]”],“members”:[{“depth”:0,“name”:“All Business Units”,“full_name”:“[Business Unit].[All Business Units]”,“drillable”:true,“type”:“all”}],“bookmarked_members”:[],“current_page_members”:[“[Business Unit].[All Business Units]”]}]},“options”:{},“view”:{“current”:“bar_chart”,“maximized”:false,“bar_chart”:{“stacked”:true,“vertical”:false,“swap_axes”:false,“data_labels”:true,“series_options”:{}},“table”:{}}}
} ],
“calculated_members”: [{“name”:“Issue Embargo Date/Time”,“dimension”:“Measures”,“formula”:“[Issue].CurrentHierarchyMember.get(‘Embargo Date/Time’)”,“format_string”:“mmm dd yyyy”},{“name”:“Issue Go Live Date”,“dimension”:“Measures”,“formula”:“[Issue].CurrentHierarchyMember.get(‘Go Live Date’)”,“format_string”:“mmm dd yyyy”},{“name”:“Missed Embargo”,“dimension”:“Measures”,“formula”:“nonzero(\n count(\n Filter(\n Generate(\n ChildrenSet([Issue].CurrentHierarchyMember),Descendants([Issue].CurrentHierarchyMember, [Issue].[Issue])\n ),\n [Measures].[Issues created]\u003e0 AND DateDiffDays([Measures].[Issue Go Live Date], [Measures].[Issue Embargo Date/Time]) \u003c 0\n )\n )\n)”,“format_string”:“#,##0”},{“name”:“not PLs”,“dimension”:“Issue”,“formula”:“Aggregate(\n Filter([Issue].[Issue].Members,\n [Issue].CurrentMember.Name not matches ‘.PL.’\n )\n)”,“format_string”:“”},{“name”:“Pages Published”,“dimension”:“Measures”,“formula”:“[Measures].[Issues created]”,“format_string”:“”},{“name”:“Missed Planned”,“dimension”:“Measures”,“formula”:“[Measures].[Missed Embargo]”,“format_string”:“”},{“name”:“All Page Publish Types”,“dimension”:“Issue Type”,“formula”:“[Issue Type].[MS - Support Content]+\n[Issue Type].[MSPUB - Web Content]+\n[Issue Type].[MS - App Content]”,“format_string”:“”}]
}

The problem is when using a calculated member “not PLS” in “Issue” dimension with the calculated measure “Missed Embargo” which is reused in the “Missed Planned” (selected for the report) in the way it is calculated.
Try this formula for “Missed Embargo” calculated measure:

Sum(
Filter(
DescendantsSet([Issue].CurrentHierarchyMember,[Issue].[Issue]),
DateDiffDays([Measures].[Issue Go Live Date], 
[Measures].[Issue Embargo Date/Time]) < 0
),
CASE WHEN
[Measures].[Issues created]>0
THEN
1
END
)

Martins

Hi @martins.vanags ,

I tried putting that in and it made no difference, potentially there’s a second problem it solves, but the original error is on the “Issues Created” usage, not the “Missed Embargo”?

So, the column, which I changed to being simply , “[Measures].[Issues created]”, comes up with the error, “#ERR: mondrian.olap.fun.MondrianEvaluationException: Aggregation is not supported over a list with more than 1000 predicates (see property mondrian.rolap.maxConstraints)” when viewed as a table.

Are you able to repeat the same error when you create a completely new report and select measure “Pages published” in columns and member “Not PL” from the “Issue” dimension in rows?

Martins

I do - however, change from “Not PL” to “All Issues” and it goes away.

Not PL is defined as:

Aggregate(
Filter([Issue].[Issue].Members,
[Issue].CurrentMember.Name not matches ‘.PL.
)
)

OK, so I understand this now (though I’m not sure why it started happening recently and not long ago. It seems there are 536 issues that contain “PL”, and 12804 that don’t.

So, the idea of PL vs not PL is a naming structure for summaries that indicates if a ticket is related to a “Product Launch” or not. I’m drawing a blank on an easy way of achieving this, and to be honest, wondering if any work-around would hit a similar problem?

Try using this syntax for Not PL member.

[Issue].[All issues]
-
Aggregate(
Filter([Issue].[Issue].Members, 
[Issue].CurrentMember.Name matches '.*PL.*'
)
)

Same error if I use that inverse. Using both PL or Not PL (I have both defined), cause [Issues Created] to return the error (#ERR: mondrian.olap.fun.MondrianEvaluationException: Aggregation is not supported over a list with more than 1000 predicates (see property mondrian.rolap.maxConstraints))

@SteveC

In that case, try using Javascript in advanced settings to define a new calculated field that would group issues PL vs Not PL and then import this calculated field as new dimension.
That would make the report much faster when using the new dimension as filter for the report. Then you don’t need to use filters by name using matches expression (which is slow and in some cases even doesn’t work).
See something similar here: JavaScript Code - #2 by lauma.cirule

Martins / eazyBI