# Filter based on past status

**URL:** <https://community.eazybi.com/t/filter-based-on-past-status/20509>\
**Category:** Questions & Answers\
**Tags:** mdx\
**Created:** [December 1, 2025, 7:08pm UTC](https://community.eazybi.com/t/filter-based-on-past-status/20509 "2025-12-01T19:08:43Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![dqng](https://community.eazybi.com/letter_avatar_proxy/v4/letter/d/ecc23a/32.png) [@dqng](https://community.eazybi.com/u/dqng)\
**Post date:** [December 1, 2025, 7:08pm UTC](https://community.eazybi.com/t/filter-based-on-past-status/20509/1 "2025-12-01T19:08:43Z")

</div>

Hi,

I am trying to create some reports based on whether scheduled issues were completed by their target end date. I am quite new to eazyBI and MDX and finding it very difficult to use for anything more than trivial charts.

I have enabled importing issue history and the ‘Target start’ and ‘Target end’ fields as both measures and properties. I first want to create a timeline chart showing how many issues had a ‘Target end’ date in each month, but only for issues that have ever been in the status ‘Scheduled’.

I have tried every variation I can think of for how to express this as a calculated measure, with no success.

---

<div class="post-metadata">

**Author:** ![ilze.krauze](https://community.eazybi.com/user_avatar/community.eazybi.com/ilze.krauze/32/10687_2.png) [@ilze.krauze](https://community.eazybi.com/u/ilze.krauze)\
**Post date:** [December 9, 2025, 2:46pm UTC](https://community.eazybi.com/t/filter-based-on-past-status/20509/2 "2025-12-09T14:46:20Z")

</div>

Hi [dqng](https://community.eazybi.com/u/dqng),  
Welcome to eazyBI community! MDX can indeed feel very non-trivial at first, especially when you introduce issue history.

Since you have imported Target end as a measure and you want to group by that date, your base measure should be **Issues with Target end**. However, to add more conditions like “issue was ever in status Scheduled”, you’ll need to use [Descendants()](https://docs.eazybi.com/eazybi/analyze-and-visualize/calculated-measures-and-members/mdx-function-reference/descendants) and [Filter()](https://docs.eazybi.com/eazybi/analyze-and-visualize/calculated-measures-and-members/mdx-function-reference/filter) functions to iterate through individual issues and keep only the ones that match all your criteria.

Try using the following formula:

```auto
Sum(
  Filter(
    Descendants([Issue].CurrentMember, [Issue].[Issue]),
    -- Check if Target end date falls in the specific time period
    DateInPeriod(
      [Issue].CurrentMember.Get('Target end'),
      [Time].CurrentHierarchyMember
    )
    AND
    -- Check if issue was ever in 'Scheduled' status
    (
      [Measures].[Transitions to status],
      [Transition Status].[Scheduled],
      [Time].CurrentHierarchy.DefaultMember
    ) > 0
  ),
  [Measures].[Issues with Target end]
)

```

Let me know if that works for you or if any adjustments are needed.

Best,  
Ilze // eazyBI support

---

<div class="post-metadata">

**Author:** ![dqng](https://community.eazybi.com/letter_avatar_proxy/v4/letter/d/ecc23a/32.png) [@dqng](https://community.eazybi.com/u/dqng)\
**Post date:** [December 11, 2025, 9:20am UTC](https://community.eazybi.com/t/filter-based-on-past-status/20509/3 "2025-12-11T09:20:53Z")

</div>

> [@ilze.krauze](#):
>
> ```auto
> Sum(
> Filter(
> Descendants([Issue].CurrentMember, [Issue].[Issue]),
> -- Check if Target end date falls in the specific time period
> DateInPeriod(
> [Issue].CurrentMember.Get('Target end'),
> [Time].CurrentHierarchyMember
> )
> AND
> -- Check if issue was ever in 'Scheduled' status
> (
> [Measures].[Transitions to status],
> [Transition Status].[Scheduled],
> [Time].CurrentHierarchy.DefaultMember
> ) > 0
> ),
> [Measures].[Issues with Target end]
> )
> 
> ```

Thank you, yes that works 🙂
