I know this post will probably inspire audible groans as well as eye-rolling to the point of corneal damage, but I think I am inquiring about an aspect that is not posted anywhere and is different than the usual million versions of this post. (If not, please be kind :) )

I have several views listing events, people, etc. who are categorized by multiple taxonomy terms in a vocabulary, and the views filter for nodes belonging to one or more of those taxo terms. And the views result shows duplicates, one for each term. I know, you've heard this all before.

However, I've checked "Reduce Duplicates" under the filter settings for the taxo term, *and* I checked "Distinct" under the query setting.

I also changed from the Content version of the Taxonomy Term filter to the Term version (after much searching I finally found a discussion about this on Stack Overflow).

Still, I have the exact same amount of duplicates.

Is there something else I'm missing? There are so many different settings and variables, especially when you consider all the relatively new things done with contexts, relationships, etc.; so I'm wondering if this is some nuance to the new ways of dealing with all these controls in Views that I'm just not schooled in yet.

Comments

somatics’s picture

Here's one of my problematic Views' code, as that seems to be what people want to see next for this kind of situation:

$view = new view;
$view->name = 'somatics_events_all_list';
$view->description = 'Events list filtered by proximity selector and event content type selector.';
$view->tag = 'events';
$view->base_table = 'node';
$view->human_name = 'Events All List';
$view->core = 0;
$view->api_version = '3.0';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */

/* Display: Defaults */
$handler = $view->new_display('default', 'Defaults', 'default');
$handler->display->display_options['title'] = 'Somatics Classes, Workshops, & Other Events';
$handler->display->display_options['use_more'] = TRUE;
$handler->display->display_options['use_more_text'] = 'More';
$handler->display->display_options['access']['type'] = 'none';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['query']['options']['distinct'] = TRUE;
$handler->display->display_options['query']['options']['query_comment'] = FALSE;
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['exposed_form']['options']['reset_button'] = TRUE;
$handler->display->display_options['exposed_form']['options']['autosubmit'] = 0;
$handler->display->display_options['exposed_form']['options']['autosubmit_hide'] = 1;
$handler->display->display_options['pager']['type'] = 'full';
$handler->display->display_options['pager']['options']['items_per_page'] = 30;
$handler->display->display_options['style_plugin'] = 'table';
$handler->display->display_options['style_options']['grouping'] = '';
$handler->display->display_options['style_options']['columns'] = array(
  'title' => 'title',
  'city' => 'city',
  'province' => 'province',
  'postal_code' => 'postal_code',
  'name' => 'name',
  'type' => 'type',
  'field_presenter' => 'field_presenter',
  'field_event_date' => 'field_event_date',
);
$handler->display->display_options['style_options']['default'] = '-1';
$handler->display->display_options['style_options']['info'] = array(
  'title' => array(
    'sortable' => 1,
    'default_sort_order' => 'asc',
    'align' => '',
    'separator' => '',
  ),
  'city' => array(
    'sortable' => 1,
    'default_sort_order' => 'asc',
    'align' => '',
    'separator' => '',
  ),
  'province' => array(
    'sortable' => 1,
    'default_sort_order' => 'asc',
    'align' => '',
    'separator' => '',
  ),
  'postal_code' => array(
    'sortable' => 1,
    'default_sort_order' => 'asc',
    'align' => '',
    'separator' => '',
  ),
  'name' => array(
    'sortable' => 1,
    'default_sort_order' => 'asc',
    'align' => '',
    'separator' => '',
  ),
  'type' => array(
    'sortable' => 1,
    'default_sort_order' => 'asc',
    'align' => '',
    'separator' => '',
  ),
  'field_presenter' => array(
    'sortable' => 1,
    'default_sort_order' => 'asc',
    'align' => '',
    'separator' => '',
  ),
  'field_event_date' => array(
    'align' => '',
    'separator' => '',
  ),
);
$handler->display->display_options['style_options']['override'] = 1;
$handler->display->display_options['style_options']['sticky'] = 0;
$handler->display->display_options['style_options']['empty_table'] = 0;
/* Header: Global: Text area */
$handler->display->display_options['header']['text']['id'] = 'area';
$handler->display->display_options['header']['text']['table'] = 'views';
$handler->display->display_options['header']['text']['field'] = 'area';
$handler->display->display_options['header']['text']['empty'] = FALSE;
$handler->display->display_options['header']['text']['content'] = '<p>This page lists all somatics events, both by Somatic Systems Institute and other Somatics practitioners and students.  <a href="/clinic/schedule">Click here to see a list of just classes offered by Somatic Systems Institute</a>.</p>

<!--form action="https://somatics.org/events"  accept-charset="UTF-8" method="get" id="views-filters">
<div><table>
 <thead><tr><th></th><th></th> </tr></thead>
<tbody>
 <tr class="odd"><td><div class="form-item" id="edit-op0-wrapper">
 <select name="op0" class="form-select" id="edit-op0" ><option value="OR" selected="selected">Is One Of</option><option value="NOR">Is None Of</option></select>
</div>
<div class="form-item" id="edit-filter0-wrapper">
 <select name="filter0[]" multiple="multiple"  class="form-select" id="edit-filter0"  size="8"><option value="**ALL**">&lt;All&gt;</option><option value="service_training">Training Event</option><option value="fee">Fee</option><option value="workshop">Workshop</option><option value="class">Weekly Class</option><option value="class_">Weekly Class (by member)</option><option value="event">Other Event</option><option value="training_class_module">Training Class Module</option><option value="workshop_">Workshop (by member)</option></select>
</div>
</td><td><input type="submit" id="edit-submit" value="Submit"  class="form-submit" />
</td> </tr>
</tbody>
</table>

</div--></form-->



<!--form action="https://somatics.org/events"  accept-charset="UTF-8" method="get" id="views-filters">
<div><table>
 <thead><tr><th></th><th></th> </tr></thead>
<tbody>
 <tr class="odd"><td><div class="form-item" id="edit-op0-wrapper">
 <select name="op0" class="form-select" id="edit-op0" ><option value="OR" selected="selected">Is One Of</option><option value="NOR">Is None Of</option></select>
</div>
<div class="form-item" id="edit-filter0-wrapper">
 <select name="filter0[]" multiple="multiple"  class="form-select" id="edit-filter0"  size="8"><option value="**ALL**">&lt;All&gt;</option><option value="service_training">Training Event</option><option value="fee">Fee</option><option value="workshop">Workshop</option><option value="class">Weekly Class</option><option value="class_">Weekly Class (by member)</option><option value="event">Other Event</option><option value="training_class_module">Training Class Module</option><option value="workshop_">Workshop (by member)</option></select>
</div>
</td><td><input type="submit" id="edit-submit" value="Submit"  class="form-submit" />
</td> </tr>
</tbody>
</table>

</div></form-->
';
$handler->display->display_options['header']['text']['format'] = '3';
/* No results behavior: Global: Text area */
$handler->display->display_options['empty']['text']['id'] = 'area';
$handler->display->display_options['empty']['text']['table'] = 'views';
$handler->display->display_options['empty']['text']['field'] = 'area';
$handler->display->display_options['empty']['text']['empty'] = FALSE;
$handler->display->display_options['empty']['text']['content'] = 'There are no events listed here that match your search criteria.  Please change your search choices and try again.';
$handler->display->display_options['empty']['text']['format'] = '1';
/* Relationship: Content: Taxonomy terms on node */
$handler->display->display_options['relationships']['term_node_tid']['id'] = 'term_node_tid';
$handler->display->display_options['relationships']['term_node_tid']['table'] = 'node';
$handler->display->display_options['relationships']['term_node_tid']['field'] = 'term_node_tid';
$handler->display->display_options['relationships']['term_node_tid']['required'] = 0;
$handler->display->display_options['relationships']['term_node_tid']['vocabularies'] = array(
  'vocabulary_19' => 'vocabulary_19',
  'vocabulary_1' => 0,
  'vocabulary_68' => 0,
  'vocabulary_69' => 0,
  'vocabulary_5' => 0,
  'vocabulary_6' => 0,
  'vocabulary_4' => 0,
  'vocabulary_9' => 0,
  'vocabulary_7' => 0,
  'vocabulary_8' => 0,
  'vocabulary_13' => 0,
  'vocabulary_11' => 0,
  'vocabulary_12' => 0,
  'vocabulary_67' => 0,
  'vocabulary_40' => 0,
  'vocabulary_30' => 0,
  'vocabulary_23' => 0,
  'vocabulary_25' => 0,
  'vocabulary_16' => 0,
  'vocabulary_54' => 0,
  'vocabulary_49' => 0,
  'vocabulary_24' => 0,
  'vocabulary_18' => 0,
  'vocabulary_29' => 0,
  'vocabulary_2' => 0,
  'vocabulary_3' => 0,
  'vocabulary_26' => 0,
  'vocabulary_47' => 0,
  'vocabulary_22' => 0,
  'vocabulary_10' => 0,
  'vocabulary_20' => 0,
  'vocabulary_42' => 0,
  'vocabulary_17' => 0,
  'vocabulary_43' => 0,
  'vocabulary_66' => 0,
  'vocabulary_14' => 0,
  'vocabulary_28' => 0,
  'vocabulary_27' => 0,
  'vocabulary_48' => 0,
  'tags' => 0,
  'vocabulary_65' => 0,
  'training_phases' => 0,
  'vocabulary_21' => 0,
  'vocabulary_15' => 0,
);
/* Field: Content: Title */
$handler->display->display_options['fields']['title']['id'] = 'title';
$handler->display->display_options['fields']['title']['table'] = 'node';
$handler->display->display_options['fields']['title']['field'] = 'title';
$handler->display->display_options['fields']['title']['label'] = 'Title:';
$handler->display->display_options['fields']['title']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['title']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['title']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['title']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['title']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['title']['alter']['trim'] = 0;
$handler->display->display_options['fields']['title']['alter']['html'] = 0;
$handler->display->display_options['fields']['title']['hide_empty'] = 0;
$handler->display->display_options['fields']['title']['empty_zero'] = 0;
$handler->display->display_options['fields']['title']['link_to_node'] = 1;
/* Field: Location: City */
$handler->display->display_options['fields']['city']['id'] = 'city';
$handler->display->display_options['fields']['city']['table'] = 'location';
$handler->display->display_options['fields']['city']['field'] = 'city';
$handler->display->display_options['fields']['city']['label'] = 'City:';
$handler->display->display_options['fields']['city']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['city']['alter']['make_link'] = 1;
$handler->display->display_options['fields']['city']['alter']['path'] = 'events/all/all/[city]';
$handler->display->display_options['fields']['city']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['city']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['city']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['city']['alter']['trim'] = 0;
$handler->display->display_options['fields']['city']['alter']['html'] = 0;
$handler->display->display_options['fields']['city']['hide_empty'] = 1;
$handler->display->display_options['fields']['city']['empty_zero'] = 0;
/* Field: Location: Province */
$handler->display->display_options['fields']['province']['id'] = 'province';
$handler->display->display_options['fields']['province']['table'] = 'location';
$handler->display->display_options['fields']['province']['field'] = 'province';
$handler->display->display_options['fields']['province']['label'] = 'State:';
$handler->display->display_options['fields']['province']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['province']['alter']['make_link'] = 1;
$handler->display->display_options['fields']['province']['alter']['path'] = 'events/all/[province]';
$handler->display->display_options['fields']['province']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['province']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['province']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['province']['alter']['trim'] = 0;
$handler->display->display_options['fields']['province']['alter']['html'] = 0;
$handler->display->display_options['fields']['province']['hide_empty'] = 1;
$handler->display->display_options['fields']['province']['empty_zero'] = 0;
$handler->display->display_options['fields']['province']['style'] = 'code';
/* Field: Location: Postal Code */
$handler->display->display_options['fields']['postal_code']['id'] = 'postal_code';
$handler->display->display_options['fields']['postal_code']['table'] = 'location';
$handler->display->display_options['fields']['postal_code']['field'] = 'postal_code';
$handler->display->display_options['fields']['postal_code']['exclude'] = TRUE;
$handler->display->display_options['fields']['postal_code']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['postal_code']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['postal_code']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['postal_code']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['postal_code']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['postal_code']['alter']['trim'] = 0;
$handler->display->display_options['fields']['postal_code']['alter']['html'] = 0;
$handler->display->display_options['fields']['postal_code']['hide_empty'] = 0;
$handler->display->display_options['fields']['postal_code']['empty_zero'] = 0;
/* Field: Taxonomy term: Name */
$handler->display->display_options['fields']['name']['id'] = 'name';
$handler->display->display_options['fields']['name']['table'] = 'taxonomy_term_data';
$handler->display->display_options['fields']['name']['field'] = 'name';
$handler->display->display_options['fields']['name']['relationship'] = 'term_node_tid';
$handler->display->display_options['fields']['name']['label'] = 'Type:';
$handler->display->display_options['fields']['name']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['name']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['name']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['name']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['name']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['name']['alter']['trim'] = 0;
$handler->display->display_options['fields']['name']['alter']['html'] = 0;
$handler->display->display_options['fields']['name']['hide_empty'] = 1;
$handler->display->display_options['fields']['name']['empty_zero'] = 0;
$handler->display->display_options['fields']['name']['link_to_taxonomy'] = 0;
/* Field: Content: Type */
$handler->display->display_options['fields']['type']['id'] = 'type';
$handler->display->display_options['fields']['type']['table'] = 'node';
$handler->display->display_options['fields']['type']['field'] = 'type';
$handler->display->display_options['fields']['type']['label'] = 'Event Type';
$handler->display->display_options['fields']['type']['exclude'] = TRUE;
$handler->display->display_options['fields']['type']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['type']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['type']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['type']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['type']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['type']['alter']['trim'] = 0;
$handler->display->display_options['fields']['type']['alter']['html'] = 0;
$handler->display->display_options['fields']['type']['hide_empty'] = 0;
$handler->display->display_options['fields']['type']['empty_zero'] = 0;
$handler->display->display_options['fields']['type']['link_to_node'] = 0;
$handler->display->display_options['fields']['type']['machine_name'] = 0;
/* Field: Content: Presenter */
$handler->display->display_options['fields']['field_presenter']['id'] = 'field_presenter';
$handler->display->display_options['fields']['field_presenter']['table'] = 'field_data_field_presenter';
$handler->display->display_options['fields']['field_presenter']['field'] = 'field_presenter';
$handler->display->display_options['fields']['field_presenter']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['field_presenter']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['field_presenter']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['field_presenter']['alter']['external'] = 0;
$handler->display->display_options['fields']['field_presenter']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['field_presenter']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['field_presenter']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['field_presenter']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['field_presenter']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['field_presenter']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['field_presenter']['alter']['trim'] = 0;
$handler->display->display_options['fields']['field_presenter']['alter']['html'] = 0;
$handler->display->display_options['fields']['field_presenter']['element_label_colon'] = 1;
$handler->display->display_options['fields']['field_presenter']['element_default_classes'] = 1;
$handler->display->display_options['fields']['field_presenter']['hide_empty'] = 0;
$handler->display->display_options['fields']['field_presenter']['empty_zero'] = 0;
$handler->display->display_options['fields']['field_presenter']['hide_alter_empty'] = 0;
$handler->display->display_options['fields']['field_presenter']['field_api_classes'] = 0;
/* Field: Content: Class Date & Time */
$handler->display->display_options['fields']['field_event_date']['id'] = 'field_event_date';
$handler->display->display_options['fields']['field_event_date']['table'] = 'field_data_field_event_date';
$handler->display->display_options['fields']['field_event_date']['field'] = 'field_event_date';
$handler->display->display_options['fields']['field_event_date']['label'] = 'Time';
$handler->display->display_options['fields']['field_event_date']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['field_event_date']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['field_event_date']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['field_event_date']['alter']['external'] = 0;
$handler->display->display_options['fields']['field_event_date']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['field_event_date']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['field_event_date']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['field_event_date']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['field_event_date']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['field_event_date']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['field_event_date']['alter']['trim'] = 0;
$handler->display->display_options['fields']['field_event_date']['alter']['html'] = 0;
$handler->display->display_options['fields']['field_event_date']['element_label_colon'] = 1;
$handler->display->display_options['fields']['field_event_date']['element_default_classes'] = 1;
$handler->display->display_options['fields']['field_event_date']['hide_empty'] = 0;
$handler->display->display_options['fields']['field_event_date']['empty_zero'] = 0;
$handler->display->display_options['fields']['field_event_date']['hide_alter_empty'] = 0;
$handler->display->display_options['fields']['field_event_date']['settings'] = array(
  'format_type' => 'short_day',
  'fromto' => 'both',
  'multiple_number' => '',
  'multiple_from' => '',
  'multiple_to' => '',
  'show_repeat_rule' => 'show',
);
$handler->display->display_options['fields']['field_event_date']['group_rows'] = 1;
$handler->display->display_options['fields']['field_event_date']['delta_offset'] = '0';
$handler->display->display_options['fields']['field_event_date']['delta_reversed'] = 0;
$handler->display->display_options['fields']['field_event_date']['field_api_classes'] = 0;
/* Sort criterion: Content: Class Date &amp; Time -  start date (field_event_date) */
$handler->display->display_options['sorts']['field_event_date_value']['id'] = 'field_event_date_value';
$handler->display->display_options['sorts']['field_event_date_value']['table'] = 'field_data_field_event_date';
$handler->display->display_options['sorts']['field_event_date_value']['field'] = 'field_event_date_value';
$handler->display->display_options['sorts']['field_event_date_value']['expose']['label'] = 'Start';
/* Sort criterion: Content: Class Date &amp; Time - end date (field_event_date:value2) */
$handler->display->display_options['sorts']['field_event_date_value2']['id'] = 'field_event_date_value2';
$handler->display->display_options['sorts']['field_event_date_value2']['table'] = 'field_data_field_event_date';
$handler->display->display_options['sorts']['field_event_date_value2']['field'] = 'field_event_date_value2';
$handler->display->display_options['sorts']['field_event_date_value2']['expose']['label'] = 'Class Date &amp; Time - end date (field_event_date:value2)';
/* Contextual filter: Location: Province */
$handler->display->display_options['arguments']['province']['id'] = 'province';
$handler->display->display_options['arguments']['province']['table'] = 'location';
$handler->display->display_options['arguments']['province']['field'] = 'province';
$handler->display->display_options['arguments']['province']['exception']['title_enable'] = 1;
$handler->display->display_options['arguments']['province']['title_enable'] = 1;
$handler->display->display_options['arguments']['province']['title'] = 'Somatics Events in %2';
$handler->display->display_options['arguments']['province']['default_argument_type'] = 'fixed';
$handler->display->display_options['arguments']['province']['summary']['format'] = 'default_summary';
$handler->display->display_options['arguments']['province']['specify_validation'] = 1;
$handler->display->display_options['arguments']['province']['validate']['fail'] = 'ignore';
/* Contextual filter: Location: City */
$handler->display->display_options['arguments']['city']['id'] = 'city';
$handler->display->display_options['arguments']['city']['table'] = 'location';
$handler->display->display_options['arguments']['city']['field'] = 'city';
$handler->display->display_options['arguments']['city']['exception']['title_enable'] = 1;
$handler->display->display_options['arguments']['city']['title_enable'] = 1;
$handler->display->display_options['arguments']['city']['title'] = 'Somatics Events in %3';
$handler->display->display_options['arguments']['city']['default_argument_type'] = 'fixed';
$handler->display->display_options['arguments']['city']['summary']['format'] = 'default_summary';
$handler->display->display_options['arguments']['city']['specify_validation'] = 1;
$handler->display->display_options['arguments']['city']['glossary'] = 0;
$handler->display->display_options['arguments']['city']['limit'] = '0';
$handler->display->display_options['arguments']['city']['transform_dash'] = 1;
/* Contextual filter: Date: Date (node) */
$handler->display->display_options['arguments']['date_argument']['id'] = 'date_argument';
$handler->display->display_options['arguments']['date_argument']['table'] = 'node';
$handler->display->display_options['arguments']['date_argument']['field'] = 'date_argument';
$handler->display->display_options['arguments']['date_argument']['exception']['title_enable'] = 1;
$handler->display->display_options['arguments']['date_argument']['default_argument_type'] = 'fixed';
$handler->display->display_options['arguments']['date_argument']['summary']['format'] = 'default_summary';
$handler->display->display_options['arguments']['date_argument']['specify_validation'] = 1;
$handler->display->display_options['arguments']['date_argument']['granularity'] = 'day';
$handler->display->display_options['arguments']['date_argument']['date_fields'] = array(
  'node_data_field_event_series_date.field_event_series_date_value2' => 'node_data_field_event_series_date.field_event_series_date_value2',
);
/* Filter criterion: Content: Published */
$handler->display->display_options['filters']['status']['id'] = 'status';
$handler->display->display_options['filters']['status']['table'] = 'node';
$handler->display->display_options['filters']['status']['field'] = 'status';
$handler->display->display_options['filters']['status']['value'] = '1';
$handler->display->display_options['filters']['status']['group'] = 1;
/* Filter criterion: Content: Type */
$handler->display->display_options['filters']['type']['id'] = 'type';
$handler->display->display_options['filters']['type']['table'] = 'node';
$handler->display->display_options['filters']['type']['field'] = 'type';
$handler->display->display_options['filters']['type']['value'] = array(
  'event' => 'event',
  'professional_event' => 'professional_event',
  'training_class_module' => 'training_class_module',
  'class' => 'class',
  'class_' => 'class_',
  'class_series' => 'class_series',
  'workshop' => 'workshop',
  'workshop_' => 'workshop_',
);
$handler->display->display_options['filters']['type']['group'] = 1;
$handler->display->display_options['filters']['type']['expose']['label'] = 'Filter by Event Type';
$handler->display->display_options['filters']['type']['expose']['operator'] = 'type_op';
$handler->display->display_options['filters']['type']['expose']['identifier'] = 'type';
$handler->display->display_options['filters']['type']['expose']['reduce'] = 1;
/* Filter criterion: Taxonomy term: Term */
$handler->display->display_options['filters']['tid']['id'] = 'tid';
$handler->display->display_options['filters']['tid']['table'] = 'taxonomy_term_data';
$handler->display->display_options['filters']['tid']['field'] = 'tid';
$handler->display->display_options['filters']['tid']['relationship'] = 'term_node_tid';
$handler->display->display_options['filters']['tid']['value'] = array(
  292 => '292',
  86 => '86',
  293 => '293',
  557 => '557',
  88 => '88',
  92 => '92',
  87 => '87',
  558 => '558',
  91 => '91',
);
$handler->display->display_options['filters']['tid']['group'] = 1;
$handler->display->display_options['filters']['tid']['exposed'] = TRUE;
$handler->display->display_options['filters']['tid']['expose']['operator_id'] = 'tid_op';
$handler->display->display_options['filters']['tid']['expose']['label'] = 'Filter by Event Type';
$handler->display->display_options['filters']['tid']['expose']['operator'] = 'tid_op';
$handler->display->display_options['filters']['tid']['expose']['identifier'] = 'tid';
$handler->display->display_options['filters']['tid']['expose']['reduce'] = 1;
$handler->display->display_options['filters']['tid']['reduce_duplicates'] = 1;
$handler->display->display_options['filters']['tid']['type'] = 'select';
$handler->display->display_options['filters']['tid']['vocabulary'] = 'vocabulary_19';
$handler->display->display_options['filters']['tid']['error_message'] = 1;
/* Filter criterion: Content: Class Date &amp; Time -  start date (field_event_date) */
$handler->display->display_options['filters']['field_event_date_value']['id'] = 'field_event_date_value';
$handler->display->display_options['filters']['field_event_date_value']['table'] = 'field_data_field_event_date';
$handler->display->display_options['filters']['field_event_date_value']['field'] = 'field_event_date_value';
$handler->display->display_options['filters']['field_event_date_value']['operator'] = '>=';
$handler->display->display_options['filters']['field_event_date_value']['group'] = 1;
$handler->display->display_options['filters']['field_event_date_value']['default_date'] = 'now -6 days';

/* Display: Page */
$handler = $view->new_display('page', 'Page', 'events_all_list_page');
$handler->display->display_options['path'] = 'events';
$handler->display->display_options['menu']['type'] = 'normal';
$handler->display->display_options['menu']['title'] = 'All Events List';
$handler->display->display_options['tab_options']['weight'] = '0';

/* Display: Content Pane */
$handler = $view->new_display('panel_pane', 'Content Pane', 'events_all_list_pane');
$handler->display->display_options['display_description'] = 'HTML list of all members Events for the group Community portal pages.';
$handler->display->display_options['defaults']['pager'] = FALSE;
$handler->display->display_options['pager']['type'] = 'some';
$handler->display->display_options['pager']['options']['items_per_page'] = '5';
$handler->display->display_options['pager']['options']['offset'] = '0';
$handler->display->display_options['defaults']['header'] = FALSE;
/* Header: Global: Text area */
$handler->display->display_options['header']['text']['id'] = 'text';
$handler->display->display_options['header']['text']['table'] = 'views';
$handler->display->display_options['header']['text']['field'] = 'area';
$handler->display->display_options['header']['text']['empty'] = FALSE;
$handler->display->display_options['header']['text']['content'] = 'Classes, workshops & more from SSI and the entire Somatics community.';
$handler->display->display_options['header']['text']['format'] = '1';
$handler->display->display_options['header']['text']['tokenize'] = 0;
$handler->display->display_options['defaults']['empty'] = FALSE;
/* No results behavior: Global: Text area */
$handler->display->display_options['empty']['text']['id'] = 'text';
$handler->display->display_options['empty']['text']['table'] = 'views';
$handler->display->display_options['empty']['text']['field'] = 'area';
$handler->display->display_options['empty']['text']['empty'] = FALSE;
$handler->display->display_options['empty']['text']['content'] = 'There are no current or upcoming events in our calendar taught by this person. <a href="/events" title="click here to browse and search for events taught by other practitioners">Click here to browse the full calendar of Somatics events.</a>';
$handler->display->display_options['empty']['text']['format'] = '1';
$handler->display->display_options['empty']['text']['tokenize'] = 0;
$handler->display->display_options['defaults']['fields'] = FALSE;
/* Field: Content: Title */
$handler->display->display_options['fields']['title']['id'] = 'title';
$handler->display->display_options['fields']['title']['table'] = 'node';
$handler->display->display_options['fields']['title']['field'] = 'title';
$handler->display->display_options['fields']['title']['label'] = '';
$handler->display->display_options['fields']['title']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['title']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['title']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['title']['alter']['external'] = 0;
$handler->display->display_options['fields']['title']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['title']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['title']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['title']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['title']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['title']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['title']['alter']['trim'] = 0;
$handler->display->display_options['fields']['title']['alter']['html'] = 0;
$handler->display->display_options['fields']['title']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['title']['element_default_classes'] = 1;
$handler->display->display_options['fields']['title']['hide_empty'] = 0;
$handler->display->display_options['fields']['title']['empty_zero'] = 0;
$handler->display->display_options['fields']['title']['hide_alter_empty'] = 0;
$handler->display->display_options['fields']['title']['link_to_node'] = 1;
/* Field: Location: City */
$handler->display->display_options['fields']['city']['id'] = 'city';
$handler->display->display_options['fields']['city']['table'] = 'location';
$handler->display->display_options['fields']['city']['field'] = 'city';
$handler->display->display_options['fields']['city']['label'] = '';
$handler->display->display_options['fields']['city']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['city']['alter']['make_link'] = 1;
$handler->display->display_options['fields']['city']['alter']['path'] = 'events/all/all/[city]';
$handler->display->display_options['fields']['city']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['city']['alter']['external'] = 0;
$handler->display->display_options['fields']['city']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['city']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['city']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['city']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['city']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['city']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['city']['alter']['trim'] = 0;
$handler->display->display_options['fields']['city']['alter']['html'] = 0;
$handler->display->display_options['fields']['city']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['city']['element_default_classes'] = 1;
$handler->display->display_options['fields']['city']['hide_empty'] = 1;
$handler->display->display_options['fields']['city']['empty_zero'] = 0;
$handler->display->display_options['fields']['city']['hide_alter_empty'] = 0;
/* Field: Location: Province */
$handler->display->display_options['fields']['province']['id'] = 'province';
$handler->display->display_options['fields']['province']['table'] = 'location';
$handler->display->display_options['fields']['province']['field'] = 'province';
$handler->display->display_options['fields']['province']['label'] = 'State:';
$handler->display->display_options['fields']['province']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['province']['alter']['make_link'] = 1;
$handler->display->display_options['fields']['province']['alter']['path'] = 'events/all/[province]';
$handler->display->display_options['fields']['province']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['province']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['province']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['province']['alter']['trim'] = 0;
$handler->display->display_options['fields']['province']['alter']['html'] = 0;
$handler->display->display_options['fields']['province']['hide_empty'] = 1;
$handler->display->display_options['fields']['province']['empty_zero'] = 0;
$handler->display->display_options['fields']['province']['style'] = 'code';
/* Field: Taxonomy term: Name */
$handler->display->display_options['fields']['name']['id'] = 'name';
$handler->display->display_options['fields']['name']['table'] = 'taxonomy_term_data';
$handler->display->display_options['fields']['name']['field'] = 'name';
$handler->display->display_options['fields']['name']['relationship'] = 'term_node_tid';
$handler->display->display_options['fields']['name']['label'] = '';
$handler->display->display_options['fields']['name']['exclude'] = TRUE;
$handler->display->display_options['fields']['name']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['name']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['name']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['name']['alter']['external'] = 0;
$handler->display->display_options['fields']['name']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['name']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['name']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['name']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['name']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['name']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['name']['alter']['trim'] = 0;
$handler->display->display_options['fields']['name']['alter']['html'] = 0;
$handler->display->display_options['fields']['name']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['name']['element_default_classes'] = 1;
$handler->display->display_options['fields']['name']['hide_empty'] = 1;
$handler->display->display_options['fields']['name']['empty_zero'] = 0;
$handler->display->display_options['fields']['name']['hide_alter_empty'] = 0;
$handler->display->display_options['fields']['name']['link_to_taxonomy'] = 0;
/* Field: Content: Type */
$handler->display->display_options['fields']['type']['id'] = 'type';
$handler->display->display_options['fields']['type']['table'] = 'node';
$handler->display->display_options['fields']['type']['field'] = 'type';
$handler->display->display_options['fields']['type']['label'] = '';
$handler->display->display_options['fields']['type']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['type']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['type']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['type']['alter']['external'] = 0;
$handler->display->display_options['fields']['type']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['type']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['type']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['type']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['type']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['type']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['type']['alter']['trim'] = 0;
$handler->display->display_options['fields']['type']['alter']['html'] = 0;
$handler->display->display_options['fields']['type']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['type']['element_default_classes'] = 1;
$handler->display->display_options['fields']['type']['hide_empty'] = 0;
$handler->display->display_options['fields']['type']['empty_zero'] = 0;
$handler->display->display_options['fields']['type']['hide_alter_empty'] = 0;
$handler->display->display_options['fields']['type']['link_to_node'] = 0;
$handler->display->display_options['fields']['type']['machine_name'] = 0;
/* Field: Content: Presenter */
$handler->display->display_options['fields']['field_presenter']['id'] = 'field_presenter';
$handler->display->display_options['fields']['field_presenter']['table'] = 'field_data_field_presenter';
$handler->display->display_options['fields']['field_presenter']['field'] = 'field_presenter';
$handler->display->display_options['fields']['field_presenter']['label'] = '';
$handler->display->display_options['fields']['field_presenter']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['field_presenter']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['field_presenter']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['field_presenter']['alter']['external'] = 0;
$handler->display->display_options['fields']['field_presenter']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['field_presenter']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['field_presenter']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['field_presenter']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['field_presenter']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['field_presenter']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['field_presenter']['alter']['trim'] = 0;
$handler->display->display_options['fields']['field_presenter']['alter']['html'] = 0;
$handler->display->display_options['fields']['field_presenter']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['field_presenter']['element_default_classes'] = 1;
$handler->display->display_options['fields']['field_presenter']['hide_empty'] = 0;
$handler->display->display_options['fields']['field_presenter']['empty_zero'] = 0;
$handler->display->display_options['fields']['field_presenter']['hide_alter_empty'] = 0;
$handler->display->display_options['fields']['field_presenter']['field_api_classes'] = 0;
$handler->display->display_options['defaults']['sorts'] = FALSE;
/* Sort criterion: Content: Class Date &amp; Time -  start date (field_event_date) */
$handler->display->display_options['sorts']['field_event_date_value']['id'] = 'field_event_date_value';
$handler->display->display_options['sorts']['field_event_date_value']['table'] = 'field_data_field_event_date';
$handler->display->display_options['sorts']['field_event_date_value']['field'] = 'field_event_date_value';
$handler->display->display_options['sorts']['field_event_date_value']['expose']['label'] = 'Start';
/* Sort criterion: Content: Class Date &amp; Time - end date (field_event_date:value2) */
$handler->display->display_options['sorts']['field_event_date_value2']['id'] = 'field_event_date_value2';
$handler->display->display_options['sorts']['field_event_date_value2']['table'] = 'field_data_field_event_date';
$handler->display->display_options['sorts']['field_event_date_value2']['field'] = 'field_event_date_value2';
$handler->display->display_options['sorts']['field_event_date_value2']['expose']['label'] = 'Class Date &amp; Time - end date (field_event_date:value2)';
$handler->display->display_options['allow']['use_pager'] = 'use_pager';
$handler->display->display_options['allow']['items_per_page'] = 'items_per_page';
$handler->display->display_options['allow']['offset'] = 'offset';
$handler->display->display_options['allow']['link_to_view'] = 'link_to_view';
$handler->display->display_options['allow']['more_link'] = 'more_link';
$handler->display->display_options['allow']['path_override'] = 'path_override';
$handler->display->display_options['allow']['title_override'] = 'title_override';
$handler->display->display_options['allow']['exposed_form'] = 'exposed_form';
$handler->display->display_options['allow']['fields_override'] = 'fields_override';
$translatables['somatics_events_all_list'] = array(
  t('Defaults'),
  t('Somatics Classes, Workshops, & Other Events'),
  t('More'),
  t('Apply'),
  t('Reset'),
  t('Sort by'),
  t('Asc'),
  t('Desc'),
  t('Items per page'),
  t('- All -'),
  t('Offset'),
  t('<p>This page lists all somatics events, both by Somatic Systems Institute and other Somatics practitioners and students.  <a href="/clinic/schedule">Click here to see a list of just classes offered by Somatic Systems Institute</a>.</p>

<!--form action="https://somatics.org/events"  accept-charset="UTF-8" method="get" id="views-filters">
<div><table>
 <thead><tr><th></th><th></th> </tr></thead>
<tbody>
 <tr class="odd"><td><div class="form-item" id="edit-op0-wrapper">
 <select name="op0" class="form-select" id="edit-op0" ><option value="OR" selected="selected">Is One Of</option><option value="NOR">Is None Of</option></select>
</div>
<div class="form-item" id="edit-filter0-wrapper">
 <select name="filter0[]" multiple="multiple"  class="form-select" id="edit-filter0"  size="8"><option value="**ALL**">&lt;All&gt;</option><option value="service_training">Training Event</option><option value="fee">Fee</option><option value="workshop">Workshop</option><option value="class">Weekly Class</option><option value="class_">Weekly Class (by member)</option><option value="event">Other Event</option><option value="training_class_module">Training Class Module</option><option value="workshop_">Workshop (by member)</option></select>
</div>
</td><td><input type="submit" id="edit-submit" value="Submit"  class="form-submit" />
</td> </tr>
</tbody>
</table>

</div--></form-->



<!--form action="https://somatics.org/events"  accept-charset="UTF-8" method="get" id="views-filters">
<div><table>
 <thead><tr><th></th><th></th> </tr></thead>
<tbody>
 <tr class="odd"><td><div class="form-item" id="edit-op0-wrapper">
 <select name="op0" class="form-select" id="edit-op0" ><option value="OR" selected="selected">Is One Of</option><option value="NOR">Is None Of</option></select>
</div>
<div class="form-item" id="edit-filter0-wrapper">
 <select name="filter0[]" multiple="multiple"  class="form-select" id="edit-filter0"  size="8"><option value="**ALL**">&lt;All&gt;</option><option value="service_training">Training Event</option><option value="fee">Fee</option><option value="workshop">Workshop</option><option value="class">Weekly Class</option><option value="class_">Weekly Class (by member)</option><option value="event">Other Event</option><option value="training_class_module">Training Class Module</option><option value="workshop_">Workshop (by member)</option></select>
</div>
</td><td><input type="submit" id="edit-submit" value="Submit"  class="form-submit" />
</td> </tr>
</tbody>
</table>

</div></form-->
'),
  t('There are no events listed here that match your search criteria.  Please change your search choices and try again.'),
  t('term'),
  t('Title:'),
  t('City:'),
  t('events/all/all/[city]'),
  t('State:'),
  t('events/all/[province]'),
  t('Postal Code'),
  t('Type:'),
  t('Event Type'),
  t('Presenter'),
  t('Time'),
  t('Start'),
  t('Class Date &amp; Time - end date (field_event_date:value2)'),
  t('All'),
  t('Somatics Events in %2'),
  t('Somatics Events in %3'),
  t('Filter by Event Type'),
  t('Page'),
  t('more'),
  t('Content Pane'),
  t('HTML list of all members Events for the group Community portal pages.'),
  t('Classes, workshops & more from SSI and the entire Somatics community.'),
  t('There are no current or upcoming events in our calendar taught by this person. <a href="/events" title="click here to browse and search for events taught by other practitioners">Click here to browse the full calendar of Somatics events.</a>'),
  t('View panes'),
);

merlinofchaos’s picture

Status: Active » Fixed

It's the taxonomy relationship. Once you add that relationship on a taxonomy with multiple terms per node, you're going to get duplicates pretty much no matter what you do. We do what we can to mitigate it, but ultimately we won't be able to.

somatics’s picture

Thanks for the quick reply! So, that's it, huh? It's amazing there really has been no definitive cure found. It really shatters the fantasy that we have control over all this code we write.

Any chance you know why the three steps I tried don't work to correct this view but do work on other views?

I'd like to use that info to at least try to re-vamp this view in a different way with different filtering mechanisms -- it's a master list of events at this site, and it will mean the difference between hundreds of listings of the same nodes, effectively rendering this implementation of the view useless for any audience I can't outfit with special glasses!

merlinofchaos’s picture

Much like Scotty can't change the laws of physics, I can't change the effects of SQL.

You can sometimes do something like this with the represenative relationship or views_field_view -- both of which ultimately embed queries within queries.

Dennis82’s picture

looks like the same problem -> http://drupal.org/node/1421650

Dennis82’s picture

Status: Fixed » Needs work
merlinofchaos’s picture

Status: Needs work » Closed (won't fix)

I really hate being ignored.

merlinofchaos’s picture

Dennis82: Also PLEASE read the meaning of the status values before changing them. You are not helping in any way.

Dennis82’s picture

Dennis82’s picture

Status: Closed (won't fix) » Fixed

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

couturier’s picture

Wow, so this is interesting. If I have a taxonomy vocabulary where I have set it to allow multiple terms per node, then merlinofchaos is saying I am going to get duplicates no matter what I do? Even if I've selected "is one of" or "is all of" and a single term within that vocabulary?

katrien_w’s picture

Issue summary: View changes

If I set the aggregation function on the term cck field to MIN, the duplicates are gone.
I guess it's ok to do because I'm sure there will always be just one value in the term reference field.

mukun’s picture

Edit your view and go in Advance section of that View. Then enabling Use aggregation: "Yes" and then in Fields or Filter criteria make aggregation setting "Group Result Together" or "distinct.". Then only Unique value will display.

Note: If you are on Content view, Use aggregation only if you don't want sort the result of view.

SpiesInOrbit’s picture

In case anyone else is having this issue. Aggregation didn't help, it rendered no results. Our issue was related to the multi-value fields.

I figured out which field had multiple values (the number of dupes matched the number of entries for that field). I then adjusted the "Multiple field settings" for that "Field" and changed it to display all in 1 row, I also set the result to display only the first entry. The first entry setting worked for our view, since we were only looking for whether the field was set or not (It may not be necessary if you want to see all the values in that field).

ecfukuda’s picture

I am having this issue too after updating the module to latest version...