Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
jmcandido
Contributor III
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.

Labels (3)
1 Solution

Accepted Solutions
maxgro
MVP
MVP

in listbox use expression

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

View solution in original post

6 Replies
alexandros17
Partner - Champion III
Partner - Champion III

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

maxgro
MVP
MVP

in listbox use expression

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

nicolett_yuri

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

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

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

furtado@farolbi.com.br
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Segue um post do hic

The Date Function

furtado@farolbi.com.br
fernando_tonial
Partner - Specialist
Partner - Specialist

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.

Don't Worry, be Qlik.