Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
jmcandido
New Contributor III

Distinct

Bom Dia pessoa, tenho uma situação em que no conjunto de dados existe um campo de data e para facilitar a filtragem de períodos formatei o campo de data em um Painel de Filtro da seguinte forma date(Campo, 'MM/YYYY') dessa forma eu tenho a informação por mês e ano, exemplo: 01/2015, 02/2015 e assim por diante.

Porém como os registros são por diários acaba repetindo o mesmo registro para cada dia existente no conjunto de dados, exemplo:

01/2015

01/2015

01/2015

01/2015

01/2015

02/2015

02/2015

02/2015

E assim por diante.

A pergunta é, como faço para que só apareça uma vez registro?

Existe uma forma melhor de fazer esse filtro do que essa que estou tentando utilizar?

Desde ja agradeço.

Tags (1)
1 Solution

Accepted Solutions
MVP
MVP

Re: Distinct

in listbox use expression

=date(monthstart(Campo), 'MM/YYYY')

6 Replies

Re: Distinct

I usually create this information during the loading into the script:

Load

...

Year(Field)*100+Month(Field) as YearMonth

...

Resident

....

In this way you have your information only once in the filter

MVP
MVP

Re: Distinct

in listbox use expression

=date(monthstart(Campo), 'MM/YYYY')

Re: Distinct

João, isso acontece porque você apenas formatou o campo com a função Date. Lembre-se que Date é uma função Dual, ou seja, você exibe de uma forma, mas seu valor pode ser outro.

Por usar somente Date, o seu verdadeiro número continua com os valores de Dias, Horas, Minutos e Segundos. Esta é a razão de mostrar várias vezes o mesmo valor.

O correto neste caso é você utilizar as funções Month, Year, MonthStart.

No seu exemplo, você poderia fazer da seguinte forma:

Date(MonthStart(Campo_Data), 'MM/YYYY') as MESANO

MVP
MVP

Re: Distinct

João, boa tarde.

Nao esquecer que o date() formata a data (a forma como sera apresentado).

Se voce colocar este campo na tela como campo de lista e em numeros colocar para apresentar como numerico, vais ver que possivilmente tera varios numeros, que representam varias datas

2015-07-22 12_45_23-QlikView x64 - [C__Furtado_Qlik_QlikView_Demos_Community_datas.qvw_].png

então eu faria na carga

year(Data) & num(month(Data),'00')  as Periodo

MVP
MVP

Re: Distinct

Segue um post do hic

The Date Function

fernando_tonial
Valued Contributor

Re: Distinct

Olá João,

Esse problema é típico quando estamos trabalhando com campo do tipo Timestamp.

Recomendo a utilização da função Floor().

Date(Floor(Campo), 'MM/YYYY') As [Mês Ano]


Don't worry, be Qlik.

Tonial.