Generate report - In order of increasing numerical value


Do any learned ones know a way to order components when generating report, so that the smallest value 500 is first and the last (largest) is 1390.

It seems to be treating all columns as text and so reports 1190 before 970 say. I deally I would like to report on components in a way that allows the cut dimensions to increase in size as you move down rows.

I was hoping that it would be fairly straight forward to do but am struggling somewhat.

Any help is appreciated.


You would have to Group by “Cut_Length” rather than “Name” , you can make a special report for this

However, because the sort “sees” the items as text, it will order them 1375, 1440, 550, 825
So I don’t think its possible at this stage,
as per my example
Do you have excel?

Since the report treats the values as text, and I’m assuming you’re calculating those values within a dynamic component, come up with a formula that adds leading zeros. You’ll have to make a guess as to the maximum value you expect to see to know how many zeroes to add in front of the actual value since you can’t take a “max” value across component instances.

I might make a stab at this once I’m more awake (and home from work) unless someone beats me to it.

1 Like

Thanks for the response but it is still reporting unwanted manner.

I want the values to increase 1 to n

I believe @sjdorst has the solution.
Zero-padding is the way to make text sort logically.

1 Like

That sounds like it could do the trick. Since it is a way to work it in excel. Thanks for the response, I will have a look into it now. If you do manage to have a spare 5 it would still be appreciated if you could have a bash at it. If I manage it first I will let it be know on here.

Still don’t have the time (yet) but I did get one inspiration:

Pad with spaces instead of zeroes! That way, your mind doesn’t have to “strip” the leading zeroes to grok the magnitude of the number. I think most, perhaps all, fonts have a single width for all numbers. If your display font has a space that shares the same width, then everything will line up - right justified!

1 Like

I may be going way off track here. I can get the part name to work with the IF function to produce a zero at the beginning of the dimension when <1000. But I am struggling to create a C/C attribute where this function is performed to which then I can report and group by. Which should then order my dimensions logically right(?)

I am trying to use the concatenate function with the 'IF check attribute and the CCCheck attribute to combine the two values, but I am struggling. It is simply returning the CCCheck attribute. If I have the attribute text string the other way round (CCCheck first) then for some reason it works.

I am missing something obvious no doubt but would like advice on where I am going wrong

But if the other way round:

I am on the phone now, but here is a link to a dynamic component I use for project info.
It has one formula for adding zero(s) to the project number:

Btw better use & then concatenate()

to reverse your list, click the little arrow next to the Cut_Length

Thanks for the link Mike, but I am not sure how to gain access to the dc options with the given link?

you can do a search for ‘projectinfo’

EDIT: I noticed I used ‘concatenate’ :grin:

1 Like


I did this but the items were still not listing in the order which I required.

Hi Mike, thanks for this.

So, when I enter the formula I am still missing the leading zero when asking to be included. However if I ask it to include ‘m’ for example it will show…

I am not sure why it is eliminating the leading zero when it will include other characters.

Dynamic 60x3 SHS Brace 1.2.skp (177.7 KB)

I attach the component for reference

I have managed to figure it out using your component , many thanks Mike

1 Like