Pular para o conteúdo principal

RowCount

Descrição

A função RowCount retorna o número de linhas contidas em um rowset ou array. É uma das funções mais usadas no dia a dia de AMPscript, já que quase sempre você precisa saber quantos registros uma consulta retornou antes de iterar sobre eles ou decidir o que exibir. Na prática, você vai usar essa função junto com LookupRows, LookupOrderedRows e outras funções que retornam rowsets para controlar a lógica dos seus e-mails e CloudPages.

Sintaxe

RowCount(@rowset)

Parâmetros

ParâmetroTipoObrigatórioDescrição
rowsetStringSimO rowset ou array para o qual você quer saber o número de linhas.

Exemplo básico

Consultando uma Data Extension de CEPs e contando quantas linhas existem para a cidade de São Paulo:

%%[

SET @linhas = LookupRows("CodigosPostais", "Cidade", "São Paulo")
SET @totalLinhas = RowCount(@linhas)

]%%

Encontramos %%=v(@totalLinhas)=%% CEPs cadastrados para São Paulo.

Saída:

Encontramos 47 CEPs cadastrados para São Paulo.

Exemplo avançado

Verificando se um cliente da MegaStore possui pedidos recentes antes de exibir o histórico de compras no e-mail de régua de relacionamento:

%%[

SET @emailCliente = AttributeValue("EmailAddress")
SET @pedidos = LookupRows("Pedidos", "Email", @emailCliente)
SET @totalPedidos = RowCount(@pedidos)

IF @totalPedidos > 0 THEN

SET @ultimoPedido = Row(@pedidos, 1)
SET @numeroPedido = Field(@ultimoPedido, "NumeroPedido")
SET @valorPedido = Field(@ultimoPedido, "Valor")

]%%

Olá! Você tem %%=v(@totalPedidos)=%% pedido(s) na MegaStore.

Seu pedido mais recente: #%%=v(@numeroPedido)=%%
Valor: R$ %%=FormatNumber(@valorPedido, "N", 2)=%%

%%[ ELSE ]%%

Olá! Você ainda não tem pedidos na MegaStore. Que tal conhecer nossas ofertas?

%%[ ENDIF ]%%

Saída:

Olá! Você tem 3 pedido(s) na MegaStore.

Seu pedido mais recente: #98210
Valor: R$ 1.299,90

Observações

⚠️ Atenção: Sempre verifique o resultado de RowCount antes de tentar acessar linhas com Row e Field. Se o rowset estiver vazio e você tentar acessar uma linha diretamente, vai gerar erro no processamento do e-mail.

💡 Dica: O padrão mais comum em AMPscript é o combo LookupRowsRowCountIF → loop com Row e Field. Esse fluxo aparece em praticamente todo e-mail que precisa buscar dados dinâmicos de uma Data Extension. Domine esse padrão e você resolve a maioria dos cenários.

Funções relacionadas

  • LookupRows - busca linhas em uma Data Extension (retorna o rowset que você passa para RowCount)
  • LookupOrderedRows - busca linhas ordenadas em uma Data Extension
  • Row - acessa uma linha específica dentro do rowset
  • Field - extrai o valor de uma coluna de uma linha
  • DataExtensionRowCount - retorna o total de linhas de uma Data Extension inteira (sem filtro)
  • BuildRowsetFromString - cria um rowset a partir de uma string delimitada