Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
beskqlik
Contributor II
Contributor II

Expression getting error as invalid dimension

I am trying to create reprot which should give report as for group dimension, based on days buckting i need to get count of values.When i am using below expression in column dimension, i am getting error as invalid dimension.can any one suggest on this


=if( max({$} total
Date)-only({$} Date)<3,
'1-3 days',
if( max({$} total
Date)-only({$} Date)<6,
'4-6 days',
if( max({$} total
Date)-only({$} Date)<10,
'greater than 6 days','greater than 11 days'
)
)
)

14 Replies
sunny_talwar

How about if you use this

If(Max({$} TOTAL Date) - Date < 3,   '1-3 days',
If(Max({$} TOTAL Date) - Date < 6,   '4-6 days',
If(Max({$} TOTAL Date) - Date < 10,  'greater than 6 days',
                                     'greater than 11 days')))
beskqlik
Contributor II
Contributor II
Author

HI

This expression is working without error. But when i select one date at filter, this expression at report is brining only that date, but my requirement is to bring previous 10 days from select date. Can you please check this one too. with this it will be done

sunny_talwar

Previous 10 days from the selected date? I am not sure I have all information to be able to answer this? May be something you need to do in your expression using set analysis...

beskqlik
Contributor II
Contributor II
Author

The date column we are using in expression will be also used at filter panel. at report i should get 10 days less than or equal to the date whatever i select at filter dynamically.

output should be as below, here days should be calculated based on the date i select at filter panel. From selected date always i should get last previous 10 days from selected date.

                                                                    1-3 days                             4-6 days                     7-10 days

ColumnA                       

A1                                                                    1                                           3                                             6

A2                                                                      6                                           7                                     7

beskqlik
Contributor II
Contributor II
Author

Any one got solution for my need. Can anyone suggest on this

Anil_Babu_Samineni

Does it mean, If you select any data from filter you need to show flag based on last 10 days which bifurcate like below condition?

If(Max({$} TOTAL Date) - Date < 3,   '1-3 days',
If(Max({$} TOTAL Date) - Date < 6,   '4-6 days',
If(Max({$} TOTAL Date) - Date < 10,  'greater than 6 days',
                                     'greater than 11 days')))

What you say, If nothing selected default? 

Best Anil, When applicable please mark the correct/appropriate replies as "solution" (you can mark up to 3 "solutions". Please LIKE threads if the provided solution is helpful
beskqlik
Contributor II
Contributor II
Author

Yes, you are correct, by default max date should be selected.

For achieve this, what should i need to do at filter and at expression at report. Can  you please suggest

output should be as below, here days should be calculated based on the date i select at filter panel. From selected date always i should get last previous 10 days from selected date.

                                                                    1-3 days                             4-6 days                     7-10 days

ColumnA                       

A1                                                                    1                                           3                                             6

A2                                                                      6                                           7                                     7

beskqlik
Contributor II
Contributor II
Author

I have used below expression and got result as in below image.

If(Max({$} TOTAL DATA_DATE) - DATA_DATE < 30, '1-30 days',
If(Max({$} TOTAL DATA_DATE) - DATA_DATE < 60, '31-60 days',
If(Max({$} TOTAL DATA_DATE) - DATA_DATE < 90, '61-90 days', 'greater than 90 days')))

But when i select a date at filter, then it is only that date and brining that date under 1-30 days filter.But i need report 90 days back from the selected date and should  bring 3 buckets 1-30 days ,31-60 days,61-90 days. Can you suggest as how  can i get 90 days back from selected date at filter.

At filter i am using DATA_DATE column

Partial solution i got it with below. But that expression, i am not able to add under columns dimension. I am able to use only at measures part. But i need to add this below expression under columns dimension.

=if( max({$<DATA_DATE={"=$(=max(DATA_DATE))"}>} total DATA_DATE)-only({$<DATA_DATE={"<=$(=max(DATA_DATE))"}>} DATA_DATE)<30,
'1-30 days',
if( max({$<DATA_DATE={"=$(=max(DATA_DATE))"}>} total DATA_DATE)-only({$<DATA_DATE={"<=$(=max(DATA_DATE))"}>} DATA_DATE)<60,
'31-60 days',

if( max({$<DATA_DATE={"=$(=max(DATA_DATE))"}>} total DATA_DATE)-only({$<DATA_DATE={"<=$(=max(DATA_DATE))"}>} DATA_DATE)<90,
'61-90 days',
'greater than 90'))
)

 

 

Anil_Babu_Samineni

What are you getting If you adding Aggr() over expression like

Aggr(if( max({$<DATA_DATE={"=$(=max(DATA_DATE))"}>} total DATA_DATE)-only({$<DATA_DATE={"<=$(=max(DATA_DATE))"}>} DATA_DATE)<30,
'1-30 days',
if( max({$<DATA_DATE={"=$(=max(DATA_DATE))"}>} total DATA_DATE)-only({$<DATA_DATE={"<=$(=max(DATA_DATE))"}>} DATA_DATE)<60,
'31-60 days',

if( max({$<DATA_DATE={"=$(=max(DATA_DATE))"}>} total DATA_DATE)-only({$<DATA_DATE={"<=$(=max(DATA_DATE))"}>} DATA_DATE)<90,
'61-90 days',
'greater than 90'))
), DATA_DATE))

Best Anil, When applicable please mark the correct/appropriate replies as "solution" (you can mark up to 3 "solutions". Please LIKE threads if the provided solution is helpful