<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Obtener número de clientes recuperados in Mexico</title>
    <link>https://community.qlik.com/t5/Mexico/Obtener-n%C3%BAmero-de-clientes-recuperados/m-p/1751068#M865</link>
    <description>&lt;P&gt;Gracias, finalmente abordé la solución en la carga de datos del siguiente modo.&lt;/P&gt;&lt;P&gt;Luego con el mapping, traslado el "S" de recuperado en la tabla principal de &lt;EM&gt;Facturación&amp;nbsp;&lt;/EM&gt; de modo que resulta con los campos IDCliente, Ejercicio, Facturación (valor en euros), Recuperado (valor S o nulo)&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;temp_Facturacion:
Load * Inline [
cli_eje
AAAAA..2018
AAAAA..2019
AAAAA..2020

BBBBB..2015
BBBBB..2016
BBBBB..2017
BBBBB..2018
BBBBB..2019
BBBBB..2020

CCCCC..2016
CCCCC..2020

DDDDD..2015
DDDDD..2017
DDDDD..2018
DDDDD..2020

EEEEE..2015
EEEEE..2016
EEEEE..2017
EEEEE..2018
];


temp_Recuperados:
NoConcatenate
Load * Inline [
Clave, IDCliente, Ejercicio, Recuperado
];

Let vEje=0;

For vEje=2015 to 2020
    Concatenate(temp_Recuperados)
    Load 
    	cli_eje as Clave,
        SubField(cli_eje,'..',1)  as IDCliente, 
        SubField(cli_eje,'..',2) as Ejercicio,
        'S' as Recuperado               
	Resident temp_Facturacion
    Where SubField(cli_eje,'..',2)=$(vEje) 
    	and NOT Exists(cli_eje, SubField(cli_eje,'..',1)&amp;amp;'..'&amp;amp;($(vEje)-1))
        and ( Exists(cli_eje, SubField(cli_eje,'..',1)&amp;amp;'..'&amp;amp;($(vEje)-2))
        	or Exists(cli_eje, SubField(cli_eje,'..',1)&amp;amp;'..'&amp;amp;($(vEje)-3))
            or Exists(cli_eje, SubField(cli_eje,'..',1)&amp;amp;'..'&amp;amp;($(vEje)-4))
            or Exists(cli_eje, SubField(cli_eje,'..',1)&amp;amp;'..'&amp;amp;($(vEje)-5))
            );            
Next

MAP_RECUPERADOS:
Mapping
Load 
    Clave, 
    Recuperado
Resident temp_Recuperados;&lt;/LI-CODE&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Con este set de datos de prueba, el resultado es el siguiente, que son los recuperados:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 09 Oct 2020 13:11:50 GMT</pubDate>
    <dc:creator>jordimtb</dc:creator>
    <dc:date>2020-10-09T13:11:50Z</dc:date>
    <item>
      <title>Obtener número de clientes recuperados</title>
      <link>https://community.qlik.com/t5/Mexico/Obtener-n%C3%BAmero-de-clientes-recuperados/m-p/1750699#M861</link>
      <description>&lt;P&gt;Buenos días,&amp;nbsp;&lt;/P&gt;&lt;P&gt;tengo que resolver una cuestión que no doy con la clave: Debo obtener los cientes recuperados de un determinado año.&lt;/P&gt;&lt;P&gt;¿Qué se considera por recuperado? Un cliente que ha facturado en este año (2020), no en el pasado (2019) pero sí en cualquier de los 4 anteriores (2018-2015). Pero me serviría si nos acotamos con sólo 2018.&lt;/P&gt;&lt;P&gt;El modelo de datos tengo una tabla &lt;EM&gt;Clientes&lt;/EM&gt; (IDCliente, Nombre) y &lt;EM&gt;Facturación&lt;/EM&gt; anual (IDCliente, Año, Importe).&lt;/P&gt;&lt;P&gt;Quisiera encontrar una sentencia de SetAnalysis que me permita esto. Y si no fuera posible, supongo que se podría poner un flag en la tabla de Facturación que se llame "Recuperado": sí, no.&lt;/P&gt;&lt;P&gt;¿Qué me proponen? Muchas gracias.&lt;/P&gt;</description>
      <pubDate>Thu, 08 Oct 2020 13:45:37 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Mexico/Obtener-n%C3%BAmero-de-clientes-recuperados/m-p/1750699#M861</guid>
      <dc:creator>jordimtb</dc:creator>
      <dc:date>2020-10-08T13:45:37Z</dc:date>
    </item>
    <item>
      <title>Re: Obtener número de clientes recuperados</title>
      <link>https://community.qlik.com/t5/Mexico/Obtener-n%C3%BAmero-de-clientes-recuperados/m-p/1750790#M862</link>
      <description>&lt;P&gt;Tienes algún pequeño set de datos que nos puedas compartir?&lt;/P&gt;</description>
      <pubDate>Thu, 08 Oct 2020 15:57:27 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Mexico/Obtener-n%C3%BAmero-de-clientes-recuperados/m-p/1750790#M862</guid>
      <dc:creator>adriansalas</dc:creator>
      <dc:date>2020-10-08T15:57:27Z</dc:date>
    </item>
    <item>
      <title>Re: Obtener número de clientes recuperados</title>
      <link>https://community.qlik.com/t5/Mexico/Obtener-n%C3%BAmero-de-clientes-recuperados/m-p/1750803#M863</link>
      <description>&lt;P&gt;No se cuántos clientes y facturas sean, pero es más eficiente calcular ésto en script que en set analysis.&lt;/P&gt;&lt;P&gt;Crearía una tabla de banderas que Indique si cada cliente operó o no cada año:&lt;/P&gt;&lt;P&gt;Cliente, F2017, F2018,&amp;nbsp; F2019, F2020&lt;BR /&gt;A,0,0,0,1&lt;BR /&gt;B,1,1,0,1&lt;/P&gt;&lt;P&gt;O bien:&lt;/P&gt;&lt;P&gt;Cliente,Año,Facturó&lt;BR /&gt;A,2017,0&lt;BR /&gt;A,2018,0&lt;BR /&gt;A,2019,0&lt;BR /&gt;A,2020,1&lt;BR /&gt;B,2017,1&lt;BR /&gt;B,2018,1&lt;BR /&gt;B,2019,0&lt;BR /&gt;B,2020,1&lt;/P&gt;&lt;P&gt;Y así.&lt;/P&gt;&lt;P&gt;Ojalá te sirva.&lt;/P&gt;</description>
      <pubDate>Thu, 08 Oct 2020 16:20:01 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Mexico/Obtener-n%C3%BAmero-de-clientes-recuperados/m-p/1750803#M863</guid>
      <dc:creator>amonjaras</dc:creator>
      <dc:date>2020-10-08T16:20:01Z</dc:date>
    </item>
    <item>
      <title>Re: Obtener número de clientes recuperados</title>
      <link>https://community.qlik.com/t5/Mexico/Obtener-n%C3%BAmero-de-clientes-recuperados/m-p/1750812#M864</link>
      <description>&lt;P&gt;Había hecho este set de datos, en tu tabla deberías quitar los registros donde no hubo facturación o agregar el campo en el set analysis&lt;/P&gt;&lt;P&gt;Cliente:&lt;BR /&gt;LOAD * INLINE [&lt;BR /&gt;IDCliente, Nombre&lt;BR /&gt;1, pedro&lt;BR /&gt;2, ana&lt;BR /&gt;3, pepe&lt;BR /&gt;4, lucia&lt;BR /&gt;5, rodri&lt;BR /&gt;];&lt;/P&gt;&lt;P&gt;Facturacion:&lt;BR /&gt;LOAD * INLINE [&lt;BR /&gt;IDCliente, AñoFactura&lt;BR /&gt;1, 2020&lt;BR /&gt;1, 2018&lt;BR /&gt;2, 2020&lt;BR /&gt;2, 2019&lt;BR /&gt;3, 2019&lt;BR /&gt;3, 2018&lt;BR /&gt;4, 2020&lt;BR /&gt;4, 2018&lt;BR /&gt;4, 2017&lt;BR /&gt;5, 2020&lt;BR /&gt;5, 2019&lt;BR /&gt;5, 2018&lt;BR /&gt;5, 2017&lt;BR /&gt;];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;y con este Set Analisis me da el resultado deseado:&lt;/P&gt;&lt;P&gt;= IF((Count({1 &amp;lt;AñoFactura = P({1 &amp;lt;AñoFactura = {2018,2017} &amp;gt;} AñoFactura)&amp;gt; *&lt;BR /&gt;&amp;lt;AñoFactura = P({1 &amp;lt;AñoFactura = {2020} &amp;gt;} AñoFactura)&amp;gt; -&lt;BR /&gt;&amp;lt;AñoFactura = P({1 &amp;lt;AñoFactura = {2019} &amp;gt;} AñoFactura)&amp;gt;&lt;BR /&gt;} Nombre))=1,'Recuperado','')&lt;/P&gt;</description>
      <pubDate>Thu, 08 Oct 2020 16:52:55 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Mexico/Obtener-n%C3%BAmero-de-clientes-recuperados/m-p/1750812#M864</guid>
      <dc:creator>adriansalas</dc:creator>
      <dc:date>2020-10-08T16:52:55Z</dc:date>
    </item>
    <item>
      <title>Re: Obtener número de clientes recuperados</title>
      <link>https://community.qlik.com/t5/Mexico/Obtener-n%C3%BAmero-de-clientes-recuperados/m-p/1751068#M865</link>
      <description>&lt;P&gt;Gracias, finalmente abordé la solución en la carga de datos del siguiente modo.&lt;/P&gt;&lt;P&gt;Luego con el mapping, traslado el "S" de recuperado en la tabla principal de &lt;EM&gt;Facturación&amp;nbsp;&lt;/EM&gt; de modo que resulta con los campos IDCliente, Ejercicio, Facturación (valor en euros), Recuperado (valor S o nulo)&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;temp_Facturacion:
Load * Inline [
cli_eje
AAAAA..2018
AAAAA..2019
AAAAA..2020

BBBBB..2015
BBBBB..2016
BBBBB..2017
BBBBB..2018
BBBBB..2019
BBBBB..2020

CCCCC..2016
CCCCC..2020

DDDDD..2015
DDDDD..2017
DDDDD..2018
DDDDD..2020

EEEEE..2015
EEEEE..2016
EEEEE..2017
EEEEE..2018
];


temp_Recuperados:
NoConcatenate
Load * Inline [
Clave, IDCliente, Ejercicio, Recuperado
];

Let vEje=0;

For vEje=2015 to 2020
    Concatenate(temp_Recuperados)
    Load 
    	cli_eje as Clave,
        SubField(cli_eje,'..',1)  as IDCliente, 
        SubField(cli_eje,'..',2) as Ejercicio,
        'S' as Recuperado               
	Resident temp_Facturacion
    Where SubField(cli_eje,'..',2)=$(vEje) 
    	and NOT Exists(cli_eje, SubField(cli_eje,'..',1)&amp;amp;'..'&amp;amp;($(vEje)-1))
        and ( Exists(cli_eje, SubField(cli_eje,'..',1)&amp;amp;'..'&amp;amp;($(vEje)-2))
        	or Exists(cli_eje, SubField(cli_eje,'..',1)&amp;amp;'..'&amp;amp;($(vEje)-3))
            or Exists(cli_eje, SubField(cli_eje,'..',1)&amp;amp;'..'&amp;amp;($(vEje)-4))
            or Exists(cli_eje, SubField(cli_eje,'..',1)&amp;amp;'..'&amp;amp;($(vEje)-5))
            );            
Next

MAP_RECUPERADOS:
Mapping
Load 
    Clave, 
    Recuperado
Resident temp_Recuperados;&lt;/LI-CODE&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Con este set de datos de prueba, el resultado es el siguiente, que son los recuperados:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 09 Oct 2020 13:11:50 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Mexico/Obtener-n%C3%BAmero-de-clientes-recuperados/m-p/1751068#M865</guid>
      <dc:creator>jordimtb</dc:creator>
      <dc:date>2020-10-09T13:11:50Z</dc:date>
    </item>
  </channel>
</rss>

