# Adding more filters to sort schedules with Dynamo?

**URL:** <https://forum.dynamobim.com/t/adding-more-filters-to-sort-schedules-with-dynamo/43059>\
**Category:** Revit\
**Created:** [November 12, 2019, 2:48pm UTC](https://forum.dynamobim.com/t/adding-more-filters-to-sort-schedules-with-dynamo/43059 "2019-11-12T14:48:56Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kaloyan\_Tomov1](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/kaloyan_tomov1/32/27156_2.png) [@Kaloyan\_Tomov1](https://forum.dynamobim.com/u/Kaloyan_Tomov1)\
**Post date:** [November 12, 2019, 2:48pm UTC](https://forum.dynamobim.com/t/adding-more-filters-to-sort-schedules-with-dynamo/43059/1 "2019-11-12T14:48:56Z")

</div>

Does anyone have any tips or could please guide me in how to add more filters to an original Revit schedule?  
Or maybe any other workarounds? I have a door schedule with around 20 shared parameters and the sorting by only 8 parameters is not sufficient…

Thanks in advance!

---

<div class="post-metadata">

**Author:** ![Thomas\_Corrie](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/thomas_corrie/32/63060_2.png) [@Thomas\_Corrie](https://forum.dynamobim.com/u/Thomas_Corrie)\
**Post date:** [November 12, 2019, 3:07pm UTC](https://forum.dynamobim.com/t/adding-more-filters-to-sort-schedules-with-dynamo/43059/2 "2019-11-12T15:07:09Z")

</div>

There’s a workaround described in this thread which concatenates a series of parameter values into a single parameter which can then be used to group and sort in Revit

> [@"hashtag" sets of parameters in an object](https://forum.dynamobim.com/t/hashtag-sets-of-parameters-in-an-object/39278):
>
> Issue. I need to produce a parameter compiled from all chosen parameters of an object. It’s easier to describe on simple example below: I have number of 3d boxes in model. Boxes are characterized by 3 basic parameters (width, lenght and height). Now I want to give each of these boxes a shared parameter with value - say: 1,1,1 where 1st number gives me a variant of width, 2nd number gives a variant of lenght and 3rd number gives a variant of height. If all my boxes have equal lenght then ther…

---

<div class="post-metadata">

**Author:** ![Kaloyan\_Tomov1](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/kaloyan_tomov1/32/27156_2.png) [@Kaloyan\_Tomov1](https://forum.dynamobim.com/u/Kaloyan_Tomov1)\
**Post date:** [November 12, 2019, 5:29pm UTC](https://forum.dynamobim.com/t/adding-more-filters-to-sort-schedules-with-dynamo/43059/4 "2019-11-12T17:29:21Z")

</div>

Thank you Thomas! Got it to work with the first one as it seems, but not sure why the Type parameters won’t show up, but only Instance parameters?

---

<div class="post-metadata">

**Author:** ![Thomas\_Corrie](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/thomas_corrie/32/63060_2.png) [@Thomas\_Corrie](https://forum.dynamobim.com/u/Thomas_Corrie)\
**Post date:** [November 12, 2019, 5:32pm UTC](https://forum.dynamobim.com/t/adding-more-filters-to-sort-schedules-with-dynamo/43059/5 "2019-11-12T17:32:39Z")

</div>

If they’re type parameters then you need first to get the type of the element before calling Element.GetParameterValueByName

 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/3/3/336c62521843266286229eef830b6ec5e0683458.png)

---

<div class="post-metadata">

**Author:** ![Kaloyan\_Tomov1](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/kaloyan_tomov1/32/27156_2.png) [@Kaloyan\_Tomov1](https://forum.dynamobim.com/u/Kaloyan_Tomov1)\
**Post date:** [November 12, 2019, 5:47pm UTC](https://forum.dynamobim.com/t/adding-more-filters-to-sort-schedules-with-dynamo/43059/6 "2019-11-12T17:47:31Z")

</div>

Sweet! Thank you!  
One question - why do we need the Format Number from Springnodes in this case? The value coming out of the Get Parameter Values should be a string already?

---

<div class="post-metadata">

**Author:** ![Thomas\_Corrie](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/thomas_corrie/32/63060_2.png) [@Thomas\_Corrie](https://forum.dynamobim.com/u/Thomas_Corrie)\
**Post date:** [November 12, 2019, 5:51pm UTC](https://forum.dynamobim.com/t/adding-more-filters-to-sort-schedules-with-dynamo/43059/7 "2019-11-12T17:51:18Z")

</div>

The format number was for an example using dimensions which are returned as doubles and I wanted them rounded to the nearest integer. If your data is not numeric then you can omit it

---

<div class="post-metadata">

**Author:** ![Kaloyan\_Tomov1](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/kaloyan_tomov1/32/27156_2.png) [@Kaloyan\_Tomov1](https://forum.dynamobim.com/u/Kaloyan_Tomov1)\
**Post date:** [November 13, 2019, 10:14am UTC](https://forum.dynamobim.com/t/adding-more-filters-to-sort-schedules-with-dynamo/43059/8 "2019-11-13T10:14:52Z")

</div>

Thank you.  
Whats a good way to combine the values from both the type and instance parameters into one list? I tried with List Combine, but it didnt work…

---

<div class="post-metadata">

**Author:** ![Thomas\_Corrie](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/thomas_corrie/32/63060_2.png) [@Thomas\_Corrie](https://forum.dynamobim.com/u/Thomas_Corrie)\
**Post date:** [November 13, 2019, 10:31am UTC](https://forum.dynamobim.com/t/adding-more-filters-to-sort-schedules-with-dynamo/43059/9 "2019-11-13T10:31:44Z")

</div>

If have two sets of lists then you can use List.Join with List.Combine:

 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/d/7/d7bd3589b10923af4225fc6eeed488b02195aeff.png)

---

<div class="post-metadata">

**Author:** ![Kaloyan\_Tomov1](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/kaloyan_tomov1/32/27156_2.png) [@Kaloyan\_Tomov1](https://forum.dynamobim.com/u/Kaloyan_Tomov1)\
**Post date:** [November 14, 2019, 9:27am UTC](https://forum.dynamobim.com/t/adding-more-filters-to-sort-schedules-with-dynamo/43059/10 "2019-11-14T09:27:40Z")

</div>

Perfect, thank you, that works…  
For some reason it makes me ungroup doors that are within a group with other elements. This issue I would very much like to circumvent… Do you have any suggestions about this?

---

<div class="post-metadata">

**Author:** ![Thomas\_Corrie](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/thomas_corrie/32/63060_2.png) [@Thomas\_Corrie](https://forum.dynamobim.com/u/Thomas_Corrie)\
**Post date:** [November 14, 2019, 9:59am UTC](https://forum.dynamobim.com/t/adding-more-filters-to-sort-schedules-with-dynamo/43059/11 "2019-11-14T09:59:08Z")

</div>

Which parameter are you writing the combined data to? In my example I used `Comments` which perhaps wasn’t the right one to use as an example because it is a builtin parameter that doesn’t allow the value to vary by group instance

 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/1/c/1ca9eb0e01002f13dcf112e376c70bcce3c91f0f.png)

If you create your own parameter, or have one that can be modified then try using _Values can vary by group instance_ in the Parameter Properties. In this example I have created a parameter called `TestParam` and it seemed to work well

 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/f/8/f80d473c71fce05eda332040662877dad556f6df.png)

 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/3/d/3d1371acab54c4fd31069c7e15759334cc6b8f63.png)

Hope this helps,  
Thomas

---

<div class="post-metadata">

**Author:** ![Kaloyan\_Tomov1](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/kaloyan_tomov1/32/27156_2.png) [@Kaloyan\_Tomov1](https://forum.dynamobim.com/u/Kaloyan_Tomov1)\
**Post date:** [November 14, 2019, 3:15pm UTC](https://forum.dynamobim.com/t/adding-more-filters-to-sort-schedules-with-dynamo/43059/12 "2019-11-14T15:15:18Z")

</div>

Sweet, that works like a charm!  
Maybe that’s a topic for another discussion, but wanted to check if you know how to make the script run automatically without having to run it every time I want it to update the changes in the schedules?

I loaded it into Dynamo Player, and that works pretty good, but maybe there is a way to fully integrate it so the parameters connect automatically?

---

<div class="post-metadata">

**Author:** ![Thomas\_Corrie](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/thomas_corrie/32/63060_2.png) [@Thomas\_Corrie](https://forum.dynamobim.com/u/Thomas_Corrie)\
**Post date:** [November 14, 2019, 3:25pm UTC](https://forum.dynamobim.com/t/adding-more-filters-to-sort-schedules-with-dynamo/43059/13 "2019-11-14T15:25:08Z")

</div>

That’s more involved and would mean working directly with the Revit API rather than through Dynamo. For example using the Dynamic Updater framework to detect changes to parameters: [https://forums.autodesk.com/t5/revit-api-forum/parameter-changed-event-listener/td-p/7778625](https://forums.autodesk.com/t5/revit-api-forum/parameter-changed-event-listener/td-p/7778625)
