Answers.Body: <p>How we did this in the end was to create some custom code that when a new membership was added it would check if there was a membership of the previous membership type. ie if they were purchasing a Full membership if they had a current or expired Student membership. </p>
  
  <p>If there was then it would calculate the number of days between the end date of the previous membership and the start date of the new membership and store this value in a custom field. We also added a feature that if the previous membership had not yet expired we would end it because in our case you were not allow to hold more than one membership at a time.</p>
  
  <p>We can now run all the searches and views we like off this value.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-03-20T23:35:51.973Z
Answers.LastActivityDate: 2017-03-20T23:35:51.973Z
Answers.UserDisplayName: Gemma - Fuzion
Answers.Body: <p>Best option to my knowledge would be </p>
  
  <p>Go to Advance search – select all the membership which has already expired “Student” and add these contact to a group </p>
  
  <p>Now in the same advance serach - select the new group and look for “Full membership” – which should give you list of contact </p>
  
  <p>Even you can use date range for membership selection </p>
  
  <p>I guess this helps!!!</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-02-17T01:32:30.343Z
Answers.Text: It still won't compare the dates which is the key. We are likely to take the approach of finding the progression delay (time between one membership ending and the new one starting) on the sign up for new membership. Then store that information in a field so that we have it for future searches and views. Will feedback our solution once we have it.
Answers.UserDisplayName: Gemma - Fuzion
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-02-17T09:08:49.663Z
Answers.Text: In the search use the date range - i guess that should be helpful
Answers.UserDisplayName: Ramesh - ARTECH Consultancy
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-02-16T17:04:46.633Z
Answers.LastActivityDate: 2017-02-16T17:04:46.633Z
Answers.UserDisplayName: Ramesh - ARTECH Consultancy
Body: <p>We are looking at membership progression. So we want to find out who has a current "Full" membership who started their full membership less than 5 months after their "Student" membership expired.
  Anyone know how I could create a search in CiviCRM that would provide this information?
  Our CiviCRM is also connected to Drupal so happy to build this in Drupal views is that easier.</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-02-17T15:55:16.880Z
Comments.Text: Some CiviCRM installations will show a membership upgrade you're describing as one single membership - others will show them as two  separate memberships.  Could you clarify which approach you're using?
Comments.UserDisplayName: Jon G - Megaphone Tech
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-02-19T21:55:06.013Z
Comments.Text: Am taking the approach of having different membership records for the different levels of membership. So if you upgrade you will end up with a second membership record.
Comments.UserDisplayName: Gemma - Fuzion
Tags: <civimember><search>
Title: How can I search in CIviCRM for people who have got a "Full" membership less than 5 months after their "Student" membership expired?
ThreadText: # How can I search in CIviCRM for people who have got a "Full" membership less than 5 months after their "Student" membership expired?
  
  (Asked by: username_0 on 2017-02-15)
  
  We are looking at membership progression. So we want to find out who has a current "Full" membership who started their full membership less than 5 months after their "Student" membership expired.
  Anyone know how I could create a search in CiviCRM that would provide this information?
  Our CiviCRM is also connected to Drupal so happy to build this in Drupal views is that easier.
  
  **Tags:** civimember, search
  
  > **Comments:**
  > **username_1**: Some CiviCRM installations will show a membership upgrade you're describing as one single membership - others will show them as two  separate memberships.  Could you clarify which approach you're using?  
  > **username_0**: Am taking the approach of having different membership records for the different levels of membership. So if you upgrade you will end up with a second membership record.  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_0 on 2017-03-20. Score: 2
  
  How we did this in the end was to create some custom code that when a new membership was added it would check if there was a membership of the previous membership type. ie if they were purchasing a Full membership if they had a current or expired Student membership.
  
  If there was then it would calculate the number of days between the end date of the previous membership and the start date of the new membership and store this value in a custom field. We also added a feature that if the previous membership had not yet expired we would end it because in our case you were not allow to hold more than one membership at a time.
  
  We can now run all the searches and views we like off this value.
  
  
  ---
  
  ### Answer by username_2 on 2017-02-16. Score: 0
  
  Best option to my knowledge would be
  
  Go to Advance search – select all the membership which has already expired “Student” and add these contact to a group
  
  Now in the same advance serach - select the new group and look for “Full membership” – which should give you list of contact
  
  Even you can use date range for membership selection
  
  I guess this helps!!!
  
  > **Comments:**
  > **username_0**: It still won't compare the dates which is the key. We are likely to take the approach of finding the progression delay (time between one membership ending and the new one starting) on the sign up for new membership. Then store that information in a field so that we have it for future searches and views. Will feedback our solution once we have it.  
  > **username_2**: In the search use the date range - i guess that should be helpful  
  
  ---
  
  