Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa Tarde
Pessoal, criei um calendário master via script no SENSE porém não estou conseguindo associar ele as tabelas oriundas de minha base de dados em Oracle.
Quando utilizo o calendário gerado como dimensão e ou filtro meus gráfico dão erro.
Na aba de Visualizador de Modelo de Dados, a tabela calendário (master) aparece isolada.
Alguém pode me ajudar a fazer esta associação?
Olá Diogo, na leitura da tabela, muito provável que na sua tabela esta campo DataTime.
Exemplo 01/10/2016 17:44:22
Ou formato americana da data.
Portanto na leitura faça :
Load Date(floor(Campooracledata),'DD/MM/AAAA') as Datanova;
No seu calendário master o campo data tem que estar nesse mesmo formato e mesmo nome.
Datanova.
Olá Diogo, na leitura da tabela, muito provável que na sua tabela esta campo DataTime.
Exemplo 01/10/2016 17:44:22
Ou formato americana da data.
Portanto na leitura faça :
Load Date(floor(Campooracledata),'DD/MM/AAAA') as Datanova;
No seu calendário master o campo data tem que estar nesse mesmo formato e mesmo nome.
Datanova.
The Name of the date field in your master calendar should be the same as the date field in your fact table.
Poderia dar mais informações?
Anexar um print do modelo ou seu script de dados ajudaria muito
Boa Tarde
Estou utilizando o SENSE
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 FirstWeekDay=6;
SET BrokenWeeks=1;
SET ReferenceDay=0;
SET FirstMonthOfYear=1;
SET CollationLocale='pt-BR';
SET MonthNames='jan;fev;mar;abr;mai;jun;jul;ago;set;out;nov;dez';
SET LongMonthNames='janeiro;fevereiro;março;abril;maio;junho;julho;agosto;setembro;outubro;novembro;dezembro';
SET DayNames='seg;ter;qua;qui;sex;sáb;dom';
SET LongDayNames='segunda-feira;terça-feira;quarta-feira;quinta-feira;sexta-feira;sábado;domingo';
//===================================================================================================
// Criar calendario
LET vMesInicial = Date('01/01/2011');
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,'YYYY/MM/DD') as [Data]
AUTOGENERATE(vMesFinal-vMesInicial+1);
I have many fact table and every one have your own name.
Boa Tarde
Realmente tenho este problema. N SENSE, eu não sei como renomear as tabelas que vem do banco, e já tentei usar esta expressão criando uma dimensão master para as datas.
Utilizei a instrução floor como filtro para pegar somente a data, porém no gráfico aparece a data como formato numérico (numero decimal de referência).
Devo estar deixando algum detalhe passar.
O script que estou utilizando é este:
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 FirstWeekDay=6;
SET BrokenWeeks=1;
SET ReferenceDay=0;
SET FirstMonthOfYear=1;
SET CollationLocale='pt-BR';
SET MonthNames='jan;fev;mar;abr;mai;jun;jul;ago;set;out;nov;dez';
SET LongMonthNames='janeiro;fevereiro;março;abril;maio;junho;julho;agosto;setembro;outubro;novembro;dezembro';
SET DayNames='seg;ter;qua;qui;sex;sáb;dom';
SET LongDayNames='segunda-feira;terça-feira;quarta-feira;quinta-feira;sexta-feira;sábado;domingo';
//===================================================================================================
// Criar calendario
LET vMesInicial = Date('01/01/2011');
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,'YYYY/MM/DD') as [Data]
AUTOGENERATE(vMesFinal-vMesInicial+1);
Porém não tenho acesso ao script de carga da dados do SENSE.
Add the below line in your script,
RENAME FIELD1 to FieldNAME;
where,
FIELD1 = the datefield in your MasterCalendar
FieldNAME = The Datefield in your FACT ,,
they should be the same if Fact date is for example OrderDate , then MasterCalendar shoud also be OrderDate to create the Association
Fica dificil ajudar assim.
Mas esta usando o floor ??
Faça assim Date(Floor(Campodata),'DD/MM/AAAA') as data
Olá Maicon,
Você precisa de alguma outra informação?
Sou novo no Qlik, e estou aprendendo a implementar.
No Qlik sense, não tenho acesso ao carregamento de dados, será que posso incluir uma coluna na tabela fato com uma cópia da data e dai colocar o mesmo nome do calendário master?