首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >视图表聚合,其中包含字段的每个值计数

视图表聚合,其中包含字段的每个值计数
EN

Drupal用户
提问于 2013-07-24 15:00:32
回答 3查看 4.8K关注 0票数 2

一个人可以记录多个案例:案例1,案例2,案例3

一个案例可以有多个状态:新的,活动的,解决的

使用视图表,我希望生成一个视图,其中每个人都有一行,我可以看到每个人都有多少个新的、活动的和已解决的案例:

代码语言:javascript
复制
Person   | States 
Person 1 | New(1), Active(3), Resolved (13) 
Person 2 | New(5), Active(3), Resolved (1)

或者类似的东西:

代码语言:javascript
复制
Person   | New | Active | Resolved
Person 1 | 1   | 3      | 13
Person 2 | 5   | 3      | 1

通过正常的聚合,我所能实现的只有:

代码语言:javascript
复制
Person   | Cases
Person 1 | 17
Person 2 | 9

我肯定遗漏了什么吗?

EN

回答 3

Drupal用户

回答已采纳

发布于 2013-08-08 14:21:39

视图_合并_行模块将节省您的时间!假设State字段是list字段。

1)在具有表显示的启用聚合的视图中,添加一个用户:Name (Group一起),一个States字段(计数,排除在显示之外),然后再添加一个State字段(Group,Re写结果>重写该字段的输出:[field_states] ([field_states_1]))。

因此,您将得到一个具有状态但每个节点只有一行的用户列表。这是一个截图:

2)然后启用views_merge_rows模块。在合并行设置中,可以这样做:

所以你得到了你想要的!

票数 5
EN

Drupal用户

发布于 2013-08-07 09:05:08

您可以通过使用视场视图模块来实现这一点。更具体地说

  1. 安装并启用上述模块。
  2. 为每个状态创建三个不同的视图(用户视图)一个(例如new_state_view、active_state_view和resolved_state_view)。
  3. 在每个视图中,首先删除任何默认的排序条件(并且不要在该部分中添加任何内容)。然后使用聚合来计算每个用户的状态。不要忘记在每个视图中使用"user:uid“上下文过滤器,并对每个状态进行适当的筛选。每个视图将为每个用户提供状态数。
  4. 创建另一个用户视图,添加" user :uid“作为字段,并从显示中排除。然后添加一个“用户名”字段,最后添加三个连续的全局视图字段。注意:在全局视图字段之前保留"user:uid“字段非常重要。
  5. 在每个全局视图字段的设置中,选择相应的_state_view并显示该视图(主显示很好)。最后但并非最不重要的是,在这些设置的“上下文过滤器”字段中使用!uid令牌(来自替换模式:!uid == User: Uid (raw))。

在上面的内容之后,您将看到一个视图,显示一个用户名表,并在它们旁边显示每个状态的计数。您可以根据需要对全局视图字段(内部视图)进行主题化,以您喜欢的方式呈现它们。

票数 1
EN

Drupal用户

发布于 2013-08-05 14:51:35

您可以使用https://drupal.org/project/views_php将三个自定义PHP字段添加到视图中,每种情况下一个。在每个字段的代码中,您将加载相应案例的数量。

票数 0
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/80239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档