Ir para conteúdo
  • 0

Calculo linha por linha ao criar nova coluna


Denis Bruno
Ir para solução Solucionado por Bruno Abdalla de Souza ,

Pergunta

  • Alunos

Boa tarde, estou com o seguinte problema:IMG_20230111_142340.jpg.43955c36de8ce2c33b08fce6863eb2db.jpg

Tenho uma tabela de vendas com CPF do cliente, título, parcela, data emissão, vencimento, mês emissão, ano, data18mesesanterior e estou tentando gerar o seguinte. A partir da data da emissão da linha ele deve procurar na tabela se esse cliente comprou nos últimos 18 meses, ele precisa fazer isso para todas as vendas, na imagem do post tem 2 vendas de um mesmo cliente onde que a primeira deveria retornar "não", pq não tem vendas antes e na venda do dia 15/08 deveria retornar sim, pq tem a venda do dia 1.

Editado por Denis Bruno
Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 1
  • Alunos
  • Solução

Veja se resolve.

compra18meses = VAR vCPFCNPJ = base_cliente[nu_cpf_cnpj]
VAR vDataEmissao = base_cliente[dt_emissao]
VAR vDataAnterior = EDATE(vDataEmissao, -18)
VAR vFiltro = 
	FILTER(
		ALL(base_cliente),
		base_cliente[nu_cpf_cnpj] = vCPFCNPJ && 
		base_cliente[dt_emissao] < vDataEmissao &&
		base_cliente[dt_emissao] >= vDataAnterior
	)
VAR vLinhasTabela = 
	COUNTROWS(vFiltro)
VAR vResultado = 
	IF(
		vLinhasTabela > 0,
		"Sim",
		"Não"
	)
RETURN
	vResultado

 

20230112_exemplo.pbix

Link para o comentário
Compartilhar em outros sites

  • 1
  • Alunos
Coluna = 
VAR vCPFCNPJ = base_cliente[nu_cpf_cnpj]
VAR vDataEmissao = base_cliente[dt_emissao]
VAR vDataAnterior = EDATE(vDataEmissao, -18)
VAR vFiltro = 
	FILTER(
		ALL(base_cliente),
		base_cliente[nu_cpf_cnpj] = vCPFCNPJ && 
		base_cliente[dt_emissao] <= vDataEmissao &&
		base_cliente[data_compra_anterior] >= vDataAnterior
	)
VAR vLinhasTabela = 
	COUNTROWS(vFiltro)
VAR vResultado = 
	IF(
		vLinhasTabela > 0,
		"Sim",
		"Não"
	)
RETURN
	vResultado

 

Link para o comentário
Compartilhar em outros sites

  • 1
  • Alunos
Coluna = 
VAR vCPFCNPJ = base_cliente[nu_cpf_cnpj]
VAR vDataEmissao = base_cliente[dt_emissao]
VAR vDataAnterior = EDATE(vDataEmissao, -18)
VAR vFiltro = 
	FILTER(
		ALL(base_cliente),
		base_cliente[nu_cpf_cnpj] = vCPFCNPJ && 
		base_cliente[data_compra_anterior] <= vDataEmissao &&
		base_cliente[data_compra_anterior] >= vDataAnterior
	)
VAR vLinhasTabela = 
	COUNTROWS(vFiltro)
VAR vResultado = 
	IF(
		vLinhasTabela > 0,
		"Sim",
		"Não"
	)
RETURN
	vResultado

Tente isso. Se não der, sugiro anexar um exemplo pbix que represente seu problema para facilitar.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
15 horas atrás, Bruno Abdalla de Souza disse:
Coluna = 
VAR vCPFCNPJ = base_cliente[nu_cpf_cnpj]
VAR vDataEmissao = base_cliente[dt_emissao]
VAR vDataAnterior = EDATE(vDataEmissao, -18)
VAR vFiltro = 
	FILTER(
		ALL(base_cliente),
		base_cliente[nu_cpf_cnpj] = vCPFCNPJ && 
		base_cliente[dt_emissao] <= vDataEmissao &&
		base_cliente[data_compra_anterior] >= vDataAnterior
	)
VAR vLinhasTabela = 
	COUNTROWS(vFiltro)
VAR vResultado = 
	IF(
		vLinhasTabela > 0,
		"Sim",
		"Não"
	)
RETURN
	vResultado

 

Ainda retornou apenas não, tentei exibir somente esse countrows para ver se retornava algo, estava retornando só vazio.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
1 hora atrás, Bruno Abdalla de Souza disse:
Coluna = 
VAR vCPFCNPJ = base_cliente[nu_cpf_cnpj]
VAR vDataEmissao = base_cliente[dt_emissao]
VAR vDataAnterior = EDATE(vDataEmissao, -18)
VAR vFiltro = 
	FILTER(
		ALL(base_cliente),
		base_cliente[nu_cpf_cnpj] = vCPFCNPJ && 
		base_cliente[data_compra_anterior] <= vDataEmissao &&
		base_cliente[data_compra_anterior] >= vDataAnterior
	)
VAR vLinhasTabela = 
	COUNTROWS(vFiltro)
VAR vResultado = 
	IF(
		vLinhasTabela > 0,
		"Sim",
		"Não"
	)
RETURN
	vResultado

Tente isso. Se não der, sugiro anexar um exemplo pbix que represente seu problema para facilitar.

Ainda não foi, vou enexar um exemplo aqui.

So uma coisa que acho que não expliquei direito, essa coluna "data_compra_anterior" do relatorio seria ja a data de emissao - 18 meses de cada linha que coloquei pra tentar facilitar alguma coisa.

 

exemplo.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
1 hora atrás, Bruno Abdalla de Souza disse:

Veja se resolve.

compra18meses = VAR vCPFCNPJ = base_cliente[nu_cpf_cnpj]
VAR vDataEmissao = base_cliente[dt_emissao]
VAR vDataAnterior = EDATE(vDataEmissao, -18)
VAR vFiltro = 
	FILTER(
		ALL(base_cliente),
		base_cliente[nu_cpf_cnpj] = vCPFCNPJ && 
		base_cliente[dt_emissao] < vDataEmissao &&
		base_cliente[dt_emissao] >= vDataAnterior
	)
VAR vLinhasTabela = 
	COUNTROWS(vFiltro)
VAR vResultado = 
	IF(
		vLinhasTabela > 0,
		"Sim",
		"Não"
	)
RETURN
	vResultado

 

20230112_exemplo.pbix 63.27 kB · 0 downloads

Agora foi, muito obrigado!!!!

Link para o comentário
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
×
×
  • Criar Novo...