<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3485226104726247171</id><updated>2011-12-18T23:47:59.739-03:00</updated><category term='Redes'/><category term='PIVOT'/><category term='VBScript'/><category term='XML'/><category term='excel'/><category term='SQL SERVER'/><category term='Wiki'/><category term='Qlikview'/><category term='Linux'/><title type='text'>sertaz</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sertaz.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sertaz.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Sergio Valenzuela Vallejos</name><uri>http://www.blogger.com/profile/14533402935493472546</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_dvu_gFk8hZw/SzJvpbU1k6I/AAAAAAAAAEQ/QI3kbCqKlVQ/S220/yo.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>21</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3485226104726247171.post-5290862154175635411</id><published>2011-08-22T12:55:00.002-03:00</published><updated>2011-08-22T13:05:04.668-03:00</updated><title type='text'>Expresiones Regulares</title><content type='html'>Dejo link de 10 expresiones regulares muy utiles para las validaciones web &lt;br /&gt;&lt;br /&gt;&lt;a href="http://web.ontuts.com/snippets/10-expresiones-regulares-imprescindibles-en-desarrollo-web/"&gt;http://web.ontuts.com/snippets/10-expresiones-regulares-imprescindibles-en-desarrollo-web/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;-validar url&lt;br /&gt;-validar emailhttp://www.blogger.com/img/blank.gif&lt;br /&gt;-comprobar seguridad de contraseña&lt;br /&gt;-validar numero de telefono&lt;br /&gt;-validar numero de tarjeta de credito&lt;br /&gt;-validar codigo postal&lt;br /&gt;-validar ip&lt;br /&gt;-otros......&lt;br /&gt;&lt;br /&gt;Para entender que hace cada uno de los caracteres que se incluyen en cada expresion revisar la documentacion de wikipedia&lt;br /&gt;&lt;br /&gt;&lt;a href="http://es.wikipedia.org/wiki/Expresi%C3%B3n_regular"&gt;http://es.wikipedia.org/wiki/Expresi%C3%B3n_regular&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3485226104726247171-5290862154175635411?l=sertaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sertaz.blogspot.com/feeds/5290862154175635411/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3485226104726247171&amp;postID=5290862154175635411' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/5290862154175635411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/5290862154175635411'/><link rel='alternate' type='text/html' href='http://sertaz.blogspot.com/2011/08/expresiones-regulares.html' title='Expresiones Regulares'/><author><name>Sergio Valenzuela Vallejos</name><uri>http://www.blogger.com/profile/14533402935493472546</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_dvu_gFk8hZw/SzJvpbU1k6I/AAAAAAAAAEQ/QI3kbCqKlVQ/S220/yo.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3485226104726247171.post-4837352053656443166</id><published>2010-12-23T11:19:00.005-03:00</published><updated>2010-12-23T13:03:59.836-03:00</updated><title type='text'>String a Date en Java</title><content type='html'>Les dejo un metodo que transforma un String a un Date en Java.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;br /&gt;private final static SimpleDateFormat FECHANORMAL = new SimpleDateFormat("d/M/y");&lt;br /&gt;&lt;br /&gt;public static Date fecha2Date(String fechaString) throws ParseException {&lt;br /&gt;&lt;div style="margin-left:1em"&gt;&lt;br /&gt;Date fechaDate = null;&lt;br /&gt;String fechaNormal = fechaString;&lt;br /&gt;   if (fechaNormal != null) { &lt;br /&gt;   &lt;div style="margin-left:1em"&gt;&lt;br /&gt;   fechaNormal = fechaNormal.trim();&lt;br /&gt;   fechaNormal = fechaNormal.replaceAll("-", "/"); // Aceptamos dd-mm-yyyy o   dd/mm/yyyy&lt;br /&gt;  if (fechaNormal.indexOf('/') &gt;= 0 &amp;&amp; !"".equals(fechaNormal)) {&lt;br /&gt;  &lt;div style="margin-left:1em"&gt;&lt;br /&gt;  fechaDate = FECHANORMAL.parse(fechaNormal);&lt;br /&gt;  }&lt;br /&gt;  &lt;/div&gt;&lt;br /&gt;  }&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;return fechaDate;&lt;br /&gt;}&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3485226104726247171-4837352053656443166?l=sertaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sertaz.blogspot.com/feeds/4837352053656443166/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3485226104726247171&amp;postID=4837352053656443166' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/4837352053656443166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/4837352053656443166'/><link rel='alternate' type='text/html' href='http://sertaz.blogspot.com/2010/12/string-date-en-java.html' title='String a Date en Java'/><author><name>Sergio Valenzuela Vallejos</name><uri>http://www.blogger.com/profile/14533402935493472546</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_dvu_gFk8hZw/SzJvpbU1k6I/AAAAAAAAAEQ/QI3kbCqKlVQ/S220/yo.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3485226104726247171.post-1120766324760115331</id><published>2010-06-29T11:10:00.003-04:00</published><updated>2010-06-29T11:31:56.060-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='excel'/><title type='text'>Formato de Celdas en EXCEL -  tipo Numero - No Numero cientifico</title><content type='html'>Cuando se crean archivos excel desde paginas, siempre tengo problemas con los formatos de las celdas, por lo que he investigado y he podido encontrar una solucion aceptable.&lt;br /&gt;&lt;br /&gt;cuando en las celda del excel (tabla html) que se va a exportar son numeros, por ejemplo: &lt;br /&gt;&amp;lt;td&amp;gt;502682196768&amp;lt;/td&amp;gt;&lt;br /&gt;&lt;br /&gt;el resultado en excel de esto será&lt;br /&gt;&lt;br /&gt;5,02682E+11&lt;br /&gt;&lt;br /&gt;pero si le agregamos un estilo que interpreta excel nos mostrara como numero normal&lt;br /&gt;es decir:&lt;br /&gt;&lt;br /&gt;&amp;lt;td style='mso-number-format:0;'&amp;gt;502682196768&amp;lt;/td&amp;gt;&lt;br /&gt;&lt;br /&gt;502682196768&lt;br /&gt;&lt;br /&gt;entonces la clave del formato esta en agregar lo siguiente a la celda.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;style='mso-number-format:0;'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;espero ayudar a muchos que tienen el mismo problema.&lt;br /&gt;&lt;br /&gt;yo he navegado por muchos sitios y la mejor opcion que habia encontrado era agregar un espacio al numero para que éste no sea convertido a numero cientifico, pero esta solucion tenia como problema que los valores no se podia sumar o aplicar una formula sobre este.&lt;br /&gt;ahora con la solucion que propongo si es posible agregar una formula de agregacion y que el resultado sea tambien un numero no cientifico.&lt;br /&gt;&lt;br /&gt;TAN TAN.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3485226104726247171-1120766324760115331?l=sertaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sertaz.blogspot.com/feeds/1120766324760115331/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3485226104726247171&amp;postID=1120766324760115331' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/1120766324760115331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/1120766324760115331'/><link rel='alternate' type='text/html' href='http://sertaz.blogspot.com/2010/06/formato-de-celdas-en-excel-tipo-numero.html' title='Formato de Celdas en EXCEL -  tipo Numero - No Numero cientifico'/><author><name>Sergio Valenzuela Vallejos</name><uri>http://www.blogger.com/profile/14533402935493472546</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_dvu_gFk8hZw/SzJvpbU1k6I/AAAAAAAAAEQ/QI3kbCqKlVQ/S220/yo.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3485226104726247171.post-4539333905176679029</id><published>2010-03-23T13:25:00.015-03:00</published><updated>2010-04-15T18:06:24.355-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL SERVER'/><title type='text'>Leer Campo XML en SQL Server</title><content type='html'>Como podemos leer campo XML y filtrar por campos que estan dentro del XML&lt;br /&gt;&lt;br /&gt;tenemos esta tabla&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_dvu_gFk8hZw/S6ktYb8suzI/AAAAAAAAAFY/KOgvANQizZA/s1600-h/tabXML.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 142px; height: 117px;" src="http://1.bp.blogspot.com/_dvu_gFk8hZw/S6ktYb8suzI/AAAAAAAAAFY/KOgvANQizZA/s320/tabXML.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5451938721751153458" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;como ejemplo tenemos el siguiente XML:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_dvu_gFk8hZw/S8eNJXZIUuI/AAAAAAAAAFg/7cQlxkUhy5w/s1600/xml2.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 45px;" src="http://3.bp.blogspot.com/_dvu_gFk8hZw/S8eNJXZIUuI/AAAAAAAAAFg/7cQlxkUhy5w/s320/xml2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5460488265247773410" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;para leer el campo XML de la tabla TabXML , en el campo XMLData, se hace de la siguiente forma&lt;br /&gt;&lt;br /&gt;SELECT&lt;br /&gt;ID,&lt;br /&gt;D.C.value('@Nombre', 'Varchar(30)') as Nombre,&lt;br /&gt;D.C.value('@Apellido', 'Varchar(30)') as Apellido,&lt;br /&gt;D.C.value('@telefono', 'Varchar(10)') as Telefono,&lt;br /&gt;D.C.value('@Email', 'Varchar(100)') as Email&lt;br /&gt;FROM TabXML &lt;br /&gt;CROSS APPLY XMLData.nodes('ROOT/VALORES') D(c) -- recuerda que XMLData es el nombre del campo donde esta el XML&lt;br /&gt;WHERE D.c.value('@Nombre', 'varchar(30)')  = 'Sergio'&lt;br /&gt;&lt;br /&gt;este query mostrara el resultado , todas los registros en donde el nombre sea igual a 'Sergio'&lt;br /&gt;&lt;br /&gt;ID Nombre   Apellido  Fono   Email&lt;br /&gt;1  Sergio  Valenzuela 555444 Sergio.Valenzuela@engendro.cl&lt;br /&gt;1  Sergio  Apell2     555444 Sergio.Valenzuela@engendro.cl&lt;br /&gt;1  Sergio  Apell3     555444 Sergio.Valenzuela@engendro.cl&lt;br /&gt;&lt;br /&gt;tambien es posible agregar campos de la tabla donde esta el campo XML&lt;br /&gt;si existienran mas registros donde el campo Nombre del XML del campo XMLData sean 'Sergio', entonces mostrara mas registros.&lt;br /&gt;&lt;br /&gt;/*************************************************************************&lt;br /&gt;&lt;br /&gt;ejemplo Actualizado..... me confundí&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;DECLARE @TabXML TABLE (&lt;br /&gt; ID INT,&lt;br /&gt; DocXMLData  XML&lt;br /&gt;)&lt;br /&gt;DECLARE @XML XML&lt;br /&gt;SELECT @XML = '&amp;lt;ROOT&amp;gt;&amp;lt;VALORES Nombre="Sergio" Apellido="Valenzuela" Fono="555444" Email="Sergio.Valenzuela@engendro.cl"&amp;gt;&lt;br /&gt;     &amp;lt;/VALORES&amp;gt;&lt;br /&gt;     &amp;lt;VALORES Nombre="Sergio" Apellido="Apell2" Fono="555444" Email="Sergio.Valenzuela@engendro.cl"&amp;gt;&lt;br /&gt;     &amp;lt;/VALORES&amp;gt;&lt;br /&gt;     &amp;lt;VALORES Nombre="Sergio" Apellido="Apell3" Fono="555444" Email="Sergio.Valenzuela@engendro.cl"&amp;gt;&lt;br /&gt;     &amp;lt;/VALORES&amp;gt;&lt;br /&gt;     &amp;lt;VALORES Nombre="Carlos" Apellido="Apell3" Fono="555444" Email="Sergio.Valenzuela@engendro.cl"&amp;gt;&lt;br /&gt;     &amp;lt;/VALORES&amp;gt;&lt;br /&gt;      &amp;lt;/ROOT&amp;gt;'&lt;br /&gt;      &lt;br /&gt;INSERT INTO @TabXML&lt;br /&gt;(&lt;br /&gt; ID,&lt;br /&gt; DocXMLData&lt;br /&gt;)&lt;br /&gt;VALUES&lt;br /&gt;(&lt;br /&gt; 1,&lt;br /&gt; @XML&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;SELECT tx.DocXMLData FROM @TabXML tx&lt;br /&gt;&lt;br /&gt;SELECT --D.C.value(*)&lt;br /&gt;ID,&lt;br /&gt;D.C.value('@Nombre', 'Varchar(30)') as Nombre,&lt;br /&gt;D.C.value('@Apellido', 'Varchar(30)') as Apellido,&lt;br /&gt;D.C.value('@Fono', 'Varchar(10)') as Telefono,&lt;br /&gt;D.C.value('@Email', 'Varchar(29)') as Email&lt;br /&gt;FROM @TabXML&lt;br /&gt;CROSS APPLY DocXMLData.nodes('ROOT/VALORES') D(c) -- recuerda que XMLData es el nombre del campo donde esta el XML&lt;br /&gt;WHERE D.c.value('@Nombre', 'varchar(30)') = 'Sergio'&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;*************************************************************************/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3485226104726247171-4539333905176679029?l=sertaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sertaz.blogspot.com/feeds/4539333905176679029/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3485226104726247171&amp;postID=4539333905176679029' title='4 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/4539333905176679029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/4539333905176679029'/><link rel='alternate' type='text/html' href='http://sertaz.blogspot.com/2010/03/leer-campo-xml-en-sql-server.html' title='Leer Campo XML en SQL Server'/><author><name>Sergio Valenzuela Vallejos</name><uri>http://www.blogger.com/profile/14533402935493472546</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_dvu_gFk8hZw/SzJvpbU1k6I/AAAAAAAAAEQ/QI3kbCqKlVQ/S220/yo.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_dvu_gFk8hZw/S6ktYb8suzI/AAAAAAAAAFY/KOgvANQizZA/s72-c/tabXML.JPG' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3485226104726247171.post-3503816463605828952</id><published>2010-03-23T12:07:00.007-03:00</published><updated>2010-03-23T13:16:47.785-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL SERVER'/><category scheme='http://www.blogger.com/atom/ns#' term='PIVOT'/><title type='text'>PIVOT Dinamico SQL SERVER</title><content type='html'>Como podemos hacer un PIVOT dinamico en SQL Server??&lt;br /&gt;&lt;br /&gt;Lo que vamos a hacer es crear un string que contenga la consulta que vamos a crear con la cantidad de valores que nosotros queramos en forma dinamica&lt;br /&gt;&lt;br /&gt;me refiero si tenemos esto&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dvu_gFk8hZw/S6jnduib-NI/AAAAAAAAAEw/IEc6G-9XMJ8/s1600-h/tab1.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 235px; height: 249px;" src="http://4.bp.blogspot.com/_dvu_gFk8hZw/S6jnduib-NI/AAAAAAAAAEw/IEc6G-9XMJ8/s320/tab1.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5451861846826678482" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;para pivotear esto la documentacion dice que se debe hacer de la siguiente forma&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms177410.aspx"&gt;link&lt;/a&gt; :&lt;br /&gt;--------------------------------------&lt;br /&gt;ejemplo link:&lt;br /&gt;DaysToManufacture----AverageCost&lt;br /&gt;0-----------------------------5.0885&lt;br /&gt;1-----------------------------223.88&lt;br /&gt;2-----------------------------359.1082&lt;br /&gt;4-----------------------------949.4105 &lt;br /&gt;&lt;br /&gt;para pivotear&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;SELECT 'AverageCost' AS Cost_Sorted_By_Production_Days, &lt;br /&gt;[0], [1], [2], [3], [4]&lt;br /&gt;FROM&lt;br /&gt;(SELECT DaysToManufacture, StandardCost &lt;br /&gt;    FROM Production.Product) AS SourceTable&lt;br /&gt;PIVOT&lt;br /&gt;(&lt;br /&gt;AVG(StandardCost)&lt;br /&gt;FOR DaysToManufacture IN ([0], [1], [2], [3], [4])&lt;br /&gt;) AS PivotTable;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;el resultado será&lt;br /&gt;&lt;br /&gt;Cost_Sorted_By_Production_Days    0         1         2           3       4       &lt;br /&gt;AverageCost                       5.0885    223.88    359.1082    NULL    949.4105 &lt;br /&gt;&lt;br /&gt;-----------------------------------------------------------&lt;br /&gt;&lt;br /&gt;pero si se fijan ahi se debe incluir todos los valores de los dias, es decir que si existen 1000 dias se deben listar de 1 a 1000 días  ([0], [1], [2], [3], [4]....[1000]), para hacer esto dinamico y si vemos que no solo pueden ser dias, sino, tipos de documentos, fechas, nombre, cuentas, etc, etc, recordar los nombre y escriibirlos uno a uno no es muy agradable entonces podemos hacer lo siguiente para crear dinamicamente el select que nos mostrará nuestro valores pivoteados tal como queremos.&lt;br /&gt;&lt;br /&gt;continuando con mi ejemplo&lt;br /&gt;&lt;br /&gt;el query que creará nuestro query es el siguiente:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;DECLARE @Tipo           VARCHAR(10)&lt;br /&gt;DECLARE @PVT            VARCHAR(MAX)&lt;br /&gt;DECLARE @PVT1           VARCHAR(MAX)&lt;br /&gt;DECLARE @PVT2           VARCHAR(MAX)&lt;br /&gt;&lt;br /&gt;SELECT @Tipo = MIN(Tipo) FROM TipoValor  WHERE Tipo&gt;'' -- select al menor tipo&lt;br /&gt;&lt;br /&gt;SET @PVT1 = '' --en esta variable guardaremos los tipos entre comillas ''&lt;br /&gt;SET @PVT2 = '' --en esta variable guardaremos los tipos entre corchetes []&lt;br /&gt;&lt;br /&gt;--crearemos un ciclo para recorrer todos los tipos&lt;br /&gt;WHILE NOT(@Tipo IS NULL)-- cuando se acaben los tipos de fechas&lt;br /&gt;BEGIN&lt;br /&gt;IF @PVT1 &lt;&gt; ''&lt;br /&gt; SET @PVT1 = @PVT1 + ', '&lt;br /&gt;SET @PVT1 = @PVT1+''''+@Tipo+'''' --tipos entre comillas&lt;br /&gt;&lt;br /&gt;IF @PVT2 &lt;&gt; ''&lt;br /&gt; SET @PVT2 = @PVT2 + ', '&lt;br /&gt;SET @PVT2 = @PVT2+'['+@Tipo+']'   --tipos entre corchetes&lt;br /&gt;&lt;br /&gt;SELECT @Tipo = MIN(Tipo) FROM TipoValor WHERE Tipo &gt; @Tipo --buscamos el siguente tipo de fechas mayor al anterior&lt;br /&gt;END -- fin del ciclo&lt;br /&gt;&lt;br /&gt;-- en la variable @PVT guadaremos como string el query del pivot  &lt;br /&gt;SELECT @PVT = 'SELECT Nombre&lt;br /&gt; '+@PVT2+ --tipos con corchetes&lt;br /&gt; ' FROM (SELECT &lt;br /&gt;            Nombre&lt;br /&gt;            Tipo,&lt;br /&gt;            Valor  FROM &lt;br /&gt;            TipoValor WHERE&lt;br /&gt;            Tipo IN &lt;br /&gt;            ( '+@PVT1+' )) as FEOC --tipos con comillas&lt;br /&gt;        PIVOT (MAX(Valor) -- el MAX  es por si existe mas de un Tipo, se puede Sumar o agrgar cualquier funcion de agregacion&lt;br /&gt;        FOR Tipo IN (&lt;br /&gt;  '+@PVT2+' )) as P&lt;br /&gt;  GROUP BY &lt;br /&gt;               Nombre '+@PVT2&lt;br /&gt; &lt;br /&gt;SELECT @PVT -- Vemos el string donde esta el query del PIVOT completo&lt;br /&gt;&lt;br /&gt;EXEC(@PVT) -- con el comando EXEC podemos ejecutar el string, que nos retornara el resultado que queremos&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Todo esto nos deberia retornar los siguiente:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dvu_gFk8hZw/S6jofrvgDfI/AAAAAAAAAE4/vsRFMRJ1c7M/s1600-h/pivot1.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 94px;" src="http://1.bp.blogspot.com/_dvu_gFk8hZw/S6jofrvgDfI/AAAAAAAAAE4/vsRFMRJ1c7M/s320/pivot1.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5451862979947531762" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;asi logramos agrupar por nombre, y pivoteamos el valor y los tipos, donde hay que notar el tipo T3 y que se repite para los nombre nom1 y nom3, donde podemos ver facilmente cuales típos y que valor tiene cada nombre&lt;br /&gt;&lt;br /&gt;esta es la mejor opcion de mostrar la informacion, porque la otra opcion y que no es buena de mostrar es la siguiente&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Select Nombre, Tipo, Valor from TipoValor order by Nombre&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;que mostrara algo asi como que no es lo optimo.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_dvu_gFk8hZw/S6jo51P5Y_I/AAAAAAAAAFA/O1dTN9XFBRk/s1600-h/no-pivot1.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 197px; height: 172px;" src="http://3.bp.blogspot.com/_dvu_gFk8hZw/S6jo51P5Y_I/AAAAAAAAAFA/O1dTN9XFBRk/s320/no-pivot1.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5451863429175927794" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3485226104726247171-3503816463605828952?l=sertaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sertaz.blogspot.com/feeds/3503816463605828952/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3485226104726247171&amp;postID=3503816463605828952' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/3503816463605828952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/3503816463605828952'/><link rel='alternate' type='text/html' href='http://sertaz.blogspot.com/2010/03/pivot-dinamico-sql-server.html' title='PIVOT Dinamico SQL SERVER'/><author><name>Sergio Valenzuela Vallejos</name><uri>http://www.blogger.com/profile/14533402935493472546</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_dvu_gFk8hZw/SzJvpbU1k6I/AAAAAAAAAEQ/QI3kbCqKlVQ/S220/yo.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_dvu_gFk8hZw/S6jnduib-NI/AAAAAAAAAEw/IEc6G-9XMJ8/s72-c/tab1.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3485226104726247171.post-257173468059555784</id><published>2009-09-10T11:30:00.005-04:00</published><updated>2009-09-10T12:22:59.584-04:00</updated><title type='text'>Comando AT y Schtasks, crear o ejecutar tarea programada en otro equipo</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dvu_gFk8hZw/Sqkn2J8Y38I/AAAAAAAAAD8/fQdV71KldQw/s1600-h/cmd.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 160px;" src="http://4.bp.blogspot.com/_dvu_gFk8hZw/Sqkn2J8Y38I/AAAAAAAAAD8/fQdV71KldQw/s320/cmd.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5379875041206394818" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Como podemos ejecutar una aplicacion en otra maquina?&lt;br /&gt;&lt;br /&gt;Como podemos recargar nuestra aplicacion Qlikview en un equipo que no es nuestro(local)?&lt;br /&gt;&lt;br /&gt;bueno, encontre estos dos comando que me solucionaron el problema&lt;br /&gt;&lt;br /&gt;el primero AT:&lt;br /&gt;&lt;br /&gt;AT nos permite crear, ver y borrar tareas programadas en un equipo remoto&lt;br /&gt;por ejemplo&lt;br /&gt;&lt;br /&gt;AT \\HOST HORA /interactive Comando(tarea) a ejecutar&lt;br /&gt;&lt;br /&gt;AT \\192.168.1.2 12:00 /interactive "C:\Program Files\QlikView\Qv.exe" /r C:\QlikView\recarga.qvw"&lt;br /&gt;&lt;br /&gt;AT: es el comando que permite agregar una tarea programada en otro equipo&lt;br /&gt;si ejecutamos AT en la consola nos listara todas las tareas que se han agregado a la maquina local.&lt;br /&gt;si ejecutamos AT \\HOST nos listara las tarea del HOST&lt;br /&gt;&lt;br /&gt;\\HOST: es el nombre o IP de la maquina a la que queremos agregar la tarea programada&lt;br /&gt;&lt;br /&gt;12:00: es la hora en que se ejecutara la tarea programada&lt;br /&gt;&lt;br /&gt;/interactive: nos permite ver en primer plano la aplicacion o la tarea que se esta ejecutando, si omitimos este parametro se ejecutara en segundo plano.&lt;br /&gt;&lt;br /&gt;"C:\Program Files\QlikView\Qv.exe" /r C:\QlikView\recarga.qvw": es la tarea que necesito que se ejecute, que en este caso es realizar la recarga de la aplicacion "recarga.qvw".&lt;br /&gt;&lt;br /&gt;AT tiene algunos inconvenietes:&lt;br /&gt;necesitas los permisos adecuados para poder agregar tareas en otra maquinas&lt;br /&gt;cuando agrega una tarea el propietario de la tarea es el sistema y esto fue un gran problema, pues Qlikview tiene sus licencia por cada usuario del equipo, por lo que cuando intentaba hacer la recarga me pedia ingresar la licencia para el usuario del sistema.&lt;br /&gt;&lt;br /&gt;Solucion?&lt;br /&gt;&lt;br /&gt;finalmente el comando AT lo tuve que sustituir por el comando Schtasks que nos permite ejecutar en ese minuto una tarea programada en un equipo remoto.&lt;br /&gt;&lt;br /&gt;significa que primero debemos crear en la maquina remota, con el usuario valido para qlikview, una tarea programada que no se debe ejecutar nunca por si solo, sino que cuando se le hace una llamada.&lt;br /&gt;Con el comando Schtasks  podemos realizar esto:&lt;br /&gt;&lt;br /&gt;SCHTASKS /run /S \\192.168.1.2 /TN "Qv"&lt;br /&gt;&lt;br /&gt;lo que ejecutara en el host 192.168.1.2 la tarea programada llamada "Qv"&lt;br /&gt;&lt;br /&gt;/run: realiza la ejecucion de una tarea programada&lt;br /&gt;&lt;br /&gt;/S \\HOST: indica que se ejecutara en ese host, si se omite se ejecutara en la maquina local&lt;br /&gt;&lt;br /&gt;/tn "Qv": indica que se ejecutara la tarea programada llamada "Qv"&lt;br /&gt;&lt;br /&gt;el comando SCHTASKS reemplazó al comando AT&lt;br /&gt;ademas permite la ejecucion de una tarea programada /run, ademas de crear, borrar, terminar.&lt;br /&gt;&lt;br /&gt;para mas info de este comando en &lt;a href="http://support.microsoft.com/kb/814596"&gt;SCHTASKS&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;para mas info de comando AT en &lt;a href="http://support.microsoft.com/kb/313565/es"&gt;AT&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3485226104726247171-257173468059555784?l=sertaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sertaz.blogspot.com/feeds/257173468059555784/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3485226104726247171&amp;postID=257173468059555784' title='4 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/257173468059555784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/257173468059555784'/><link rel='alternate' type='text/html' href='http://sertaz.blogspot.com/2009/09/comando-at-y-schtasks-crear-o-ejecutar.html' title='Comando AT y Schtasks, crear o ejecutar tarea programada en otro equipo'/><author><name>Sergio Valenzuela Vallejos</name><uri>http://www.blogger.com/profile/14533402935493472546</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_dvu_gFk8hZw/SzJvpbU1k6I/AAAAAAAAAEQ/QI3kbCqKlVQ/S220/yo.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_dvu_gFk8hZw/Sqkn2J8Y38I/AAAAAAAAAD8/fQdV71KldQw/s72-c/cmd.PNG' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3485226104726247171.post-8218263681010375652</id><published>2009-07-07T16:05:00.004-04:00</published><updated>2009-07-07T17:01:39.013-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Qlikview'/><title type='text'>Archivo QVD - Qlikview</title><content type='html'>Los archivos QVD son archivos que almacenan datos que pueden ser de diferentes fuentes de datos, diferentes BD, archivos planos TXT, archivos Excel, etc.&lt;br /&gt;&lt;br /&gt;Porqué utilizar archivos qvd?&lt;br /&gt;&lt;br /&gt;-Son una forma de optimizar el tiempo de carga de los datos&lt;br /&gt;-Permiten carga incremental&lt;br /&gt;-Son recomendados por Qlikview (será una razón válida?)&lt;br /&gt;-etc, ya se me ocurrirán&lt;br /&gt;&lt;br /&gt;Cómo crear un archivo qvd?&lt;br /&gt;&lt;br /&gt;en nuestro scrip :&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;//Nombre que le asignamos a la tabla&lt;br /&gt;Nombre_Tabla:&lt;br /&gt;//Permite carga desde la base de datos, permite las mismas intrucciones que se puedes&lt;br /&gt;//realizar en la BD, notar que Antecede la palabra SQL antes de nuestro Select común&lt;br /&gt;SQL SELECT  *&lt;br /&gt;FROM Nombe_Tabla_BD;&lt;br /&gt;&lt;br /&gt;//Permite guardar la tabla antes cargada, notar que se debe indicar el nombre de la&lt;br /&gt;//tabla que le asignamos a la tabla y no el nombre que tiene en la BD&lt;br /&gt;STORE Nombre_Tabla&lt;br /&gt;INTO Nombre_Archivo_QVD.qvd;&lt;br /&gt;//es posible indicarle un directorio a esta ruta&lt;br /&gt;//por ejemplo guardar en la carpeta ArchivosQVD&lt;br /&gt;//INTO ArchivosQVD\Nombre_Archivo_QVD.qvd;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;-La primer instrucción permite obtener datos desde nuestra Base de Datos&lt;br /&gt;-La segunda guardar la tabla obtenida en un archivo QVD Nombre_Archivo_QVD.qvd&lt;br /&gt;&lt;br /&gt;Como podemos invocar nuestro archivo QVD generado?&lt;br /&gt;&lt;br /&gt;Desde cualquier aplicacion QVW podemos invocar desde nuestro Script de la siguiente froma:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Nombre_Tabla:&lt;br /&gt;LOAD *&lt;br /&gt;FROM Nombre_Archivo_QVD.qvd (QVD);&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Notar que podemos volver a cambiar el nombre de la tabla asignado en nuestra nueva aplicacion QVW&lt;br /&gt;&lt;br /&gt;Pero qué son realmente los archivo QVD?&lt;br /&gt;&lt;br /&gt;Son archivos que en su estructura interna mantinene la forma de un &lt;a href="http://es.wikipedia.org/wiki/XML"&gt;archivo XML&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&amp;lt;qvdtableheader&amp;gt;&lt;br /&gt; &amp;lt;qvbuildno&amp;gt;#numero#&amp;lt;/qvbuildno&amp;gt;&lt;br /&gt; &amp;lt;creatordoc&amp;gt;&amp;lt;/creatordoc&amp;gt;&lt;br /&gt; &amp;lt;createutctime&amp;gt;#fecha#&amp;lt;/createutctime&amp;gt;&lt;br /&gt; &amp;lt;sourcecreateutctime&amp;gt;&amp;lt;/sourcecreateutctime&amp;gt;&lt;br /&gt; &amp;lt;sourcefileutctime&amp;gt;&amp;lt;/sourcefileutctime&amp;gt;&lt;br /&gt; &amp;lt;sourcefilesize&amp;gt;-1&amp;lt;/sourcefilesize&amp;gt;&lt;br /&gt; &amp;lt;staleutctime&amp;gt;&amp;lt;/staleutctime&amp;gt;&lt;br /&gt; &amp;lt;tablename&amp;gt;#nombre qvd#&amp;lt;/tablename&amp;gt;&lt;br /&gt; &amp;lt;fields&amp;gt;&lt;br /&gt;   &amp;lt;qvdfieldheader&amp;gt;&lt;br /&gt;     &amp;lt;fieldname&amp;gt;#titulo columna 1#&amp;lt;/fieldname&amp;gt;&lt;br /&gt;     &amp;lt;bitoffset&amp;gt;#?#&amp;lt;/bitoffset&amp;gt;&lt;br /&gt;     &amp;lt;bitwidth&amp;gt;#?#&amp;lt;/bitwidth&amp;gt;&lt;br /&gt;     &amp;lt;bias&amp;gt;#?#&amp;lt;/bias&amp;gt;&lt;br /&gt;     &amp;lt;numberformat&amp;gt;&lt;br /&gt;       &amp;lt;type&amp;gt;#Tipo#&amp;lt;/type&amp;gt;&lt;br /&gt;       &amp;lt;ndec&amp;gt;#?#&amp;lt;/ndec&amp;gt;&lt;br /&gt;       &amp;lt;usethou&amp;gt;#?#&amp;lt;/usethou&amp;gt;&lt;br /&gt;       &amp;lt;fmt&amp;gt;#formato#&amp;lt;/fmt&amp;gt;&lt;br /&gt;       &amp;lt;dec&amp;gt;,&amp;lt;/dec&amp;gt;&lt;br /&gt;       &amp;lt;thou&amp;gt;&amp;lt;/thou&amp;gt;&lt;br /&gt;     &amp;lt;/numberformat&amp;gt;&lt;br /&gt;     &amp;lt;noofsymbols&amp;gt;#numero de simbolo ?#&amp;lt;/noofsymbols&amp;gt;&lt;br /&gt;     &amp;lt;offset&amp;gt;#?#&amp;lt;/offset&amp;gt;&lt;br /&gt;     &amp;lt;length&amp;gt;#largo#&amp;lt;/length&amp;gt;&lt;br /&gt;   &amp;lt;/qvdfieldheader&amp;gt;&lt;br /&gt;&lt;br /&gt;....&lt;br /&gt;...&lt;br /&gt;..&lt;br /&gt;.&lt;br /&gt;ETC&lt;br /&gt;&lt;br /&gt;&lt;/fields&gt;&lt;/qvdtableheader&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dvu_gFk8hZw/SlO0Ia_2soI/AAAAAAAAADU/JoLPYAJIdik/s1600-h/xml.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 270px; height: 302px;" src="http://1.bp.blogspot.com/_dvu_gFk8hZw/SlO0Ia_2soI/AAAAAAAAADU/JoLPYAJIdik/s320/xml.png" alt="" id="BLOGGER_PHOTO_ID_5355822438652752514" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Pero si son archivos Qvd generados y mantiene la info en su interior,No tendremos la información actualizada?&lt;br /&gt;&lt;br /&gt;Es uno de los inconvenientes de esta forma de utilizar los datos en nuestras aplicaciones.&lt;br /&gt;&lt;br /&gt;Posible solución para tener datos(Archivos QVD) actualizados?&lt;br /&gt;&lt;br /&gt;Solucion 1:&lt;br /&gt;Crear una tarea programada en windows que nos actualice los datos, extrayendo automaticamente los datos de la Base de Datos a nuestro archivos QVD sin nuestra intervención por ejemplo todos los días en la mañana, para que todos los días podamos usar los datos completos al día de ayer.&lt;br /&gt;&lt;br /&gt;Solucion 2:&lt;br /&gt;Actualizar manualmente los archivos QVD, podremos usar los datos actulizados recientemente, pero si nuestros datos es una base de datos muy grande o se manejan instrucciones sobre funciones, vistas, procedimientos almacenados, triggers, u otra, nuestra carga puede tardar mucho tiempo (horas).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3485226104726247171-8218263681010375652?l=sertaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sertaz.blogspot.com/feeds/8218263681010375652/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3485226104726247171&amp;postID=8218263681010375652' title='2 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/8218263681010375652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/8218263681010375652'/><link rel='alternate' type='text/html' href='http://sertaz.blogspot.com/2009/07/archivo-qvd-qlikview.html' title='Archivo QVD - Qlikview'/><author><name>Sergio Valenzuela Vallejos</name><uri>http://www.blogger.com/profile/14533402935493472546</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_dvu_gFk8hZw/SzJvpbU1k6I/AAAAAAAAAEQ/QI3kbCqKlVQ/S220/yo.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_dvu_gFk8hZw/SlO0Ia_2soI/AAAAAAAAADU/JoLPYAJIdik/s72-c/xml.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3485226104726247171.post-1845242797934344775</id><published>2009-04-15T16:43:00.006-04:00</published><updated>2009-04-15T17:08:57.133-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VBScript'/><category scheme='http://www.blogger.com/atom/ns#' term='Qlikview'/><title type='text'>Qlikview - Habilitar o Deshabilitar Expresion en Tabla o Graficos</title><content type='html'>Si tenemos 10 Expresiones y queremos ver solo 1 o 4 o 8, etc a traves de una macro podemos habilitar o deshabilitar la expresion, lo que nos permite tener 1 tabla o grafico con distintas expresiones y asi no tenemos que crean n tablas o graficos segun las expresiones que deseamos ver.&lt;br /&gt;&lt;br /&gt;para esto cree un campo INLINE en el script que se llama &lt;span style="font-weight:bold;"&gt;Expression&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;LOAD * INLINE [&lt;br /&gt;    Expression '-&gt;nombre campo&lt;br /&gt;    Expresion1&lt;br /&gt;    Expresion2&lt;br /&gt;    Expresion3&lt;br /&gt;    &lt;br /&gt;];&lt;br /&gt;&lt;br /&gt;y le aplique en las propiedades de documento-&gt;macros-&gt;Field Event Triggers cuando OnLoad y OnChange la siguiente macro TypeExpr&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;sub TypeExpr&lt;br /&gt;        'obtengo los campos que deseo ver&lt;br /&gt; set val=ActiveDocument.Fields("Expression").GetSelectedValues&lt;br /&gt; 'instancio el grafico o tabla que deseo habilita o deshabilitar las expresiones&lt;br /&gt;        set chart = ActiveDocument.GetSheetObject("CH15")&lt;br /&gt; set cp = chart.GetProperties&lt;br /&gt;        'reviso cuales expresiones estan seleccionadas&lt;br /&gt; a1=0&lt;br /&gt; a2=0&lt;br /&gt; a3=0&lt;br /&gt; for i=0 to val.Count-1&lt;br /&gt;  if a1=0 then&lt;br /&gt;   if val.Item(i).Text="Expresion1" then&lt;br /&gt;    a1=1&lt;br /&gt;   end if&lt;br /&gt;  end if&lt;br /&gt;  if a2=0 then&lt;br /&gt;   if val.Item(i).Text="Expresion3" then&lt;br /&gt;    a2=1&lt;br /&gt;   end if&lt;br /&gt;  end if&lt;br /&gt;  if a3=0 then&lt;br /&gt;   if val.Item(i).Text="Expresion2" then&lt;br /&gt;    a3=1&lt;br /&gt;   end if&lt;br /&gt;  end if&lt;br /&gt; next&lt;br /&gt; 'si la expresion1 esta seleccionada&lt;br /&gt; if a1=1 then&lt;br /&gt;  set expr0 = cp.Expressions.Item(0).Item(0).Data.ExpressionData&lt;br /&gt;  expr0.Enable = true&lt;br /&gt; else&lt;br /&gt;  set expr0 = cp.Expressions.Item(0).Item(0).Data.ExpressionData&lt;br /&gt;  expr0.Enable = false&lt;br /&gt; end if&lt;br /&gt;        'si la expresion2 esta seleccionada&lt;br /&gt; if a2=1 then&lt;br /&gt;  set expr1 = cp.Expressions.Item(1).Item(0).Data.ExpressionData&lt;br /&gt;  expr1.Enable = true&lt;br /&gt; else&lt;br /&gt;  set expr1 = cp.Expressions.Item(1).Item(0).Data.ExpressionData&lt;br /&gt;  expr1.Enable = false&lt;br /&gt; end if&lt;br /&gt;        'si la expresion3 esta seleccionada&lt;br /&gt; if a3=1 then&lt;br /&gt;  set expr2 = cp.Expressions.Item(2).Item(0).Data.ExpressionData&lt;br /&gt;  expr2.Enable = true&lt;br /&gt; else&lt;br /&gt;  set expr2 = cp.Expressions.Item(2).Item(0).Data.ExpressionData&lt;br /&gt;  expr2.Enable = false&lt;br /&gt; end if&lt;br /&gt;&lt;br /&gt; 'habilito o deshabilito las expresiones seleccionada &lt;br /&gt; chart.SetProperties cp&lt;br /&gt; &lt;br /&gt;end sub&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3485226104726247171-1845242797934344775?l=sertaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sertaz.blogspot.com/feeds/1845242797934344775/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3485226104726247171&amp;postID=1845242797934344775' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/1845242797934344775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/1845242797934344775'/><link rel='alternate' type='text/html' href='http://sertaz.blogspot.com/2009/04/habilitar-o-deshabilitar-expresion-en.html' title='Qlikview - Habilitar o Deshabilitar Expresion en Tabla o Graficos'/><author><name>Sergio Valenzuela Vallejos</name><uri>http://www.blogger.com/profile/14533402935493472546</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_dvu_gFk8hZw/SzJvpbU1k6I/AAAAAAAAAEQ/QI3kbCqKlVQ/S220/yo.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3485226104726247171.post-5428506246545823669</id><published>2009-02-25T17:06:00.007-03:00</published><updated>2009-02-25T17:49:52.441-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VBScript'/><category scheme='http://www.blogger.com/atom/ns#' term='Qlikview'/><title type='text'>Qlikview - Include para VBscript</title><content type='html'>Utilizando el Qlikview necesito unificar para muchos archivos qvw el mismo Modulo (donde se agregan las subrutinas y las funciones), por lo que tengo que crear un archivo vbs, donde tenga todo lo que requiero y desde los archivos qvw tengo que llamar, incluir o importar estas funciones.&lt;br /&gt;&lt;br /&gt;En VBscript no existe una instrucción donde yo pueda incluir desde un archivo vbs otro vbs. &lt;br /&gt;&lt;br /&gt;Si tenemos el archivo1.vbs que imprime un mensaje "Hello Word"&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;sub HolaMundo &lt;br /&gt;msgbox("Hello Word")&lt;br /&gt;end sub&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;y queremos llamar desde otro archivo vbs(Archivo2.vbs) este mensaje, no existe una funcion como la de php por ejemplo &lt;blockquote&gt;include("nombre.php");&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;ahora, buscando en la web encontre una solución a esto, pero tenemos que crear una subrutina que lo simule.&lt;br /&gt;&lt;br /&gt;entonces debemos hacer lo siguiente, tenemos nuestras funciones o subrutinas en &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;span style="font-style:italic;"&gt;archivo1.vbs&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;sub holaMundo&lt;br /&gt;     msgbox("Hello World")&lt;br /&gt;end sub&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;entonces debemos agregar en nuestro qrchivo2.vbs lo siguienre para poder utilizar las funciones o subrutinas de Archivo1.vbs.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;span style="font-style:italic;"&gt;archivo2.vbs&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Import "C:\Archivo1.vbs" &lt;br /&gt;&lt;br /&gt;Sub Import(ByVal strFile)&lt;br /&gt;   Set objFs = CreateObject("Scripting.FileSystemObject")&lt;br /&gt;   Set WshShell = CreateObject("WScript.Shell")&lt;br /&gt;   strFile = WshShell.ExpandEnvironmentStrings(strFile)&lt;br /&gt;   file = objFs.GetAbsolutePathName(strFile)&lt;br /&gt;   Set objFile = objFs.OpenTextFile(strFile)&lt;br /&gt;   strCode = objFile.ReadAll&lt;br /&gt;   objFile.Close&lt;br /&gt;   ExecuteGlobal(strCode)&lt;br /&gt;End Sub&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Como yo estoy aplicando esto a Qlikview, realizo lo siguiente&lt;br /&gt;&lt;br /&gt;creo el archivo1.vbs con todas las funciones y subrutinas y desde los archivos qlikview(qvw) agrego en el módulo lo que se debe agregar en el archivo2.vbs y asi puedo modificar una funcion en el archivo1.vbs y cambiara en todos los archivos Qlikview (qvw).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Asi soluciono mi problema de modificar todos los archivos con las mismas funcionalidades cada vez que se hace un cambio.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dvu_gFk8hZw/SaWswgv-gnI/AAAAAAAAADE/4edocY9T-_k/s1600-h/vbs1-2.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 275px; height: 320px;" src="http://4.bp.blogspot.com/_dvu_gFk8hZw/SaWswgv-gnI/AAAAAAAAADE/4edocY9T-_k/s320/vbs1-2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5306837685350859378" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;fuente: &lt;a href="http://www.aspfree.com/c/a/Windows-Scripting/Using-Includes-in-VBScript/5/"&gt;asp free.com&lt;/a&gt;  &lt;-- aqui&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3485226104726247171-5428506246545823669?l=sertaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sertaz.blogspot.com/feeds/5428506246545823669/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3485226104726247171&amp;postID=5428506246545823669' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/5428506246545823669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/5428506246545823669'/><link rel='alternate' type='text/html' href='http://sertaz.blogspot.com/2009/02/include-para-vbscript.html' title='Qlikview - Include para VBscript'/><author><name>Sergio Valenzuela Vallejos</name><uri>http://www.blogger.com/profile/14533402935493472546</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_dvu_gFk8hZw/SzJvpbU1k6I/AAAAAAAAAEQ/QI3kbCqKlVQ/S220/yo.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_dvu_gFk8hZw/SaWswgv-gnI/AAAAAAAAADE/4edocY9T-_k/s72-c/vbs1-2.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3485226104726247171.post-8183185297249000613</id><published>2009-01-20T12:07:00.003-03:00</published><updated>2009-01-20T12:25:08.362-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Qlikview'/><title type='text'>QlikView - Seleccion  y Creación de carpeta</title><content type='html'>Para Seleccionar y Crear una carpeta en el sistema es necesario ralizar lo siguiente&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;BrowseForFolder = ""&lt;br /&gt;    Dim objSHL&lt;br /&gt;    Set objSHL = CreateObject("Shell.Application")&lt;br /&gt;    Dim objB4F&lt;br /&gt;    On Error Resume Next&lt;br /&gt;    Set objB4F = objSHL.BrowseForFolder(&amp;H0,sPMT,&amp;H0031,&amp;H0011)&lt;br /&gt;    BrowseForFolder = objB4F.Self.Path&lt;br /&gt;    if (not objB4F is nothing) then&lt;br /&gt;         Dim fso, fldr&lt;br /&gt;  Set fso = CreateObject("Scripting.FileSystemObject")&lt;br /&gt;  Set fldr = fso.CreateFolder(BrowseForFolder&amp;"\NombreCarpeta")&lt;br /&gt;         'Aqui agregar codigo donde se hace algo &lt;br /&gt;         'dentro de la carpeta creada&lt;br /&gt;         'como por ejemplo exportar todos los objetos&lt;br /&gt;         'de una hoja como xml&lt;br /&gt;  For i = lBound(Objects) To uBound(Objects)&lt;br /&gt;    id = Objects(i).GetObjectId&lt;br /&gt;     Objects(i).WriteXmlPropertiesFile BrowseForFolder&amp;"\NombreCarpeta\ObjBM"&amp;i&amp;".xml"&lt;br /&gt;  next&lt;br /&gt;     'Mensaje de finalización&lt;br /&gt;     MyValue= MsgBox ("Process Export is sucessfull in "&amp;BrowseForFolder&amp;"\NombreCarpeta\*",64,"Export")&lt;br /&gt;    end if&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3485226104726247171-8183185297249000613?l=sertaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sertaz.blogspot.com/feeds/8183185297249000613/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3485226104726247171&amp;postID=8183185297249000613' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/8183185297249000613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/8183185297249000613'/><link rel='alternate' type='text/html' href='http://sertaz.blogspot.com/2009/01/qlikview-seleccion-y-creacin-de-carpeta.html' title='QlikView - Seleccion  y Creación de carpeta'/><author><name>Sergio Valenzuela Vallejos</name><uri>http://www.blogger.com/profile/14533402935493472546</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_dvu_gFk8hZw/SzJvpbU1k6I/AAAAAAAAAEQ/QI3kbCqKlVQ/S220/yo.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3485226104726247171.post-4276858977413641560</id><published>2009-01-19T16:38:00.003-03:00</published><updated>2009-01-19T17:51:40.219-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Qlikview'/><title type='text'>QlikView - NetworkDays</title><content type='html'>La función NetworkDays sirve para evaluar fechas tomando en cuenta dias laborales, es decir, de lunes a viernes y se utiliza de la siguiente manera.&lt;br /&gt;&lt;br /&gt;como expresión o dimensión (calculada)&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;networkdays(fechaInicio,FechaFinal)-1&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;es decir si tenemos las siguientes fechas.&lt;br /&gt;Viernes: 16-01-2009 a Lunes: 19-01-2009&lt;br /&gt;&lt;br /&gt;si obtenemos la diferencia real es &lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;'19-01-2009'-'16-01-2009' =  3 días (Sábado, Domingo, Lunes)&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;pero con la función&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;networkdays('16-01-2009','19-01-2009')-1 = 1 día (Viernes a Lunes)&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;notar que se debe restar por -1 pues la función toma la diferencia con las fecha de incio y final inclusive.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3485226104726247171-4276858977413641560?l=sertaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sertaz.blogspot.com/feeds/4276858977413641560/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3485226104726247171&amp;postID=4276858977413641560' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/4276858977413641560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/4276858977413641560'/><link rel='alternate' type='text/html' href='http://sertaz.blogspot.com/2009/01/qlikview-networkdays.html' title='QlikView - NetworkDays'/><author><name>Sergio Valenzuela Vallejos</name><uri>http://www.blogger.com/profile/14533402935493472546</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_dvu_gFk8hZw/SzJvpbU1k6I/AAAAAAAAAEQ/QI3kbCqKlVQ/S220/yo.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3485226104726247171.post-2833208498834481192</id><published>2009-01-14T11:06:00.006-03:00</published><updated>2009-01-14T11:44:30.884-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Qlikview'/><title type='text'>QlikView - Carga Incremental</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_dvu_gFk8hZw/SW35xdQOp7I/AAAAAAAAAC0/k_96faJQszU/s1600-h/incremental.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 196px; height: 245px;" src="http://3.bp.blogspot.com/_dvu_gFk8hZw/SW35xdQOp7I/AAAAAAAAAC0/k_96faJQszU/s320/incremental.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5291159765291804594" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Qlikview es una herramienta de bussines intelligence, que no utiliza cubos OLAP, por lo que utiliza una nueva metodologia creada por ellos mismos llamada, AQL, descrita en post anterior de Qlikview que maneja finalmente la Nube de Datos (Cloud Data).&lt;br /&gt;&lt;br /&gt;Esta nube de datos se debe recargar para actualizar la información y poder manejarla en la aplicación.&lt;br /&gt;La carga simple, en casos donde se manejan grandes cantidades de información se puede demorar un tiempo considerable, por lo que existen tecnicas para reducir este tiempo de racarga y se llama "Carga Incremental".&lt;br /&gt;&lt;br /&gt;Elementos necesarios para la recarga&lt;br /&gt;  - Archivos QVD.&lt;br /&gt;  - En la tabla de la base de datos un campo con la fecha de la ultima actualizacion.&lt;br /&gt;&lt;br /&gt;un ejemplo para recarga incremental en el script es el siguiente:&lt;br /&gt;&lt;br /&gt;Si se desea hacer la carga incremental de la tabla [NombreTabla], por campo [UltimaActualizacion]&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Let FechaActual = now();&lt;br /&gt;//fecha donde se hizo la ultima recarga&lt;br /&gt;Let UltimaRecarga = ReloadTime();&lt;br /&gt;&lt;br /&gt;[NombreTabla]:&lt;br /&gt;//hasta aqui se cargaran los registros nuevos &lt;br /&gt;//que fueron insertados y los modificados&lt;br /&gt;SQL SELECT &lt;br /&gt;     * &lt;br /&gt;FROM &lt;br /&gt;     [NombreTabla] as NT&lt;br /&gt;WHERE&lt;br /&gt;     NT.[UltimaActualizacion] &gt;= $(UltimaRecarga)&lt;br /&gt;AND  NT.[UltimaActualizacion] &lt; $(FechaActual);&lt;br /&gt;//aqui se uniran los registros nuevos con los &lt;br /&gt;//previamente cargados en los archivos qvd&lt;br /&gt;CONCATENATE&lt;br /&gt;LOAD * FROM [NombreTabla].qvd (qvd)&lt;br /&gt;WHERE NOT EXISTS( [ClavePrimaria] );&lt;br /&gt;//finalmente se eliminaran los que ya no existen&lt;br /&gt;INNER JOIN&lt;br /&gt;SQL SELECT [ClavePrimaria]&lt;br /&gt;FROM [NombreTabla]&lt;br /&gt;//if no se producjo ningun error&lt;br /&gt;if ScriptError = 0 then&lt;br /&gt;     //se guarda el archivo QVD con los datos actualizados&lt;br /&gt;     STORE [NombreTabla]&lt;br /&gt;     INTO [NombreTabla].qvd;&lt;br /&gt;     //se actualiza la fecha de la ultima recarga&lt;br /&gt;     Let UltimaRecarga = FechaActual;&lt;br /&gt;end if&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3485226104726247171-2833208498834481192?l=sertaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sertaz.blogspot.com/feeds/2833208498834481192/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3485226104726247171&amp;postID=2833208498834481192' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/2833208498834481192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/2833208498834481192'/><link rel='alternate' type='text/html' href='http://sertaz.blogspot.com/2009/01/qlikview-carga-incremental.html' title='QlikView - Carga Incremental'/><author><name>Sergio Valenzuela Vallejos</name><uri>http://www.blogger.com/profile/14533402935493472546</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_dvu_gFk8hZw/SzJvpbU1k6I/AAAAAAAAAEQ/QI3kbCqKlVQ/S220/yo.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_dvu_gFk8hZw/SW35xdQOp7I/AAAAAAAAAC0/k_96faJQszU/s72-c/incremental.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3485226104726247171.post-2098090093672224501</id><published>2008-11-18T11:29:00.010-03:00</published><updated>2008-11-18T12:31:40.957-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wiki'/><title type='text'>MediaWiki con MSSQL Server 2005</title><content type='html'>&lt;span style="font-weight: bold;"&gt;MediaWiki con MSSQL Server 2005&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1.- Descargar mediawiki &lt;a href="http://www.mediawiki.org/wiki/MediaWiki"&gt;download&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2.- Decompimimos el contenido de la carpeta dentro de nuestro Servidor Web&lt;br /&gt;&lt;blockquote&gt;/var/www/&lt;span style="font-style: italic;"&gt;wiki&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;3.- Ingresamos a través de la URL a nuestra wiki para comenzar la instalación&lt;br /&gt;&lt;blockquote&gt;http://localhost/wiki/index.php&lt;/blockquote&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dvu_gFk8hZw/SSLSv-io1AI/AAAAAAAAACA/P62i3YMFhaA/s1600-h/a1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 266px; height: 237px;" src="http://4.bp.blogspot.com/_dvu_gFk8hZw/SSLSv-io1AI/AAAAAAAAACA/P62i3YMFhaA/s320/a1.jpg" alt="" id="BLOGGER_PHOTO_ID_5270006235660866562" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;4.- Configuramos los parametros de nuestro Wiki&lt;br /&gt;&lt;br /&gt;4.1- Primer Problema no encuentra el driver para manejar la base de datos&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dvu_gFk8hZw/SSLVtRTvhfI/AAAAAAAAACI/yXVJDHVkc-E/s1600-h/a2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 146px;" src="http://1.bp.blogspot.com/_dvu_gFk8hZw/SSLVtRTvhfI/AAAAAAAAACI/yXVJDHVkc-E/s320/a2.jpg" alt="" id="BLOGGER_PHOTO_ID_5270009487693940210" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;4.2 Solucion: en la carpeta db existe el arhivo DatabaseMssql.php&lt;br /&gt;&lt;blockquote&gt;/var/www/wiki/include/&lt;span style="font-style: italic;"&gt;db/DatabaseMssql.php&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;Se debe copiar a&lt;br /&gt;&lt;blockquote&gt;/var/www/wiki/include/&lt;span style="font-style: italic;"&gt;DatabaseMssql.php&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;es decir una carpeta más abajo y además cambiar en archivo&lt;br /&gt;&lt;blockquote&gt;/var/www/wiki/config/index.php&lt;br /&gt;&lt;br /&gt;$ourdb['mssql']['fullname']      = 'MSSQL';&lt;br /&gt;$ourdb['mssql']['havedriver']    = 0;&lt;br /&gt;$ourdb['mssql']['compile']       = '&lt;span style="color: rgb(255, 102, 102);"&gt;mssql not ready'; # Change to 'mssql' after includes/DatabaseMssql.php added;&lt;/span&gt;&lt;br /&gt;$ourdb['mssql']['bgcolor']       = '#ffc0cb';&lt;br /&gt;$ourdb['mssql']['rootuser']      = 'administrator';&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Por&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;$ourdb['mssql']['fullname']      = 'MSSQL';&lt;br /&gt;$ourdb['mssql']['havedriver']    = 0;&lt;br /&gt;$ourdb['mssql']['compile']       = &lt;span style="color: rgb(255, 102, 102);"&gt;'mssql';&lt;/span&gt;&lt;br /&gt;$ourdb['mssql']['bgcolor']       = '#ffc0cb';&lt;br /&gt;$ourdb['mssql']['rootuser']      = 'administrator';&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;5.- Ahora completar el contenido del formulario luego de la verificación de entorno.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dvu_gFk8hZw/SSLZ71zoadI/AAAAAAAAACQ/7iigm-0m5QQ/s1600-h/a3.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 83px; height: 320px;" src="http://4.bp.blogspot.com/_dvu_gFk8hZw/SSLZ71zoadI/AAAAAAAAACQ/7iigm-0m5QQ/s320/a3.jpg" alt="" id="BLOGGER_PHOTO_ID_5270014136056048082" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Continuará...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3485226104726247171-2098090093672224501?l=sertaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sertaz.blogspot.com/feeds/2098090093672224501/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3485226104726247171&amp;postID=2098090093672224501' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/2098090093672224501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/2098090093672224501'/><link rel='alternate' type='text/html' href='http://sertaz.blogspot.com/2008/11/mediawiki-con-mssql-server-2005.html' title='MediaWiki con MSSQL Server 2005'/><author><name>Sergio Valenzuela Vallejos</name><uri>http://www.blogger.com/profile/14533402935493472546</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_dvu_gFk8hZw/SzJvpbU1k6I/AAAAAAAAAEQ/QI3kbCqKlVQ/S220/yo.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_dvu_gFk8hZw/SSLSv-io1AI/AAAAAAAAACA/P62i3YMFhaA/s72-c/a1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3485226104726247171.post-6401113944226509740</id><published>2008-03-12T10:21:00.004-03:00</published><updated>2008-12-11T01:07:13.438-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Qlikview'/><title type='text'>QlikView 8</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dvu_gFk8hZw/R9fbgPRqxeI/AAAAAAAAABc/j6kJXmfO9jE/s1600-h/200706162221380.QV_3-D-icon_small_RGB.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_dvu_gFk8hZw/R9fbgPRqxeI/AAAAAAAAABc/j6kJXmfO9jE/s320/200706162221380.QV_3-D-icon_small_RGB.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5176847643588609506" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Qlikview 8 es una herramienta de Business Inteligent, creo el AQL que es la forma de relacionar la informacion, maneja una nube de datos(CLOUD DATA) que es donde carga la informacion que deseamos de diferentes fuentes de datos.&lt;br /&gt;&lt;br /&gt;AQL maneja la informacion en memoria RAM, por lo que no necesita cubos OLAP para crear la muntidimensionalidad, sino crea los cubos dinamicamente en RAM.&lt;br /&gt;&lt;br /&gt;CLOUD DATA la nube de datos es donde cargamos la informacion de las diferentes fuentes de datos, bases de datos, archivos diff, excel, txt, rtf.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3485226104726247171-6401113944226509740?l=sertaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sertaz.blogspot.com/feeds/6401113944226509740/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3485226104726247171&amp;postID=6401113944226509740' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/6401113944226509740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/6401113944226509740'/><link rel='alternate' type='text/html' href='http://sertaz.blogspot.com/2008/03/qlikview-8.html' title='QlikView 8'/><author><name>Sergio Valenzuela Vallejos</name><uri>http://www.blogger.com/profile/14533402935493472546</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_dvu_gFk8hZw/SzJvpbU1k6I/AAAAAAAAAEQ/QI3kbCqKlVQ/S220/yo.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_dvu_gFk8hZw/R9fbgPRqxeI/AAAAAAAAABc/j6kJXmfO9jE/s72-c/200706162221380.QV_3-D-icon_small_RGB.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3485226104726247171.post-6742908987459434449</id><published>2008-03-12T10:05:00.005-03:00</published><updated>2008-12-11T01:07:13.789-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL SERVER'/><title type='text'>Como crear una Funcion SQL SERVER 2005</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_dvu_gFk8hZw/R9fYl_RqxdI/AAAAAAAAABU/hqDDLix5b2Y/s1600-h/3860635301.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_dvu_gFk8hZw/R9fYl_RqxdI/AAAAAAAAABU/hqDDLix5b2Y/s320/3860635301.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5176844443837973970" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Este es una funcion que he creado que sirve para retornar un periodo a partir del ingreso de una fecha.&lt;br /&gt;ejemplo de uso:&lt;br /&gt;        dbo.funcDatePart('semester',Fecha)&lt;br /&gt;        dbo.funcDatePart('quarter',Fecha)&lt;br /&gt;        dbo.funcDatePart('year',Fecha)&lt;br /&gt;        dbo.funcDatePart('month',Fecha)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;para esta funcion me apoyo en la funcion que trae por defecto sqlserver "datepart"&lt;br /&gt;y agrego el periodo de semestres.&lt;br /&gt;&lt;br /&gt;set ANSI_NULLS ON&lt;br /&gt;set QUOTED_IDENTIFIER ON&lt;br /&gt;go&lt;br /&gt;               *nombre del esquema. nombre de la funcion&lt;br /&gt;CREATE FUNCTION [dbo].[funcDatePart]&lt;br /&gt;(      *variable de entrada y tipo&lt;br /&gt; @DateType  varchar(10),&lt;br /&gt; @Date       Datetime&lt;br /&gt;)&lt;br /&gt;*tipo de variable que retornamos&lt;br /&gt;RETURNS int&lt;br /&gt;AS&lt;br /&gt;BEGIN&lt;br /&gt; &lt;br /&gt; DECLARE &lt;br /&gt;        *agregamos las variables que necesitemos para realizar la funcion&lt;br /&gt; @Period int&lt;br /&gt;&lt;br /&gt; SELECT @Period = (&lt;br /&gt;           CASE&lt;br /&gt;             WHEN @DateType = 'year'     THEN datepart(year,@Date)&lt;br /&gt;             WHEN @DateType = 'month'    THEN datepart(month,@Date)&lt;br /&gt;    WHEN @DateType = 'quarter'  THEN datepart(quarter,@Date)&lt;br /&gt;             WHEN @DateType = 'semester' THEN&lt;br /&gt;    (CASE&lt;br /&gt;    WHEN datepart(month,@Date) between 1 and 6&lt;br /&gt;    THEN '1'&lt;br /&gt;    WHEN datepart(month,@Date) between 7 and 12&lt;br /&gt;    THEN '2'&lt;br /&gt;    END&lt;br /&gt;    )&lt;br /&gt;   ELSE&lt;br /&gt;   '0'&lt;br /&gt;           END)&lt;br /&gt;        *Retorno el valor&lt;br /&gt;    RETURN @Period&lt;br /&gt;&lt;br /&gt;END&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3485226104726247171-6742908987459434449?l=sertaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sertaz.blogspot.com/feeds/6742908987459434449/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3485226104726247171&amp;postID=6742908987459434449' title='3 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/6742908987459434449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/6742908987459434449'/><link rel='alternate' type='text/html' href='http://sertaz.blogspot.com/2008/03/como-crear-una-funcion-sql.html' title='Como crear una Funcion SQL SERVER 2005'/><author><name>Sergio Valenzuela Vallejos</name><uri>http://www.blogger.com/profile/14533402935493472546</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_dvu_gFk8hZw/SzJvpbU1k6I/AAAAAAAAAEQ/QI3kbCqKlVQ/S220/yo.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_dvu_gFk8hZw/R9fYl_RqxdI/AAAAAAAAABU/hqDDLix5b2Y/s72-c/3860635301.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3485226104726247171.post-2951165519834171481</id><published>2007-10-23T00:18:00.003-03:00</published><updated>2008-12-11T01:07:13.992-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Ubuntu 7.10 Gutsy Gibbon</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dvu_gFk8hZw/Rx1t7cbbyjI/AAAAAAAAAAs/-HRiGDhk4tY/s1600-h/ubuntu710.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_dvu_gFk8hZw/Rx1t7cbbyjI/AAAAAAAAAAs/-HRiGDhk4tY/s320/ubuntu710.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5124372819028462130" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ya se lanzo la nueva version de Ubuntu 7.10 Gutsy Gibbon, el lanzamiento oficial segun el sitio oficial fue el 18 de Octubre de 2007, aqui le dejo la descarga del sitio oficial &lt;a href="http://www.ubuntu.com/getubuntu/download"&gt;DESCARGA&lt;/a&gt;, ademas aprovecho de anotarles algunas de sus novedades&lt;br /&gt;&lt;br /&gt;Trae incorporada por defecto el Bautizado Compiz Fusion, el Escritio grafico 3D&lt;br /&gt;&lt;br /&gt;Kernel version 2.6.22&lt;br /&gt;&lt;br /&gt;Ademas para los que poseen Laptop, trae una aplcacion que permite interactuar con mas de un monitor, es decir tu laptop mas la salida VGA que traen los Laptop. Ojo que es una aplicacion grafica se llama &lt;a href="https://wiki.ubuntu.com/DisplayConfigGTK"&gt;DisplayConfig&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3485226104726247171-2951165519834171481?l=sertaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sertaz.blogspot.com/feeds/2951165519834171481/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3485226104726247171&amp;postID=2951165519834171481' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/2951165519834171481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/2951165519834171481'/><link rel='alternate' type='text/html' href='http://sertaz.blogspot.com/2007/10/ubuntu-710-gutsy-gibbon.html' title='Ubuntu 7.10 Gutsy Gibbon'/><author><name>Sergio Valenzuela Vallejos</name><uri>http://www.blogger.com/profile/14533402935493472546</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_dvu_gFk8hZw/SzJvpbU1k6I/AAAAAAAAAEQ/QI3kbCqKlVQ/S220/yo.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_dvu_gFk8hZw/Rx1t7cbbyjI/AAAAAAAAAAs/-HRiGDhk4tY/s72-c/ubuntu710.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3485226104726247171.post-1229898545202761506</id><published>2007-08-10T00:41:00.001-04:00</published><updated>2008-08-20T10:57:20.159-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Restaurar Grub</title><content type='html'>Restauracion simple de Grub luego de "echartelo" por casualidad o de instalar windows despues de Linux&lt;br /&gt;&lt;br /&gt;1. iniciamos el computador booteado con un live-cd de linux&lt;br /&gt;2. iniciamos la consola como root&lt;br /&gt;3. montamos nuestra paricion linux, directorio raiz "/"&lt;br /&gt;       3.1 creamos un directorio donde montarlo&lt;br /&gt;                  &lt;span style="font-style: italic;"&gt;root@nodo-laptop:~# mkdir /mnt/linux&lt;/span&gt;&lt;br /&gt;       3.2buscamos cual es nuestra particion linux&lt;br /&gt;                   &lt;span style="font-style: italic;"&gt;root@nodo-laptop:~# fdisk -l&lt;/span&gt;&lt;br /&gt;      3.3 montamos la particion (ext3 tipo de fichero, sda3 MI particion)&lt;br /&gt;                   &lt;span style="font-style: italic;"&gt;root@nodo-laptop:~# mount -t ext3 /dev/sda3 /mnt/linux&lt;/span&gt;&lt;br /&gt;       3.4 cambiamos al direcotrio raiz que montamos&lt;br /&gt;                   &lt;span style="font-style: italic;"&gt;root@nodo-laptop:~# chroot /mnt/linux&lt;/span&gt;&lt;br /&gt;4. iniciamos la consola grub&lt;br /&gt;       &lt;span style="font-style: italic;"&gt;root@nodo-laptop:~# grub&lt;/span&gt;&lt;br /&gt;       4.1 se debe ver algo asi&lt;br /&gt;          &lt;span style="font-style: italic;"&gt;[ Minimal BASH-like line editing is supported.   For&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;         the   first   word,  TAB  lists  possible  command&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;         completions.  Anywhere else TAB lists the possible&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;         completions of a device/filename. ]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;         grub&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;5. buscamos cual es la particion con la que debe iniciar el grub&lt;br /&gt;       &lt;span style="font-style: italic;"&gt;grub&gt; find /boot/grub/stage1&lt;/span&gt;&lt;br /&gt;       5.1 el resultado debe ser algo asi&lt;br /&gt;       &lt;span style="font-style: italic;"&gt;(hd0,2)&lt;/span&gt;&lt;br /&gt;6. configuramos esa particion de inicio&lt;br /&gt;       &lt;span style="font-style: italic;"&gt;grub&gt; root (hd0,2)&lt;/span&gt;&lt;br /&gt;7. configuramos el inicio&lt;br /&gt;       &lt;span style="font-style: italic;"&gt;grub&gt; setup (hd0)&lt;/span&gt;&lt;br /&gt;8. salmos de consola grub&lt;br /&gt;       &lt;span style="font-style: italic;"&gt;grub&gt; quit&lt;/span&gt;&lt;br /&gt;9. reiniciamos y listo aparece nuestro grub como gestor de arranque....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;saludos a todos&lt;br /&gt;&lt;br /&gt;Fuente:&lt;br /&gt;blog &lt;a href="http://primerashuellaslinux.blogspot.com/2005/09/recuperar-grub.html"&gt;primerashuellaslinux&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3485226104726247171-1229898545202761506?l=sertaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sertaz.blogspot.com/feeds/1229898545202761506/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3485226104726247171&amp;postID=1229898545202761506' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/1229898545202761506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/1229898545202761506'/><link rel='alternate' type='text/html' href='http://sertaz.blogspot.com/2007/08/restaurar-grub.html' title='Restaurar Grub'/><author><name>Sergio Valenzuela Vallejos</name><uri>http://www.blogger.com/profile/14533402935493472546</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_dvu_gFk8hZw/SzJvpbU1k6I/AAAAAAAAAEQ/QI3kbCqKlVQ/S220/yo.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3485226104726247171.post-1680930408300064129</id><published>2007-07-21T00:32:00.003-04:00</published><updated>2008-12-11T01:07:14.314-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Sincronizar Ipaq 1930 en Ubuntu</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_dvu_gFk8hZw/RqGXo_bjWmI/AAAAAAAAAAU/5I0c-J6HAhw/s1600-h/Pantallazo.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_dvu_gFk8hZw/RqGXo_bjWmI/AAAAAAAAAAU/5I0c-J6HAhw/s320/Pantallazo.jpg" alt="" id="BLOGGER_PHOTO_ID_5089515784382929506" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Hola&lt;br /&gt;tengo un pocket pc ipaq 1930, no podia sicronizarla hasta hoy!&lt;br /&gt;Leyendo unas guias y paginas en internet, logre manipular los datos a traves de nautilus.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;como se hace?&lt;/span&gt;&lt;br /&gt;1.- Conecta tu pocket pc al pc de escritorio o laptop y prendelo.&lt;br /&gt;2.- Verifica si tu equipo reconoce el pocket pc&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;nodo@nodo-laptop:~$ tail -f /var/log/messages&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;si muestra lo siguiente :&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Jul 21 00:39:13 nodo-laptop kernel: [11181.816000] usb 3-2: new full speed USB device using uhci_hcd and address 15&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Jul 21 00:39:14 nodo-laptop kernel: [11181.964000] usb 3-2: configuration #1 chosen from 1 choice&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Jul 21 00:39:14 nodo-laptop kernel: [11181.968000] ipaq 3-2:1.0: PocketPC PDA converter detected&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Jul 21 00:39:14 nodo-laptop kernel: [11181.968000] usb 3-2: PocketPC PDA converter now attached to ttyUSB0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Significa que reconoce tu pocket pc por ttyUSB0&lt;br /&gt;&lt;br /&gt;3.- Necesitamos instalar lo necesario para poder tener conexion&lt;br /&gt;como root o con sudo&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;apt-get install synce−dccm synce−serial&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;con esto ya podemos manipular el contenido del pocket pc&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ahora manos a la obra para poder sincronizar&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1.- montar el dispositivo&lt;br /&gt;&lt;span style="font-style: italic;"&gt;nodo@nodo-laptop:~$ sudo synce-serial-config /dev/ttyUSB0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;debe mostrar esto&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;You can now run synce-serial-start to start a serial connection.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2.- lanzamos el demonio de la conexion&lt;br /&gt;nodo@nodo-laptop:~$ dccm -d3 -f -p contrasenia&lt;br /&gt;&lt;br /&gt;debe mostrar esto&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;dccm[14381]: Running in foreground&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;dccm[14381]: Listening for connections on port 5679&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;-p contrasenia si tenemos con contrasenia el pocket pc, sino solo dccm -d3 -f&lt;br /&gt;&lt;br /&gt;3.- sincroniamos por fin.&lt;br /&gt;nodo@nodo-laptop:~$ sudo synce-serial-start&lt;br /&gt;&lt;br /&gt;debe decir esto&lt;br /&gt;&lt;br /&gt;synce-serial-start is now waiting for your device to connect&lt;br /&gt;&lt;br /&gt;y en la consola que inicializamos el demonio de la conexion punto 2&lt;br /&gt;&lt;br /&gt;debe decir esto&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;dccm[14381]: Connection from 192.168.131.201 accepted&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;dccm[14381]: this is a password challenge&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;info package (150 bytes):&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;0000: 28 00 00 00 04 14 39 04  (.....9.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;0008: 11 0a 00 00 04 00 00 00  ........&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;0010: aa 60 9b 16 00 00 00 00  .`......&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;0018: 28 00 00 00 3c 00 00 00  (...&lt;...   0020: 5a 00 00 00 76 00 00 00  Z...v...   0028: 50 00 6f 00 63 00 6b 00  P.o.c.k.   0030: 65 00 74 00 5f 00 50 00  e.t._.P.   0038: 43 00 00 00 50 00 6f 00  C...P.o.   0040: 63 00 6b 00 65 00 74 00  c.k.e.t.   0048: 50 00 43 00 00 00 53 00  P.C...S.   0050: 53 00 44 00 4b 00 00 00  S.D.K...   0058: 00 00 68 00 70 00 20 00  ..h.p...   0060: 69 00 50 00 41 00 51 00  i.P.A.Q.   0068: 20 00 68 00 31 00 39 00  ..h.1.9.   0070: 33 00 30 00 00 00 03 00  3.0.....   0078: 00 00 00 00 00 00 04 00  ........   0080: 00 00 02 00 00 00 00 00  ........   0088: 00 00 00 00 00 00 00 00  ........   0090: 00 00 00 00 00 00        ......    0098:                                  dccm[14381]: Talking to 'Pocket_PC', a PocketPC device of type hp iPAQ h1930&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;fin de la sincronizacion&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Como vemos los archivos???&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;instalamos esto &lt;a href="http://nodo.engendro.cl/archivos/synce-gnomevfs_0.9.0-2_i386.deb"&gt;synce-gnomevfs&lt;/a&gt; con&lt;br /&gt;&lt;span style="font-style: italic;"&gt;nodo@nodo-laptop:~$ dpkg -i archivo.deb&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ahora ya podemos ver los archivos con:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;nodo@nodo-laptop:~$ nautilus synce:///&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ahora hacemos lo que queramos con los archivos que tenemos en el pocket pc&lt;br /&gt;&lt;br /&gt;finalmente desconectamos el dispositivo&lt;br /&gt;&lt;span style="font-style: italic;"&gt;nodo@nodo-laptop:~$ synce-serial-abort&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;desconeta tu pocket pc ahora&lt;br /&gt;&lt;br /&gt;saludos&lt;br /&gt;&lt;br /&gt;Fuente&lt;br /&gt;Guía no−Oficial de Ubuntu Linux(Breezy Badger)&lt;br /&gt;Administración: Gabriel Molina − Paco Avila (Monkiki) − Javier Duque (Jotavi) Versión: 6.0 (13 de Octubre de 2005)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3485226104726247171-1680930408300064129?l=sertaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sertaz.blogspot.com/feeds/1680930408300064129/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3485226104726247171&amp;postID=1680930408300064129' title='2 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/1680930408300064129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/1680930408300064129'/><link rel='alternate' type='text/html' href='http://sertaz.blogspot.com/2007/07/sincronizar-ipaq-1930-en-ubuntu.html' title='Sincronizar Ipaq 1930 en Ubuntu'/><author><name>Sergio Valenzuela Vallejos</name><uri>http://www.blogger.com/profile/14533402935493472546</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_dvu_gFk8hZw/SzJvpbU1k6I/AAAAAAAAAEQ/QI3kbCqKlVQ/S220/yo.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_dvu_gFk8hZw/RqGXo_bjWmI/AAAAAAAAAAU/5I0c-J6HAhw/s72-c/Pantallazo.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3485226104726247171.post-2497174463023188381</id><published>2007-07-02T23:18:00.001-04:00</published><updated>2008-08-20T10:56:49.859-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Problemas TSL en AMSN 0.97 UBUNTU</title><content type='html'>la solucion es mas simple de lo que parece:&lt;br /&gt;&lt;br /&gt;1.-  descargate esto &lt;a href="http://nodo.engendro.cl/archivos/tls-1.5.0-linux-x86.tar.gz"&gt;tls-1.5.0-linux-x86.tar.gz&lt;/a&gt;, que es el TSL que te pide amsn&lt;br /&gt;2.-  descomprimelo en /usr/lib , amsn intenta leer desde esta ruta las librerias tsl&lt;br /&gt;3.-  cierra amsn y abrelo denuevo y listo,&lt;br /&gt;&lt;br /&gt;solucionado el problemas de tsl..&lt;br /&gt;&lt;br /&gt;Saludos...&lt;br /&gt;&lt;br /&gt;link Fuente de Solucion:&lt;br /&gt;http://www.ubuntu-es.org/index.php?q=node/29102&lt;br /&gt;Posteado por Javier Aragones&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3485226104726247171-2497174463023188381?l=sertaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sertaz.blogspot.com/feeds/2497174463023188381/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3485226104726247171&amp;postID=2497174463023188381' title='2 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/2497174463023188381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/2497174463023188381'/><link rel='alternate' type='text/html' href='http://sertaz.blogspot.com/2007/07/problemas-tsl-en-amsn-097-ubuntu.html' title='Problemas TSL en AMSN 0.97 UBUNTU'/><author><name>Sergio Valenzuela Vallejos</name><uri>http://www.blogger.com/profile/14533402935493472546</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_dvu_gFk8hZw/SzJvpbU1k6I/AAAAAAAAAEQ/QI3kbCqKlVQ/S220/yo.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3485226104726247171.post-5535068075004573832</id><published>2007-02-13T16:04:00.001-03:00</published><updated>2008-08-20T10:56:27.943-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Problemas Alsa, Todo configurado pero no suena</title><content type='html'>Hola&lt;br /&gt;Tuve un problema en mi laptop con Ubuntu Edgy, al actualizar mi sistema con synaptic dejo de sonar, todo bien configurado pero no sonaba, (todo muy raro), esto ya me habia pasado con dapper en una oportunidad que el resultado final fue reinstalar todo desde cero, esta vez recorri muchos blog, foros etc, muchas paginas en google con problemas con alsa, algunos similares al mio, par suerte mia  acabo de solucionar mi problema:&lt;br /&gt;Tengo una tarjeta de sonido Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family), y utilizo alsa&lt;br /&gt;hoy recorriendo las paginas que google me ofrecia para recorrer, he llegado a &lt;a href="http://www.ubuntu-es.org/index.php?q=node/26035&amp;page=1"&gt;Esta&lt;/a&gt;  que ha resuelto mi problema.&lt;br /&gt;me puse a leer detenidamente cada uno de los post hasta que encontre uno que se titula "YO HE CONSEGUIDO TENER SONIDO" por "Carulli06" &lt;br /&gt;si se dan cuenta tenia el mismo problema y la misma tareta de sonido, me decide incredulo a probar su solucion muy simple y nada esperada.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;"Acabo de solucionarlo. Entre en alsamixer (línea de comandos) y en "headphon" cambié "Line in" por "Line out" o "Headphon" (con ambas funciona). Decir que tenía el RhythmBox funcionando (sin sonar) y simplemente cambiando esto suena o deja de sonar si vuelves a seleccionar "Line in"."&lt;/span&gt;&lt;br /&gt;yo entre al alsamixer y cambie headphone de line in a line out tal cual indica Carulli06 y se me ha solucionado mi problema ya suena nuevamente mi Ubuntu.&lt;br /&gt;&lt;br /&gt;"Diez veces venceremos"(marichiweu)&lt;br /&gt;&lt;br /&gt;La Murtilla(Junajo Montecinos) &lt;- Muy Buena Cancion&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3485226104726247171-5535068075004573832?l=sertaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sertaz.blogspot.com/feeds/5535068075004573832/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3485226104726247171&amp;postID=5535068075004573832' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/5535068075004573832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/5535068075004573832'/><link rel='alternate' type='text/html' href='http://sertaz.blogspot.com/2007/02/problemas-alsa-todo-configurado-pero-no.html' title='Problemas Alsa, Todo configurado pero no suena'/><author><name>Sergio Valenzuela Vallejos</name><uri>http://www.blogger.com/profile/14533402935493472546</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_dvu_gFk8hZw/SzJvpbU1k6I/AAAAAAAAAEQ/QI3kbCqKlVQ/S220/yo.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3485226104726247171.post-572328494838389516</id><published>2007-02-13T00:12:00.001-03:00</published><updated>2008-08-20T10:55:58.978-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Redes'/><title type='text'>Configurando CNWL-311</title><content type='html'>Hola denuevo&lt;br /&gt;Hoy por fin pude configurar mi tarjeta de red inalambrica de mi pc de Escritorio para poder tener internet en la casaa traves de un puente de red, todo hecho en Windows XP&lt;br /&gt;(por lastima), lo que aun no puedo es conectar de mi Laptop con Ubuntu, debo reiniciar a windows para poder entrar, tengo que probar mas opciones&lt;br /&gt;Bueno tengo mi pc Escritorio con Internet que llega a traves de un Rouer D-link 604&lt;br /&gt;y tengo una tarjeta de red pci CNET modelo CNWL-311, bueno la instale 1000000 de veces con el cd que trae y no logre hacerla funcionar lograba conectarme pero era muy inestable no alcanzaba los 60 paquetes enviados y se caia y para recuperar la senial debia hacer maravillas.&lt;br /&gt;hoy buscando entre mis archivos encontre un driver para esta tarjeta, el chipset una rt-2400, por lo que la probe y en 5 segundo desintale, instale el driver, pensando en que no funcionaria, reinicie mi windows y voila!(gracias nfk!) inesperadamete se instalo correctamente mi tarjeta, agrege una conexion le di contrasenia, cree el puente entre mi tarjeta de red alambrica y la inalambrica y todo funciono, llevo mas de 4000 paquetes enviado y 3500 recividos y aun sigue funcinando.&lt;br /&gt;consejo, los drivers que viene en el cd de este modelo es como el 3 &lt;-- mirar de lado &lt;br /&gt;busquen este modelo cnwl-311ab2.01 e instalenlo con toda confianza.&lt;br /&gt;&lt;br /&gt;Hasta la victoria siempre&lt;br /&gt;&lt;br /&gt;"Memorias de un Ingeniero"  &lt;-- muy buen libro, leanlo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3485226104726247171-572328494838389516?l=sertaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sertaz.blogspot.com/feeds/572328494838389516/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3485226104726247171&amp;postID=572328494838389516' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/572328494838389516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3485226104726247171/posts/default/572328494838389516'/><link rel='alternate' type='text/html' href='http://sertaz.blogspot.com/2007/02/configurando-cnw-311.html' title='Configurando CNWL-311'/><author><name>Sergio Valenzuela Vallejos</name><uri>http://www.blogger.com/profile/14533402935493472546</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_dvu_gFk8hZw/SzJvpbU1k6I/AAAAAAAAAEQ/QI3kbCqKlVQ/S220/yo.JPG'/></author><thr:total>1</thr:total></entry></feed>
