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)?

hpn
fonte
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.

kalabro
fonte
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.

therobyouknow
fonte
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!

Jeremy
fonte