Quantcast
Channel: Pentaho Community Forums
Viewing all articles
Browse latest Browse all 16689

Filter non aggregate values by condition

$
0
0
Hello.
There is simple cube. Dimensions : Calendar, Country. One mesaure - user sum.
Real data like this
2012, 2013
Russia 100 3000
USA 200 4000

With filter >1000 must be this :

2013
Russia 3000
USA 4000

I try'd many ways
1. Filter function
SELECT
NON EMPTY
Filter({[Calendar.Hierarhy].[2012],[Calendar.Hierarhy].[2013]},
[Measures].[User sum]>1000) ON 0,

Filter({[Country.Name].[3],[Country.Name].[48],[Country.Name].[53]},
[Measures].[User sum]>1000) on 1


FROM [Cube]
WHERE
[Measures].[sum]

=>Incorrect result, because filter aplying for first parameter of function "Filter", but not to all selection.

2. subquery
SELECT
NON EMPTY [Calendar.Hierarhy].[Year].[Year] ON 0,
NON EMPTY [Country.Name].[Country.Name].[Country.Name] on 1
FROM
(
SELECT
FILTER(
{[Calendar.Hierarhy].[2012],[Calendar.Hierarhy].[2013]}*
{[Country.Name].[3],[Country.Name].[48],[Country.Name].[53]},
[Measures].[User sum]>1000
) on 0
FROM [Cube]
)
WHERE
[Measures].[User sum]
=>mondrian.olap.MondrianException: Mondrian Error:Syntax error at line 5, column 4, token '('

3. calc

WITH
CELL CALCULATION myCalc FOR '({[Country.Name].[3],[Country.Name].[48],[Country.Name].[53]}, {[Calendar.Hierarhy].[2012],[Calendar.Hierarhy].[2013]}, [Measures].[User sum])'
AS iif([Measures].[User sum] < 1000, null, [Measures].[User sum])
SELECT
NON EMPTY [Calendar.Hierarhy].[Year].[Year] ON 0,
NON EMPTY [Country.Name].[Country.Name].[Country.Name] on 1
FROM [Cube]
WHERE
[Measures].[Usersum]

=>mondrian.olap.MondrianException: Mondrian Error:Syntax error at line 2, column 3, token 'CELL'

Please, help me...


Viewing all articles
Browse latest Browse all 16689

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>