Ir para conteúdo principal

inyear – função de script e gráfico

Essa função retornará True se timestamp estiver dentro do ano que contém base_date.

Sintaxe:  

InYear (timestamp, base_date, period_no [, first_month_of_year])

Tipo de dados de retorno: Booleano

Argumentos:  

Argumentos InYear
Argumento Descrição
timestamp A data que você deseja comparar com base_date.
base_date Data que é usada para avaliar o ano.
period_no O ano pode ser deslocado por period_no. period_no é um inteiro, em que o valor 0 indica o ano que contém base_date. Valores negativos em period_no indicam anos precedentes e valores positivos indicam anos sucessivos.
first_month_of_year Se desejar trabalhar com anos (fiscais) que não comecem em janeiro, indique um valor entre 2 e 12 em first_month_of_year.

Exemplos e resultados:  

Esses exemplos usam o formato de data DD/MM/YYYY. O formato de data é especificado no comando SET DateFormat na parte superior do seu script de carregamento. Altere o formato nos exemplos para atender às suas necessidades.

Exemplo 1:  

inyear ('25/01/2013', '01/01/2013', 0 )

Retorna True

Exemplo 2:  

inyear ('25/01/2012', '01/01/2013', 0)

Retorna False

Exemplo 3:  

inyear ('25/01/2013', '01/01/2013', -1)

Retorna False

Exemplo 4:  

inyear ('25/01/2012', '01/01/2013', -1 )

Retorna True

Exemplo 5:  

inyear ('25/01/2013', '01/01/2013', 0, 3)

Retorna True

Exemplo 6:  

inyear ('25/03/2013', '01/07/2013', 0, 3 )

Retorna False. Os valores de base_date e first_month_of_year especificam que timestamp deve estar entre 01/03/2012 e 28/02/2013

Exemplo 7:  

Adicione o script de exemplo ao seu documento e execute-o. Em seguida, adicione pelo menos os campos listados na coluna de resultados a um documento para ver o resultado.

Este exemplo confere se uma data da fatura está dentro do ano fiscal especificado, ao definir o valor de first_month_of_year para 4 e com o base_date entre 1/4/2012 e 31/03/2013.

TempTable:

LOAD RecNo() as InvID, * Inline [

InvDate

28/03/2012

10/12/2012

5/2/2013

31/3/2013

19/5/2013

15/9/2013

11/12/2013

2/3/2014

14/5/2014

13/6/2014

7/7/2014

4/8/2014

];

 

Teste se InvDate está no ano fiscal de 1/04/2012 a 31/03/2013:

InvoiceData:

LOAD *,

InYear(InvDate, '31/01/2013', 0, 4) AS FinYr1213

Resident TempTable;

Drop table TempTable;

A tabela resultante contém as datas originais e uma coluna com o valor de retorno da função inyear().

Resultados do exemplo 7
InvDate FinYr1213
28/03/2012 0 (False)
10/12/2012 -1 (True)
5/2/2013 -1 (True)
31/3/2013 -1 (True)
19/5/2013 0 (False)
15/9/2013 0 (False)
11/12/2013 0 (False)
2/3/2014 0 (False)
14/5/2014 0 (False)
13/6/2014 0 (False)
7/7/2014 0 (False)
4/8/2014 0 (False)

Esta página ajudou?

Se você encontrar algum problema com esta página ou seu conteúdo - um erro de digitação, uma etapa ausente ou um erro técnico - informe-nos como podemos melhorar!

Participe do Programa de Modernização do Analytics

Remove banner from view

Modernize sem comprometer seus valiosos aplicativos QlikView com o Programa de Modernização do Analytics. Clique aqui para mais informações ou entre em contato: ampquestions@qlik.com