Dim Tiempo Transformación para la creación de la dimensión tiempo 1.0 1 / Y N
0.0 0.0 10000 50 50 N Y 50000 Y N 1000 - 2010/05/10 20:36:17.449 Generamos una fecha: 01 de Enero de 2005 27 17 128 35 Generamos una secuencia de numeros, empezando por 1, que luego sumaremos a la fecha 17 161 155 60 Filtramos las fechas mayores de 31 de Dic de 2020 341 143 114 47 Formula para algunos calculos de campos 544 155 126 35 Java para generar resto campos 505 7 108 35 Ordeno campos antes insertar 761 22 94 35 Insercion en tabla DWD_TIEMPO 777 162 103 35 EnoBI pcserver7 MYSQL Native enobi 3306 root Encrypted 2be98afc86aa7f2e4f34afb2086c1fa8a PORT_NUMBER3306 ENOBI_MYSQL PCSERVER7 MYSQL Native ENOBI 3306 root Encrypted 2be98afc86aa7f2e4f34afb2086c1fa8a PORT_NUMBER3306 ENOBI_ORACLE pcserver7 ORACLE Native enobi 1521 enobi Encrypted 2be98afc86aa7f2e4f34afb2086c1fa8a dwd dwi PORT_NUMBER1521 Calcular FechasFilter rowsY Calculo de TextosCalculo Resto AtributosY Calculo Resto AtributosOrdena ValoresY Ordena ValoresCarga DWD_TIEMPOY Generar FechaAñadir_1_diaY Filter rowsRechazar fechas > 31.12.2020Y Añadir_1_diaCalcular FechasY Filter rowsCalculo de TextosY Añadir_1_dia Sequence Y 1 none dias_a_sumar N EnoBI SEQ_ Y 0 1 10000 165 196 Y Calcular Fechas Calculator Y 1 none fecha_id ADD_DAYS fecha_fija dias_a_sumar Date -1 -1 N yyyyMMdd fecha_sk_aux COPY_FIELD fecha_id String -1 -1 Y yyyyMMdd fecha_sk COPY_FIELD fecha_sk_aux Integer -1 -1 N valor1 CONSTANT 1 Integer -1 -1 Y diames_id DAY_OF_MONTH fecha_id Integer -1 -1 N diaano_id DAY_OF_YEAR fecha_id Integer -1 -1 N semanan_id WEEK_OF_YEAR_ISO8601 fecha_id Integer -1 -1 N mesn_id MONTH_OF_DATE fecha_id Integer -1 -1 N anyo_id YEAR_OF_DATE fecha_id Integer -1 -1 N anyo_ant_id SUBTRACT anyo_id valor1 Integer -1 -1 N 314 29 Y Calculo Resto Atributos ScriptValueMod Y 1 none N 0 Script 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_id trimn_id Integer -1 -1 N diasem_desc diasem_desc String -1 -1 N mesn_desc mesn_desc String -1 -1 N fecha_desc fecha_desc String -1 -1 N mes_desc mes_desc String -1 -1 N trim_id trim_id Integer -1 -1 N trim_desc trim_desc String -1 -1 N trimn_desc trimn_desc String -1 -1 N es_festivo_id es_festivo_id String -1 -1 N es_finde_id es_finde_id String -1 -1 N 475 28 Y Calculo de Textos Formula Y 1 none semana_id Text ( Abs( [anyo_id]) ; "####" ) & IF( [semanan_id] < 10 ; "0" & Text ( Abs([semanan_id]) ; "##" ) ;Text ( Abs([semanan_id]) ; "##" ) ) String -1 -1 semana_desc "Semana " & IF( [semanan_id] < 10 ; "0" & Text ( Abs([semanan_id]) ; "##" ) ;Text ( Abs([semanan_id]) ; "##" ) ) & " de " & Text ( Abs( [anyo_id]) ; "####" ) String -1 -1 mes_id Text ( Abs( [anyo_id]) ; "####" ) & IF( [mesn_id] < 10 ; "0" & Text ( Abs([mesn_id]) ; "##" ) ;Text ( Abs([mesn_id]) ; "##" ) ) String -1 -1 diasem_id weekday ( [fecha_id];2) Number -1 -1 semanan_desc "Semana " & IF( [semanan_id] < 10 ; "0" & Text ( Abs([semanan_id]) ; "##" ) ;Text ( Abs([semanan_id]) ; "##" ) ) String -1 -1 521 189 Y Generar Fecha RowGenerator Y 1 none fecha_fija Date yyyyMMdd 20050101 -1 -1 10000 46 53 Y Ordena Valores SelectValues Y 1 none fecha_sk -2 -2 fecha_id -2 -2 fecha_desc -2 -2 diasem_id -2 -2 diasem_desc -2 -2 diames_id -2 -2 diaano_id -2 -2 semana_id -2 -2 semana_desc -2 -2 semanan_id -2 -2 semanan_desc -2 -2 es_festivo_id -2 -2 es_finde_id -2 -2 mes_id -2 -2 mes_desc -2 -2 mesn_id -2 -2 mesn_desc -2 -2 trim_id -2 -2 trim_desc -2 -2 trimn_id -2 -2 trimn_desc -2 -2 anyo_id -2 -2 anyo_ant_id -2 -2 N 754 58 Y Carga DWD_TIEMPO TableOutput Y 1 none ENOBI_ORACLE
DWD_TIEMPO
1000 N Y N Y N N Y N Y N FECHA_SK fecha_sk FECHA_ID fecha_id FECHA_DESC fecha_desc DIASEM_ID diasem_id DIASEM_DESC diasem_desc DIAMES_ID diames_id DIAANO_ID diaano_id SEMANA_ID semana_id SEMANA_DESC semana_desc SEMANAN_ID semanan_id SEMANAN_DESC semanan_desc ES_FESTIVO_ID es_festivo_id ES_FINDE_ID es_finde_id MES_ID mes_id MES_DESC mes_desc MESN_ID mesn_id MESN_DESC mesn_desc TRIM_ID trim_id TRIM_DESC trim_desc TRIMN_ID trimn_id TRIMN_DESC trimn_desc ANYO_ID anyo_id ANYO_ANT_ID anyo_ant_id 755 197 Y Filter rows FilterRows Y 1 none Calculo de Textos Rechazar fechas > 31.12.2020 N fecha_id < constantDate2021/01/01 00:00:00.000-1-1NyyyyMMdd 320 189 Y Rechazar fechas > 31.12.2020 Dummy Y 1 none 322 306 Y N