Forum Discussion
Anonymous
5 years agoNot applicable
Generating new table based on condition
Hi team, I am quite new to POWER BI so keen to know how to figure this out:
I have a table below, what I am trying to do is finding the latest two Credit_rating records for each account( this is decided by last_process_time).
I had created two columns to identify the latest two records, IsLastProday column and IsOldrecord column,
Now I want to get a table like below:, I am trying to use summarize function
CreditChange = SUMMARIZE('table','table'[Account],"IslastProDay",if('table'[IsLastProDay]="Yes",'table'[Credit_rating]),"IsOldRecord",if('table'[IsOldrecord]="Yes",'table'[Credit_rating]))
but getting error saying the single Value of column 'Credit_rating' in table cannot be determined.
Anyone have a better idea how can I get the table above?? thanks so much 🙂
Anonymous
maybe you can try this
Table 2 = VAR tbl=ADDCOLUMNS(SUMMARIZE('Table','Table'[Account],"last",CALCULATE(max('Table'[Last_process_time]),ALLEXCEPT('Table','Table'[Account])),"last2",maxx(FILTER('Table','Table'[Account]=EARLIER('Table'[Account])&&'Table'[Last_process_time]<CALCULATE(max('Table'[Last_process_time]),ALLEXCEPT('Table','Table'[Account]))),'Table'[Last_process_time])),"isoldrecord",maxx(FILTER('Table','Table'[Account]=EARLIER('Table'[Account])&&'Table'[Last_process_time]=[last]),'Table'[Credit_rating]),"islastproday",maxx(FILTER('Table','Table'[Account]=EARLIER('Table'[Account])&&'Table'[Last_process_time]=[last2]),'Table'[Credit_rating])) RETURN SUMMARIZE(tbl,'Table'[Account],[isoldrecord],[islastproday])please see the attachment below.
1 Reply
- ryan_mayuSuper User
Anonymous
maybe you can try this
Table 2 = VAR tbl=ADDCOLUMNS(SUMMARIZE('Table','Table'[Account],"last",CALCULATE(max('Table'[Last_process_time]),ALLEXCEPT('Table','Table'[Account])),"last2",maxx(FILTER('Table','Table'[Account]=EARLIER('Table'[Account])&&'Table'[Last_process_time]<CALCULATE(max('Table'[Last_process_time]),ALLEXCEPT('Table','Table'[Account]))),'Table'[Last_process_time])),"isoldrecord",maxx(FILTER('Table','Table'[Account]=EARLIER('Table'[Account])&&'Table'[Last_process_time]=[last]),'Table'[Credit_rating]),"islastproday",maxx(FILTER('Table','Table'[Account]=EARLIER('Table'[Account])&&'Table'[Last_process_time]=[last2]),'Table'[Credit_rating])) RETURN SUMMARIZE(tbl,'Table'[Account],[isoldrecord],[islastproday])please see the attachment below.