Load sobre o load é um recurso muito útil para criar campos que dependem um alguma transformação. No exemplo abaixo demonstramos a criação de uma tabela de calendário com base em um uma data inicial e o dia final do mês atual, essas data são alimentadas em variáveis.
Definindo valores as Variáveis.
LET vMesInicial = Date('01/01/2006');
LET vMesFinal = Date(MonthEnd(Today()));
Criação da tabela Calendário utilizando o comando Autogenerate(), onde a quantidades de linhas é a diferença entre as variáveis criadas anteriormente.
CALENDARIO:
LOAD
[Data] as Data,
Day(Data) as Dia,
Month(Data) as Mês,
Year(Data) as Ano,
DayNumberOfQuarter(Data) as [Dia Trimestre],
DayNumberOfYear(Data) as [Dia Ano],
MonthName(Data) as [Mes Ano],
QuarterName(Data) as [Quarter],
Week(Data) as [Semana],
ceil(Month(Data)/3)&'º Trim' as [Trimestre],
WeekDay(Data) as [Dia Semana];
LOAD
Date(MonthEnd(Today())- Recno()+1,'DD/MM/YYYY') as [Data]
AUTOGENERATE(vMesFinal-vMesInicial+1);
Muito bom o seu site, estou a procura de tutoriais para utilização do QlikView desde o load de dados, construção de dashboards. Você poderia publicar um mini curso para iniciantes, seria um trabalho bem interessante.
ResponderExcluirOlá,
ExcluirExite o tutorial da própria QlikTech que mostra tudo isso.
Abraços
Tonial.
Boa tarde!!!
ResponderExcluirEstou com uma dúvida e não consegui resolver:
Eu consigo utilizar um load sobre load e formatar um campo como abaixo:
9999.9999.9999.1234
****.****.****.1234
O campo é o número de um cartão de crédito e devem aparecer somente os último 4 carasteres numa tabela.
Att.
Rebeca
Olá Rebeca,
ExcluirAcredito que vc possa fazer a concatenação do texto '****.****.****.' com o últimos 4 dígitos do cartão fazendo assim:
Dados:
LOAD
'****.****.****.'&Right(NroCartao,4) as NroCartaoOculto;
LOAD * INLINE [
NroCartao
9999.9999.9999.1234
];
Abraços
Tonial
como criar um calendario maestro em um banco de dados formato sql, que publicou tentei usar e não funcionou, devo criar as tabelas pafa cada um deles no excel e depois conclui a carga de dados, podem me ajuda urgente. muito obrigado amigos
ResponderExcluirpreciso de ajuda, trabalho em uma banco de dados, consegui vincular o calendário aos demais campos, porém ao chamar a dimensão trimestre, do ano de 2013, não não vem nada, os campos de datas foram criados com a hora do lado tentei trazer para o execel e modifica-los para que fiquem igual aos campos que já existia não deu certo, alguém pode me ajuda
ResponderExcluirInternautas me ajudem, como criar um calendário mestre em um banco de dados já existente????, tentei usar o o que o Fernando indicou, sem sucesso, os campos no banco de dados foram criados em sql, como posso fazer para unir estes campos, e ao chamar o campo trimestre trazer o que preciso, neste banco de dados possui apenas pagamentos , os campos datas são: data pagamento, mês pagamento, ano pagamento, como fazer para vincular estes campos ao calendario e quais as expressões que devo usar para chamar o trimestre por exemplo,por favor FERNANDO, alguém que saiba muito de qlikview me ajudem,preciso desta informação ainda no mês de Novembro para o trabalho que estrou desenvolvendo na empresa que trabalho, por favor me ajudem
ResponderExcluirOlá Luciana, o problema que esta ocorrendo é devido ao campo de seu banco de dados vir com a hora junto, para solucionar o problema você pode utilizar a função floor() do QlikView para pegar apenas o valor inteiro da data. Outra solução é voce fazer a leitura dos dados de sua tabela de forma resident e depois criar os campos do calendario que você necessita.
ResponderExcluirEx.
CALENDARIO:
LOAD
[Data] as Data,
Day(Data) as Dia,
Month(Data) as Mês,
Year(Data) as Ano,
DayNumberOfQuarter(Data) as [Dia Trimestre],
DayNumberOfYear(Data) as [Dia Ano],
MonthName(Data) as [Mes Ano],
QuarterName(Data) as [Quarter],
Week(Data) as [Semana],
ceil(Month(Data)/3)&'º Trim' as [Trimestre],
WeekDay(Data) as [Dia Semana]
Resident SuaTabela;
Fernando, poderia me ajuda, os meses no foram criados em formato numerico, ao puxar os meses ao ínves devir jan/fev/março/abril etc..., vem 1/2/3/4, pode me ajudar a transforma os meses em formato numericos em formatos de jan,fev,março,abril.
ResponderExcluirFERNANDO, ao ínves de utilizar o camando LOAD
ResponderExcluirDate(MonthEnd(Today())- Recno()+1,'DD/MM/YYYY') as [Data]
AUTOGENERATE(vMesFinal-vMesInicial+1); utilizarei Resident SuaTabela;- assim o calendario será vinculado automaticamente com os demais campos existente e isso, por favor me ajuda, preciso muito criar este calendario, preciso trazer os trimestre e meta na minha empresa sem a sua ajuda não vou conseguir.
Fernando, não entendi muito bem como fazer para chamar os trimestre, o campo data, foi vinculado ao campo Data Pagamento, este e apenas um dos campos, o que preciso fazer e informar um uma tabela o trimestre 30,60,90 e180 dias, o script foi criado em formato SQL, de um banco de dados, pode me ajudar quais as funções que posso usar para chamar na dimensão o trimestre os valor pago, me ajude por favor.
ResponderExcluiramigos, alguém sabe como fazer para modificar os meses em números, para meses por nome ex: janeiro,fevereiro.........., em um banco de dados,o script foi criado todo em sql,sou usúaria nova do sistema Qlikview, podem me ajudar....
ResponderExcluirOlá Luciana, para transformar o valor de texto para numérico, você pode utilizar uma tabela de mapping, e depois utilizar a função ApplyMap() para fazer o De-Para dos Mês.
ExcluirMAP_MESES:
Mapping
LOAD * InLine [
De, Para
Janeiro, 1
Fevereiro, 2
.
.
];
Faça esse Load e depois utilize o ApplyMap().
Bom dia!
ResponderExcluirEstou fazendo o load utilizando o ODBC para uma tabela mas temos registro de 2007 ate a data de hoje. Como faço para buscar somente os registro maior que 2014, ou delimitar por mês >= mês janeiro.
Olá Davidson, isso depende do banco de dados que você possui.
ExcluirMas via de regra basta fazer a condição no SQL.
SQL Select * From Tabela Where To_Date(Data,'YYYY') >=2014;