Trying to SORT table on Expression - sorting

I have two tables in my report. Grouped on fields DatePaidFinancialYear and then SupplierName.
I have removed both sorts on the groups themselves. There is also no sort on the tablix.
I then have a COUNT IF in one table that does the following -
=Count(IIF(Fields!DaysLateCategory.Value = "Over10Days" , 1, Nothing))
and the below in the other
=Count(IIF(Fields!DaysLateCategory.Value = "Over30Days" , 1, Nothing))
This gives me below -
I want to sort so that the highest number is at the top. I can't work out how to do it.
When I try and sort by my counts via the Tablix - I get the following error -
A sort expression for the tablix 'Tablix5' includes an aggregate function. Aggregate functions cannot be used in data row sort expressions.
Please advise

IRC - you should remove the table sort and sort using the same expression on the Group properties
Excellent. I could have sworn I tried this but obviously not. All working now.
Thanks

Related

How to create a custom formula using data validation that can sort columns using column numbers in Google Sheets?

I hope someone can help with a problem I’m facing. I’m pretty new to Data Validation using Custom Formulas so I’d appreciate your guidance. I hope I have explained the situation clearly. Thanks.
I want to use data validation in cell B1 (Portfolio Tab) which creates a drop down list of the number of columns (1 to 44). I want to use the list as a way to sort a table (Column Headers - C3:AT4).
https://docs.google.com/spreadsheets/d/1qunKbFGNzzGU9lNCPFow8igkR_gaPudmanTK-WM43mA/edit#gid=58173089
By selecting 1 from the drop down list I want my table to be sorted in Descending order by Portfolio%. Then if I want to sort by Name in Descending order I want to select 3 from the drop down list. Finally once I’m done sorting I want to revert back/reset to my original view. I want to do this without changing anything in columns A and B. Please assist. Thank You.
Issue with using asc
Issue with using asc (blank formula)
Query and hyperlink
Query and hyperlink
solution 1:
forget dropdown and use filter view inmerge row 3 & 4
delete row 1 & 4
select your range C2:AT
and creatte filter view
now you can sort one, multiple or all columns like:
solution 2:
create a duplicate of your sheet:
delete your range C3:AT
use this in C3:
=QUERY({Portfolio!C3:AT}, "order by Col"&B1&" desc", 2)
solution 3:
use sorting script... https://stackoverflow.com/questions/tagged/google-apps-script+sorting

Sort fields list in Power BI desktop

I need to sort a very long list fields in Power BI that I need in a special order - not the default sort by name/number.
My dataset looks like this:
and I created another table to use for sorting:
I am stuck from here. I think I need to create a relation between the to tables and then use it to sort the field list. But I do not know where to start.
The order I have now looks like this:
Assuming you're sorting in Power Query, then:
1 Sort table SortOrder by column SortOrder:
= Table.Sort(#"Previous Step",{{"SortOrder", Order.Ascending}})
2 Sort table Data by list SortOrder[ColumnName]:
= Table.Sort(#"Previous Step",SortOrder[ColumnName])
EDIT
It seems you're actually asking how to change the order in which fields are displayed in the Fields Pane
This is currently not possible - fields are always displayed in alphabetical order.
You may vote for this feature request: https://ideas.powerbi.com/forums/265200-power-bi-ideas/suggestions/18355429-use-field-order-as-ordered-in-source-query
The only workaround just now would be to rename your fields so they display in your required order - eg:
01_ClmName_A
02_ClmName_C
03_ClmName_E
04_ClmName_B
05_ClmName_Q
06_ClmName_F

How do I specify columns to include in a matrix

I have a matrix that has a group filtered at the matrix level. I can't filter the SQL because it is very large and is used all over my report.
I need to be able to specify the columns to display after the filter is applied.
The end filter would look something like this
if ColumnA[value] IN Test1,Test2,Test3 OR ColumnB[name]
As you can see I want a value string filter and make sure ColumnB get displayed at all times.
Or being able to specify the columns to show in the matrix would work also.
You can filter at the dataset level: see here for more detail.
To filter a tablix, go into Tablix Properties and open up the Filters tab. You can write a Boolean expression (must evaluate to TRUE for the record to come into the Tablix) to do the filtering there.
I ended up using a tablix and creating columns for each column I wanted to display and rows for each row item. I then used a Count(IIF()) statement to match the specific item I needed to calculate for that cell. I wanted to use the matrix so it would not be so long winded but in the end I got the job done. I have since used this method on many occasions.

How to sort a Reporting Services table by an auto generated column

I have this table:
When executed, it looks like:
This table is sorted by alphabetical order. I would like to sort it by the column named "No Vencido", which is generated in runtime combining 2 dimensions of a cube (one dimension is called "Class 1", the other dimension is called "value".
How can i sort a table by an autogenerated field?
Thanks
You can sort by any sort of expression - SSRS will quite happily sort something like two fields concatenated together:
=Fields!Class1.Value & Fields!value.Value
Just be careful to make sure the sorting is applied at the appropriate level to avoid unexpected, i.e. make sure you don't have different sorting expressions in any row group or detail group if not required.
If No Vencido is the grouping expression, apply the sorting at the group level.
If you don't want to sort on an expression, you can create a calculated field for each row in the dataset with the expression =Fields!Class1.Value & Fields!value.Value and group/sort on that calculated field as required.
Edit after comment
OK, I think you need to apply a sort expression like this to the groups that apply to the Top and Otros rows:
=Sum(IIf(Fields!Clase_1.Value = "No Vencido", Fields!Monto.Value, Nothing))
This is still sorting by the total Monto for each row group, but only considering the rows where Clase_1 is No Vencido.
Once this is set up sort by A-Z or Z-A as required.

Use an Aggregate function in Sort Expression

I have a report which uses a dataset returned from a stored procedure. There are two key columns: Name and Value
I am using this dataset for two tablixes. The first is just a straightforward tablix displaying the data.
The second groups the data based on a Name column. I need to order this data based on the Sum of Value column
However I get the following error:
[rsAggregateInDataRowSortExpression] A
sort expression for the tablix
'table1' includes an aggregate
function. Aggregate functions cannot
be used in data row sort expressions.
Is there another way I can show the data grouped by name and still order it by Sum(Value)?
Instead of sorting on the tablix you need to sort against the row group. Remove the sort on the tablix and then go to the row group properties and put the same sort expression under the sorting section there, this should then work.
OK, I just had to add an extra column for the the Sum value to my query and then use that. Not ideal, but it works

Resources