weekname – função de script e gráfico
Esta função retorna um valor que mostra o número do ano e da semana com um valor numérico subjacente que corresponde a um carimbo de hora do primeiro milissegundo do primeiro dia da semana que contém a date.
Sintaxe:
WeekName(date [, period_no = 0 [, first_week_day=0]])
Tipo de dados de retorno: dual
Argumentos:
Argumento | Descrição |
---|---|
date | A data para avaliar. |
period_no | shift é um inteiro, em que o valor 0 indica a semana que contém a date. Valores negativos em turno indicam semanas anteriores e valores positivos indicam semanas posteriores. |
first_week_day |
Se você não especificar first_week_day, o valor da variável FirstWeekDay será usado como o primeiro dia da semana. Se desejar usar outro dia como o primeiro dia da semana, defina first_week_day como:
Agora, o número inteiro retornado pela função será utilizará o primeiro dia da semana que você definir com o first_week_day como base (0). |
Exemplo 1:
weekname('12/01/2013')
Retorna 2013/02.
Exemplo 2:
weekname('12/01/2013', -1)
Retorna 2013/01.
Exemplo 3:
weekname('12/01/2013', 0, 1)
Retorna '2013/02.
Exemplo 4:
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.
Neste exemplo, para cada data da fatura na tabela, o nome da semana é criado a partir do ano em que cai a semana e seu número da semana associado, deslocado uma semana ao especificar period_no como 1.
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
];
InvoiceData:
LOAD *,
WeekName(InvDate, 1) AS WkName
Resident TempTable;
Drop table TempTable;
A tabela resultante contém as datas originais e uma coluna com o valor de retorno da função weekname(). É possível exibir toda a data/hora ao especificar a formatação nas propriedades do gráfico.
InvDate | WkName |
---|---|
28/03/2012 | 2012/14 |
10/12/2012 | 2012/51 |
5/2/2013 | 2013/07 |
31/3/2013 | 2013/14 |
19/5/2013 | 2013/21 |
15/9/2013 | 2013/38 |
11/12/2013 | 2013/51 |
2/3/2014 | 2014/10 |
14/5/2014 | 2014/21 |
13/6/2014 | 2014/25 |
7/7/2014 | 2014/29 |
4/8/2014 | 2014/33 |