Answers.Body: <p>You haven't specified which membership report you're referring to, so it's difficult to say for certain.  However, the general approach should be:</p>
  
  <ul>
  <li>Create a PHP override.  There are many ways to do this, but the easiest would be to set a custom PHP path directory (<strong>Administer menu > System Settings > Directories</strong>).</li>
  <li>Copy the PHP file that generates your report to the folder.  E.g. if this is Membership Detail, copy <code>&lt;civicrmroot&gt;/CRM/Report/Form/Member/Detail.php</code> to <code>&lt;custom PHP folder&gt;/CRM/Report/Form/Member/Detail.php</code>.</li>
  <li>At this point, I find I haven't quite done steps 1-2 correctly, so I edit the custom Detail.php to make sure my changes are reflected on the Membership Detail report.  E.g. I go into the section called <code>$this-&gt;_columns</code> and change the title of a field, then reload the page to see that it worked.</li>
  <li>Once you're convinced you have the override set up correctly, find the line that starts with: <code>protected $_customGroupExtends</code>.  Add the entities that have the custom group in question to that line.</li>
  </ul>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-05-04T21:00:59.610Z
Answers.Text: My custom Detail.php is working, but I don't know the syntax for adding custom data. My data is in Custom Data - Member Details - Newsletter Delivery Preference (radio type). I don't know what to put in $_customGroupExtends. Just adding 'Newsletter Delivery Preference' doesn't work. Also, do I need to create the column for this in the $this->_columns section?
Answers.UserDisplayName: P a u l
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-05-04T23:02:54.827Z
Answers.Text: Don't know how to parse: "Add the entities that have the custom group in question to that line." The column I want to add is from a profile I created "Member Details" which uses custom data from a set I created "Member Details". I don't know what an "entity" is. Isn't the process more complicated; adding SQL select statements, etc.?
Answers.UserDisplayName: P a u l
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-05-05T13:36:45.140Z
Answers.Text: Custom fields can be added with a lot less effort than non-custom fields - no need to create a column in $this->_columns.  An "entity" maps roughly to a table in the database - so Contact, Membership, Contribution, etc. are all "entities".  You can see a list of entities by visiting the API explorer (**Help menu > Developer > API Explorer**).  However, now that I see that we're referring to the Member Detail report - the custom fields on Membership entities should already be added.  I've created a new answer to address your situation.
Answers.UserDisplayName: Jon G - Megaphone Tech
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-05-02T17:52:10.063Z
Answers.LastActivityDate: 2015-05-02T17:52:10.063Z
Answers.UserDisplayName: Jon G - Megaphone Tech
Answers.Body: <p>After reading your comments, I have a new answer.  Please check the custom field in question and ensure that the "Searchable?" checkbox is checked.</p>
  
  <p><img src="https://i.sstatic.net/Xr0e9.jpg" alt="Custom field screenshot"></p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-05-05T14:51:59.097Z
Answers.Text: Perhaps there is a misunderstanding. The custom field has always been present and settable in the criteria sections, and is definitely searchable. The requirement is that the custom field appear in the display columns section and as a column in the final report.
Answers.UserDisplayName: P a u l
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-05-05T17:24:11.403Z
Answers.Text: Hi Paul - the "Searchable" box controls whether custom fields show up in CiviReport - an undocumented but important fact!  If you look at your custom field groups, what does the "Used For" for the custom field group in question say?  That is, is this a custom field on the contact, the membership, or neither?  If Contact, is it individual, organization, or all contacts?
Answers.UserDisplayName: Jon G - Megaphone Tech
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-05-05T17:51:20.143Z
Answers.Text: Used For is "Membership". Searchable is checked. I can set a filter on this field no problem. As I said, the field is not in the Display Columns section which is what I need. I edited the title of this question.
Answers.UserDisplayName: P a u l
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-05-06T04:17:56.277Z
Answers.Text: Paul - I think we're talking about the same thing, but it seems like you think otherwise.  I took a screenshot to demonstrate what I think you're trying to do.  Please take a look and see.  If so - maybe see if your problem exists on the demo server as well?
Answers.UserDisplayName: Jon G - Megaphone Tech
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-05-06T17:32:43.930Z
Answers.Text: Yours works, mine doesn't. It must be something in the way it is set up. I would need to have step by step instructions on how you did this test.
Answers.UserDisplayName: P a u l
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-05-06T17:43:40.623Z
Answers.Text: I am using 4.5.6 on wordpress. Your report form looks much different than mine. I don't see the tabs. What CiviCRM version are you using?
Answers.UserDisplayName: P a u l
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-05-06T19:05:10.423Z
Answers.Text: That's the CiviCRM 4.6 report interface - much improved on 4.5!  However, the functionality you're looking for is no different in 4.5.  To test, go to the demo server, create a new custom field group with "used for" set to "Membership" records.  Create a new custom field in that group; make it searchable.  That SHOULD be all you need to have it appear on the membership detail report as a selectable column.  Let us know if you get it working on the demo site, then we can troubleshoot further!
Answers.UserDisplayName: Jon G - Megaphone Tech
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-05-11T16:38:51.453Z
Answers.Text: I upgraded to the latest CiviCRM, and the column choice is working correctly. All I had to do was upgrade. Sorry for the big waste of time.
Answers.UserDisplayName: P a u l
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-05-05T13:34:31.767Z
Answers.LastActivityDate: 2015-05-06T04:16:59.933Z
Answers.LastEditDate: 2015-05-06T04:16:59.933Z
Answers.UserDisplayName: Jon G - Megaphone Tech
Body: <p>We have a set of custom data for memberships. One field is 'radio' type for newsletter delivery preference: online, paper, both, none. We can filter on this custom field in membership reports no problem, but cannot add it as a column in the report. I suspect this is an area related to custom report programming, and I'm not at all sure how to go about this. When I search on "custom field report column" I get a few hits in the forum that are a bit cryptic to me.</p>
  
  <p>Update: To fix this all I had to do was upgrade to 4.6.2.</p>
  
Tags: <custom-fields><civireport>
Title: How to add custom fields to membership report display columns?
ThreadText: # How to add custom fields to membership report display columns?
  
  (Asked by: username_0 on 2015-05-01)
  
  We have a set of custom data for memberships. One field is 'radio' type for newsletter delivery preference: online, paper, both, none. We can filter on this custom field in membership reports no problem, but cannot add it as a column in the report. I suspect this is an area related to custom report programming, and I'm not at all sure how to go about this. When I search on "custom field report column" I get a few hits in the forum that are a bit cryptic to me.
  
  Update: To fix this all I had to do was upgrade to 4.6.2.
  
  **Tags:** custom-fields, civireport
  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2015-05-05. Score: 3 | Accepted answer
  
  After reading your comments, I have a new answer. Please check the custom field in question and ensure that the "Searchable?" checkbox is checked.
  
  ![Custom field screenshot](https://i.sstatic.net/Xr0e9.jpg)
  
  > **Comments:**
  > **username_0**: Perhaps there is a misunderstanding. The custom field has always been present and settable in the criteria sections, and is definitely searchable. The requirement is that the custom field appear in the display columns section and as a column in the final report.  
  > **username_1**: Hi Paul - the "Searchable" box controls whether custom fields show up in CiviReport - an undocumented but important fact!  If you look at your custom field groups, what does the "Used For" for the custom field group in question say?  That is, is this a custom field on the contact, the membership, or neither?  If Contact, is it individual, organization, or all contacts?  
  > **username_0**: Used For is "Membership". Searchable is checked. I can set a filter on this field no problem. As I said, the field is not in the Display Columns section which is what I need. I edited the title of this question.  
  > **username_1**: Paul - I think we're talking about the same thing, but it seems like you think otherwise.  I took a screenshot to demonstrate what I think you're trying to do.  Please take a look and see.  If so - maybe see if your problem exists on the demo server as well?  
  > **username_0**: Yours works, mine doesn't. It must be something in the way it is set up. I would need to have step by step instructions on how you did this test.  
  > **username_0**: I am using 4.5.6 on wordpress. Your report form looks much different than mine. I don't see the tabs. What CiviCRM version are you using?  
  > **username_1**: That's the CiviCRM 4.6 report interface - much improved on 4.5!  However, the functionality you're looking for is no different in 4.5.  To test, go to the demo server, create a new custom field group with "used for" set to "Membership" records.  Create a new custom field in that group; make it searchable.  That SHOULD be all you need to have it appear on the membership detail report as a selectable column.  Let us know if you get it working on the demo site, then we can troubleshoot further!  
  > **username_0**: I upgraded to the latest CiviCRM, and the column choice is working correctly. All I had to do was upgrade. Sorry for the big waste of time.  
  
  ---
  
  ### Answer by username_1 on 2015-05-02. Score: 2
  
  You haven't specified which membership report you're referring to, so it's difficult to say for certain. However, the general approach should be:
  
  * Create a PHP override. There are many ways to do this, but the easiest would be to set a custom PHP path directory (**Administer menu > System Settings > Directories**).
  * Copy the PHP file that generates your report to the folder. E.g. if this is Membership Detail, copy `/CRM/Report/Form/Member/Detail.php` to `/CRM/Report/Form/Member/Detail.php`.
  * At this point, I find I haven't quite done steps 1-2 correctly, so I edit the custom Detail.php to make sure my changes are reflected on the Membership Detail report. E.g. I go into the section called `$this->_columns` and change the title of a field, then reload the page to see that it worked.
  * Once you're convinced you have the override set up correctly, find the line that starts with: `protected $_customGroupExtends`. Add the entities that have the custom group in question to that line.
  
  > **Comments:**
  > **username_0**: My custom Detail.php is working, but I don't know the syntax for adding custom data. My data is in Custom Data - Member Details - Newsletter Delivery Preference (radio type). I don't know what to put in $_customGroupExtends. Just adding 'Newsletter Delivery Preference' doesn't work. Also, do I need to create the column for this in the $this->_columns section?  
  > **username_0**: Don't know how to parse: "Add the entities that have the custom group in question to that line." The column I want to add is from a profile I created "Member Details" which uses custom data from a set I created "Member Details". I don't know what an "entity" is. Isn't the process more complicated; adding SQL select statements, etc.?  
  > **username_1**: Custom fields can be added with a lot less effort than non-custom fields - no need to create a column in $this->_columns.  An "entity" maps roughly to a table in the database - so Contact, Membership, Contribution, etc. are all "entities".  You can see a list of entities by visiting the API explorer (**Help menu > Developer > API Explorer**).  However, now that I see that we're referring to the Member Detail report - the custom fields on Membership entities should already be added.  I've created a new answer to address your situation.  
  
  ---
  
  