Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bom dia amigos!
Eu utilizo o Qlikview 11.20.13206.0 em um servidor Windows Server 2008 R2 DataCenter (VM). O S.O. do servidor está em inglês.
Tenho frequentes problemas quando carrego campos de Data via SQL (base Oracle). O Qlik por algum motivo não reconhece o formato correto (dd/mm/yyyy) e tenho que passar tratativas nos scripts, do tipo: TO_DATE() por dentro, TO_CHAR() por fora, até que eu entre em "consenso" com o qlik e ele retorne a data corretamente... já mexi nas configurações regionais e de idioma do S.O., já configurei os SET dos extratores, mas nada resolve. Obs: o problema não é trazer a data no formato numérico (ex: 413455), ele simplesmente não reconhece a data e muitas vezes traz até "null" no campo!
Alguém sabe se existe outro local de configuração, além dos SET e das configurações regionais do S.O., onde o Qlikview Server possa estar buscando a configuração "americana" de datas, e onde eu possa corrigir? Ou alguma outra alternativa para trabalhar com datas no qlik sem a necessidade de passar diversos parâmetros de tratamento de data nos SQL que extraem as informações?
Obrigado,
Fabio.
A melhor maneira é realmente usar o TO_DATE() nos seus campos data quando estiver montando a sua query.
A query é executada "fora" do QlikView pelo driver OleDb ou ODBC (você não disse qual usa).
Se quiser fazer alterar o padrão use os comandos abaixo no seu script Qlik:
SQL
ALTER SESSION
SET NLS_DATE_FORMAT = 'DD/MON/YYYY HH24:MI:SS';SELECT Getdate() from Dual -- Ponha sua query aqui
Pelo SQL Developer, este altera o parâmetro NLS_DATE, por isso você notou a diferença entre eles
Bom dia ,
Como estão as variáveis nos seus modelos ?
Essas variáveis são as primeiras linhas no modelo, opção editar script.
SET ThousandSep='.';
SET DecimalSep=',';
SET MoneyThousandSep='.';
SET MoneyDecimalSep=',';
SET MoneyFormat='R$ #.##0,00;-R$ #.##0,00';
SET TimeFormat='hh:mm:ss';
SET DateFormat='DD/MM/YYYY';
SET TimestampFormat='DD/MM/YYYY hh:mm:ss[.fff]';
SET MonthNames='jan;fev;mar;abr;mai;jun;jul;ago;set;out;nov;dez';
SET DayNames='seg;ter;qua;qui;sex;sáb;dom';
Olá Maicon,
Sim, estão todas desta forma. Mesmo assim, ao chamar o SQL SELECT ... ele se confunde na extração dos campos data, principalmente quando o script possui functions que pegam uma data e tratam, por exemplo, tira o "dia" e faz uma concatenação, vamos supor, ('01/' || TO_CHAR(campodata, 'MM/YYYY')). Curioso é que, pelo SQL Developer, o campo traz certinho, tanto no desktop quanto no servidor... o erro é só quando carrega via Qlik.
Obrigado
Entendi fabioval, que estou achando que pode ser seu driver odbc !
Mesmo não esta conseguindo interpretar.
A melhor maneira é realmente usar o TO_DATE() nos seus campos data quando estiver montando a sua query.
A query é executada "fora" do QlikView pelo driver OleDb ou ODBC (você não disse qual usa).
Se quiser fazer alterar o padrão use os comandos abaixo no seu script Qlik:
SQL
ALTER SESSION
SET NLS_DATE_FORMAT = 'DD/MON/YYYY HH24:MI:SS';SELECT Getdate() from Dual -- Ponha sua query aqui
Pelo SQL Developer, este altera o parâmetro NLS_DATE, por isso você notou a diferença entre eles
Obrigado Maicon!
Olá Clever, utilizo o ODBC. O script é o mesmo? Grato
É o mesmo