Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Cluster dinâmico

Boa tarde pessoal,

Estou com a seguinte duvida:

Suponhamos que tenho apenas 3 campos, o ID do cliente, o id de compra e o valor de cada compra.

Eu preciso quebrar esta lista de clientes em clusters, mas de forma dinâmica, através de uma variável por exemplo. E saber o ticket médio de cada cluster.

Eu consigo "informar" a qual cluster cada cliente pertence através dessa expressão com as variáveis "Grupo":

if(sum(Aggr(Count(DISTINCT idcompra),idcliente)) <= vGrupo1, 'Grupo 1',

if(sum(Aggr(Count(DISTINCT idcompra),idcliente)) <= vGrupo2 and sum(Aggr(Count(DISTINCT idcompra),idcliente)) > vGrupo1, 'Grupo 2',

if(sum(Aggr(Count(DISTINCT idcompra),idcliente)) <= vGrupo3 and sum(Aggr(Count(DISTINCT idcompra),idcliente)) > vGrupo2, 'Grupo 3',

if(sum(Aggr(Count(DISTINCT idcompra),idcliente)) > vGrupo3, 'Grupo 4'

))))

Mas a partir daí, eu então consegui resolver o problema de encontrar o ATP de cada cluster.

Podem me ajudar?

Labels (1)
4 Replies
nicolett_yuri

Daniel, não consegui entender o que precisa.

Por favor, encaminhe um qvw para entendermos melhor a sua necessidade

Not applicable
Author

Não posso disponibilizar esse arquivo, preciso parar um tempo e montar um fictício para isso, coisa que hoje não vou conseguir

Mas vou tentar explicar melhor com um exemplo.

Tenho 6 clientes.

Nome | Numero de Compras | Ticket médio de compra

Ana      | 8 |      400,00

Victor   | 14 |     320,00

Alex     | 21 |     380,00

Clara    | 5  |     420,00

Pedro   | 28 |     320,00

Yuri      |18  |     350,00

No meu manco e dados eu tenho a linha de cada compra com o valor, normalmente.

Eu preciso quebrar esses clientes em cluster com base no numero de compras, por exemplo: Os que compraram menos de 10x, entre 10 e 20, e mais de 20x. E então calcular o ticket médio de compra de cada cluster.

Só que essa definição de cluster têm de ser dinâmica ou seja, poder colocar < 15x , >15x por exemplo.

Com a expressão que eu colei lá em cima, eu consegui nomear em qual cluster cada cliente vai cair de acordo com os parâmetros das variáveis. Mas não sei como montar uma expressão ou um set analysis que permita eu chegar no valor médio de cada.

nicolett_yuri

Bom, se entendi direito é só você usar a função class().

Essa função deve ser adicionada na dimensão do gráfico (dimensão calculada) e você pode colocar o parâmetro "intervalo" com uma variável que o usuário vai escolher.

Outra possibilidade é criar essas classes em um campo em seu script.




Abaixo o descritivo da função:

class(expressão, intervalo [ , rótulo [ , deslocamento ]])

Cria uma classificação de expressões. O comprimento da caixa é determinado pelo número definido como intervalo. O resultado é mostrado como a<=x<b, em que a e b são os limites superior e inferior da caixa. O x pode ser substituído por um caracter arbitrário definido em rótulo. 0 normalmente é o ponto de partida padrão da classificação. Isso pode ser alterado incluindo um deslocamento.

Exemplos:

class( var,10 ) com var = 23 retorna '20<=x<30'

class( var,5,'value' ) com var = 23 retorna '20<= value <25'

class( var,10,'x',5 ) com var = 23 retorna '15<=x<25'

Clever_Anjos
Employee
Employee

Já conseguiu a resposta? Se sim, escolha uma e marque como "Correta" para fechar o tópico e nos ajudar a manter a comunidade organizada