<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Validación registros in Español</title>
    <link>https://community.qlik.com/t5/Espa%C3%B1ol/Validaci%C3%B3n-registros/m-p/1247298#M12450</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Buenos días,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Alexis podrías añadir tambien al where: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Where Len(KeepChar(@1,'0123456789'))=13;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ya que por ejemplo quitaría ese espacio que comentabas en el ejemplo y además quitaría filas de len=13 donde se hubiese podido colar algún carácter que sea una letra.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Un saludo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 15 Nov 2016 08:14:24 GMT</pubDate>
    <dc:creator />
    <dc:date>2016-11-15T08:14:24Z</dc:date>
    <item>
      <title>Validación registros</title>
      <link>https://community.qlik.com/t5/Espa%C3%B1ol/Validaci%C3%B3n-registros/m-p/1247292#M12444</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hola,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Voy a plantear mi problema a ver si se puede solucionar:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tengo ficheros planos, donde cada linea contiene todos los campos, es decir, cada campo se mapea por posición.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ej: Las 4 primeras posiciones corresponden al año, las 2 siguientes al mes, las 2 siguientes al día y las 5 siguientes al valor.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cómo puedo crear unas validaciones para que si llega un registro que no es correcto (por ejemplo, el año no tiene el formato correcto 'YYYY'), se invalide toda la línea y no entre en Qlikview? Es posible?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Adjunto ejemplo de fichero, que leo de la siguiente manera:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LOAD &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @1:@4 as Año,&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @5:@6 as Mes,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="font-size: 13.3333px;"&gt;@7:@8 as Día,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="font-size: 13.3333px;"&gt;@9:@13 as Valor&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;FROM Ejemplo.txt (ansi, fix, no labels, header is 3, record is line);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Conforme lo que quiero hacer, la 1ª línea no debería de entrar, ya que el año no es correcto.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Saludos.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Nov 2016 15:02:42 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Espa%C3%B1ol/Validaci%C3%B3n-registros/m-p/1247292#M12444</guid>
      <dc:creator>alexis_garcia</dc:creator>
      <dc:date>2016-11-14T15:02:42Z</dc:date>
    </item>
    <item>
      <title>Re: Validación registros</title>
      <link>https://community.qlik.com/t5/Espa%C3%B1ol/Validaci%C3%B3n-registros/m-p/1247293#M12445</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hola Alexis,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;como idea adicional, ¿y si importas todo en un mismo campo y luego en el propio script de Qlik realizas la separación (función subfield)?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Así, puedes implementar como primer chequeo el largo total de la línea (función len), y en este caso, al ser superior a 13 poner todo como nulo, por ejemplo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;O incluso, purgar los espacios en blanco (función purguechar) de la línea antes de controlar el largo de caracteres.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Luego puedes chequear cada campo implementando los controles que necesites.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Un saludo,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Alex&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Nov 2016 15:20:48 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Espa%C3%B1ol/Validaci%C3%B3n-registros/m-p/1247293#M12445</guid>
      <dc:creator>alex_millan</dc:creator>
      <dc:date>2016-11-14T15:20:48Z</dc:date>
    </item>
    <item>
      <title>Re: Validación registros</title>
      <link>https://community.qlik.com/t5/Espa%C3%B1ol/Validaci%C3%B3n-registros/m-p/1247294#M12446</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Se me olvidó que, respecto a lo de filtrar las filas que no pasen los controles, por ejemplo puede hacerlo cargando la info en una primera tabla temporal con un campo flag (donde indicaras para cada fila si los controles fueron satisfactorios o no). Luego en un segundo paso, cargas la tabla definitiva cargando con un resident de la temporal las fila con el flag positivo. Y por último eliminas la tabla temporal. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Un saludo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Nov 2016 15:25:24 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Espa%C3%B1ol/Validaci%C3%B3n-registros/m-p/1247294#M12446</guid>
      <dc:creator>alex_millan</dc:creator>
      <dc:date>2016-11-14T15:25:24Z</dc:date>
    </item>
    <item>
      <title>Re: Validación registros</title>
      <link>https://community.qlik.com/t5/Espa%C3%B1ol/Validaci%C3%B3n-registros/m-p/1247295#M12447</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hola Alexis, al igual que Alex creo que se tendría que hacer la carga en varios pasos, puede ser en distintas tablas o usando precedent loads:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOAD * &lt;/P&gt;&lt;P&gt;Where &lt;EM&gt;Checks&lt;/EM&gt;;&lt;/P&gt;&lt;P&gt;LOAD Mid(@1, 1, 4) as Año,&lt;/P&gt;&lt;P&gt;&amp;nbsp; Mid(@1, 5, 2) as Mes,&lt;/P&gt;&lt;P&gt;&amp;nbsp; Mid(@1, 7, 2) as Día,&lt;/P&gt;&lt;P&gt;&amp;nbsp; Mid(@1, 9, 5) as Valor&lt;/P&gt;&lt;P&gt;Where Len(@1)=13;&lt;/P&gt;&lt;P&gt;LOAD @1&lt;/P&gt;&lt;P&gt;FROM&lt;/P&gt;&lt;P&gt;&lt;C&gt;&lt;/C&gt;&lt;/P&gt;&lt;P&gt;(txt, utf8, no labels, delimiter is '\t', msq);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;En este caso quitaría la fila que ocupa 14 caracteres porque primero se comprueba que la línea tenga 13, en la parte de &lt;EM&gt;Checks&lt;/EM&gt; se podrían incluir el resto de validaciones, por ejemplo: where Año&amp;gt;2000 and Año&amp;lt;2999 and IsNum(MakeDate(Año, Mes, Día))&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Nov 2016 15:46:33 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Espa%C3%B1ol/Validaci%C3%B3n-registros/m-p/1247295#M12447</guid>
      <dc:creator>rubenmarin</dc:creator>
      <dc:date>2016-11-14T15:46:33Z</dc:date>
    </item>
    <item>
      <title>Re: Validación registros</title>
      <link>https://community.qlik.com/t5/Espa%C3%B1ol/Validaci%C3%B3n-registros/m-p/1247296#M12448</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Efectivamente la opción de Rubén es más eficiente, porque tal y como apunta no es necesario hacer la carga de una temporal, si no que en la misma carga se filtran los registros que no pasen la validación.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Por poner otro ejemplo:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 8pt;"&gt;TABLA:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 8pt;"&gt;LOAD Fecha, Anyo, Mes, Dia, Valor Where Check = 'Y';&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 8pt;"&gt;LOAD If(IsNum(MakeDate(Anyo, Mes, Dia)) = 0, 'N', 'Y') As Check, MakeDate(Anyo,Mes,Dia) As Fecha, Anyo, Mes, Dia, Valor Where Check = 'Y';&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 8pt;"&gt;LOAD If(Len(Datos)&amp;gt;13,'N','Y') As Check, Mid(Datos,1,4) As Anyo, Mid(Datos,5,2) As Mes, Mid(Datos,7,2) As Dia, Mid(9,5) As Valor;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 8pt;"&gt;LOAD PurgeChar(Datos,' ') As Datos;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 8pt;"&gt;LOAD @1 As Datos FROM &lt;C&gt;(txt, utf8, no labels, delimiter is '\t', msq);&lt;/C&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Con lo anterior, eliminas los espacios en blanco, chequeas que el largo resultante no supere los 13 caracteres y que la fecha resultante del año, mes y dia sea válida.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Nov 2016 16:23:28 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Espa%C3%B1ol/Validaci%C3%B3n-registros/m-p/1247296#M12448</guid>
      <dc:creator>alex_millan</dc:creator>
      <dc:date>2016-11-14T16:23:28Z</dc:date>
    </item>
    <item>
      <title>Re: Validación registros</title>
      <link>https://community.qlik.com/t5/Espa%C3%B1ol/Validaci%C3%B3n-registros/m-p/1247297#M12449</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Buenos días,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Muchas gracias a los dos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;En cuanto tenga un momento lo pruebo y os comento, pero de antemano parecen buenas soluciones.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sois unos cracks!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Saludos.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 Nov 2016 07:19:58 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Espa%C3%B1ol/Validaci%C3%B3n-registros/m-p/1247297#M12449</guid>
      <dc:creator>alexis_garcia</dc:creator>
      <dc:date>2016-11-15T07:19:58Z</dc:date>
    </item>
    <item>
      <title>Re: Validación registros</title>
      <link>https://community.qlik.com/t5/Espa%C3%B1ol/Validaci%C3%B3n-registros/m-p/1247298#M12450</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Buenos días,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Alexis podrías añadir tambien al where: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Where Len(KeepChar(@1,'0123456789'))=13;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ya que por ejemplo quitaría ese espacio que comentabas en el ejemplo y además quitaría filas de len=13 donde se hubiese podido colar algún carácter que sea una letra.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Un saludo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 Nov 2016 08:14:24 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Espa%C3%B1ol/Validaci%C3%B3n-registros/m-p/1247298#M12450</guid>
      <dc:creator />
      <dc:date>2016-11-15T08:14:24Z</dc:date>
    </item>
  </channel>
</rss>

