Contar resultados em Views usando agregação [fechada]


30

É possível contar resultados (por exemplo, contar os nós do tipo de conteúdo x) em uma exibição, usando agregação (não programaticamente)?


3
Claro, basta usar a agregação e, em seguida, selecione "contar" para o seu campo "id do nó".
— Uwe

1
Há uma sessão de perguntas e respostas idêntica em drupal.stackexchange.com/questions/15871/count-of-nodes-by-type , incluindo uma exportação de exibição pronta para uso.
— marcvangend

Respostas:


42

Sim, é possível no Views 3 pronto para uso.
A ideia é a mesma das agregações SQL. Vamos ver um exemplo:

  1. Edite sua visualização e ative as agregações de Visualizações:
    ativar agregações de visualizações

  2. Remova os critérios de classificação padrão.

  3. Adicione os campos "Conteúdo: Tipo" e "Conteúdo: Nid": insira a descrição da imagem aqui
    selecione a função COUNT para Conteúdo: Nid: insira a descrição da imagem aqui

Para ver o que acontece, ative a caixa de seleção "Mostrar a consulta SQL" na página de configurações globais do Views.

SELECT node.type AS node_type, COUNT(node.nid) AS nid
FROM 
{node} node
WHERE (( (node.status = '1') ))
GROUP BY node_type
LIMIT 10 OFFSET 0

Portanto, estamos agrupando nós por node_type e calculando a contagem para esses grupos.


1
Fiquei preso por algumas horas e, depois de ler sua postagem, percebi que havia uma classificação padrão lá. Obrigado @kalabro
— saadlulu

2
Então, como a contagem é disponibilizada - é uma variável de token e como pode ser exibida?
— Therobyouknow

Sua resposta está, é claro, correta. No entanto, fiquei parado ao usar Relacionamentos com referências e agregação de entidades. Funciona bem se você criar um bloco, mas não se criar uma página. Coisa estranha.
— Urb Gim Tam

10

Ótimas respostas aqui, embora sua pergunta original não indique o que você fará com o valor da contagem. Presumivelmente você deseja exibi-lo?

Nesse caso, aqui está outra solução:

Supondo que sua visualização já esteja configurada para filtrar por itens do tipo de conteúdo, você também pode adicionar um cabeçalho à visualização e escolher a opção "Global: resumo de resultados" e usar as variáveis ​​de token fornecidas na área de texto.


Para esclarecer, isso estende a excelente solução fornecida pela kalabro, para exibir uma contagem.
— Therobyouknow 19/0318

-2

Apenas no caso de alguém se deparar com isso.

Eu usei o SQL de formato de data de exibições para formatar a data para a granularidade.

O módulo Views Data Format SQL permite formatar campos de data usando SQL. Isso permite a agregação de grupos para campos de data usando a granularidade escolhida.

A principal funcionalidade é remover a formatação da data de render () e colocá-la em query (). Ou seja, formate valores de data usando DATE_FORMAT do SQL em vez de format_date do PHP.

Isso é obtido atribuindo um novo manipulador padrão aos campos de data do nó 'criado' e 'alterado'. Esse manipulador estende e substitui a compilação de visualizações em views_handler_field_date.

Trabalhou imediatamente - fácil como!

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.