Dim TiempoTransformación para la creación de la dimensión tiempo1.01/
YN
0.00.0100005050NY50000YN1000-2010/05/10 20:36:17.449Generamos una fecha:
01 de Enero de 2005271712835Generamos una secuencia
de numeros, empezando
por 1, que luego sumaremos
a la fecha1716115560Filtramos las fechas
mayores de
31 de Dic de 202034114311447Formula para algunos
calculos de campos54415512635Java para generar
resto campos505710835Ordeno campos
antes insertar761229435Insercion en tabla
DWD_TIEMPO77716210335EnoBIpcserver7MYSQLNativeenobi3306rootEncrypted 2be98afc86aa7f2e4f34afb2086c1fa8aPORT_NUMBER3306ENOBI_MYSQLPCSERVER7MYSQLNativeENOBI3306rootEncrypted 2be98afc86aa7f2e4f34afb2086c1fa8aPORT_NUMBER3306ENOBI_ORACLEpcserver7ORACLENativeenobi1521enobiEncrypted 2be98afc86aa7f2e4f34afb2086c1fa8adwddwiPORT_NUMBER1521Calcular FechasFilter rowsYCalculo de TextosCalculo Resto AtributosYCalculo Resto AtributosOrdena ValoresYOrdena ValoresCarga DWD_TIEMPOYGenerar FechaAñadir_1_diaYFilter rowsRechazar fechas > 31.12.2020YAñadir_1_diaCalcular FechasYFilter rowsCalculo de TextosYAñadir_1_diaSequenceY1nonedias_a_sumarNEnoBISEQ_Y0110000165196YCalcular FechasCalculatorY1nonefecha_idADD_DAYSfecha_fijadias_a_sumarDate-1-1NyyyyMMddfecha_sk_auxCOPY_FIELDfecha_idString-1-1YyyyyMMddfecha_skCOPY_FIELDfecha_sk_auxInteger-1-1Nvalor1CONSTANT1Integer-1-1Ydiames_idDAY_OF_MONTHfecha_idInteger-1-1Ndiaano_idDAY_OF_YEARfecha_idInteger-1-1Nsemanan_idWEEK_OF_YEAR_ISO8601fecha_idInteger-1-1Nmesn_idMONTH_OF_DATEfecha_idInteger-1-1Nanyo_idYEAR_OF_DATEfecha_idInteger-1-1Nanyo_ant_idSUBTRACTanyo_idvalor1Integer-1-1N31429YCalculo Resto AtributosScriptValueModY1noneN0Script 1//Script here
//Create a Locale according to the specified language code
var locale = new java.util.Locale("es","es");
//Create a calendar, use the specified initial date
var calendar = new java.util.GregorianCalendar(locale);
calendar.setTime(fecha_id);
var simpleDateFormat = java.text.SimpleDateFormat("D",locale);
//en-us example: "Monday"
simpleDateFormat.applyPattern("EEEE");
var diasem_desc = simpleDateFormat.format(fecha_id);
//en-us example: "September"
simpleDateFormat.applyPattern("MMMM");
var mesn_desc = simpleDateFormat.format(fecha_id);
var trimn_id;
switch(parseInt(mesn_id)){
case 1: case 2: case 3: trimn_id = 1; break;
case 4: case 5: case 6: trimn_id = 2; break;
case 7: case 8: case 9: trimn_id = 3; break;
case 10: case 11: case 12: trimn_id = 4; break;
}
// Fecha en formato descripcion 1 de junio de 2009
var fecha_desc = diames_id.toString() + " de " + mesn_desc +
" de " + anyo_id.toString();
// Mes en formato descripcion junio de 2010
var mes_desc = mesn_desc + " de " + anyo_id.toString();
// Trimestre Identificador 20081,20082, 20083
var trim_id = anyo_id.toString() + trimn_id.toString();
// Trimestre Descripcion 1 Trim 2008
var trim_desc = trimn_id.toString() + " Trim " + anyo_id.toString();
// Trimestre Descripcion 1 Trimestre, 2 Trimestre
var trimn_desc = trimn_id.toString() + " Trim";
//Indicador si una fecha es festivo
var es_festivo_id;
if(diasem_id > 6){
es_festivo_id = 'S';
} else {
es_festivo_id = 'N';
}
//Indicador si una fecha es fin de semana
var es_finde_id;
if(diasem_id > 5){
es_finde_id = 'S';
} else {
es_finde_id = 'N';
}
trimn_idtrimn_idInteger-1-1Ndiasem_descdiasem_descString-1-1Nmesn_descmesn_descString-1-1Nfecha_descfecha_descString-1-1Nmes_descmes_descString-1-1Ntrim_idtrim_idInteger-1-1Ntrim_desctrim_descString-1-1Ntrimn_desctrimn_descString-1-1Nes_festivo_ides_festivo_idString-1-1Nes_finde_ides_finde_idString-1-1N47528YCalculo de TextosFormulaY1nonesemana_id Text ( Abs( [anyo_id]) ; "####" ) & IF( [semanan_id] < 10 ; "0" & Text ( Abs([semanan_id]) ; "##" ) ;Text ( Abs([semanan_id]) ; "##" ) )String-1-1semana_desc "Semana " & IF( [semanan_id] < 10 ; "0" & Text ( Abs([semanan_id]) ; "##" ) ;Text ( Abs([semanan_id]) ; "##" ) ) & " de " & Text ( Abs( [anyo_id]) ; "####" ) String-1-1mes_idText ( Abs( [anyo_id]) ; "####" ) & IF( [mesn_id] < 10 ; "0" & Text ( Abs([mesn_id]) ; "##" ) ;Text ( Abs([mesn_id]) ; "##" ) )String-1-1diasem_idweekday ( [fecha_id];2)Number-1-1semanan_desc"Semana " & IF( [semanan_id] < 10 ; "0" & Text ( Abs([semanan_id]) ; "##" ) ;Text ( Abs([semanan_id]) ; "##" ) )String-1-1521189YGenerar FechaRowGeneratorY1nonefecha_fijaDateyyyyMMdd20050101-1-1100004653YOrdena ValoresSelectValuesY1nonefecha_sk-2-2fecha_id-2-2fecha_desc-2-2diasem_id-2-2diasem_desc-2-2diames_id-2-2diaano_id-2-2semana_id-2-2semana_desc-2-2semanan_id-2-2semanan_desc-2-2es_festivo_id-2-2es_finde_id-2-2mes_id-2-2mes_desc-2-2mesn_id-2-2mesn_desc-2-2trim_id-2-2trim_desc-2-2trimn_id-2-2trimn_desc-2-2anyo_id-2-2anyo_ant_id-2-2N75458YCarga DWD_TIEMPOTableOutputY1noneENOBI_ORACLE