Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Associar Calendário Master com Tabelas em Banco Oracle

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?

Labels (3)
1 Solution

Accepted Solutions
maiconmello
Creator III
Creator III

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.

View solution in original post

26 Replies
maiconmello
Creator III
Creator III

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.

vinieme12
Champion III
Champion III

The Name of the date field in your master calendar should be the same as the date field in your fact table.

Vineeth Pujari
If a post helps to resolve your issue, please accept it as a Solution.
Clever_Anjos
Employee
Employee

Poderia dar mais informações?

Anexar um print do modelo ou seu script de dados ajudaria muito

Como obter ajuda? Leia antes de postar

Not applicable
Author

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);

Not applicable
Author

I have many fact table and every one have your own name.

Not applicable
Author

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.

vinieme12
Champion III
Champion III

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

Vineeth Pujari
If a post helps to resolve your issue, please accept it as a Solution.
maiconmello
Creator III
Creator III

Fica dificil ajudar assim.

Mas esta usando o floor ??

Faça assim Date(Floor(Campodata),'DD/MM/AAAA') as data

Not applicable
Author

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?