Clientes Repetidores

  • Javier

    Buenas a todos,

    Me gustaría crear una métrica o columna calculada para identificar los clientes que han repetido compra, por ejemplo para Enero 2022 serían todos los que compraron en 2021 y en enero de 2022.

    Actualmente la tabla que tengo sería la siguiente:

    (ID) - Fecha en diferentes formatos

     

  • Maikollabrador

      Hola Javier,
      Saludos desde Venezuela.

      Lo primero que hay que validar es si todos los campos tienen el formato correcto, es decir “Cust_ID” como texto, “Atributo” como fecha, etc.

      Luego podrías realizar dos métricas, una que sería para contabilizar los clientes.

      Clientes = COUNTROWS([Cust_ID)

      Y luego para que en enero del 2022 tengas los clientes que te compraron en enero del 2021 por ejemplo, se podría utilizar la siguiente función.

      Clientes totales año pasado =
      CALCULATE( [Clientes],SAMEPERIODLASTYEAR(“Nombre de tu tabla”[Atributo]))

      Lo recomendable es que el campo de fecha provenga de tu tabla Calendario.

      Quedo atento,
      Saludos,

      Javier

        Muy buenas,

        Ante todo gracias por la respuesta, no obstante lo que busco en este caso no son el número de clientes del año anterior, sino los clientes que del año anterior que también han efectuado una compra este año, en este caso en enero 2022.

        Respecto a la tabla calendario, totalmente de acuerdo con la buena práctica, no obstante no indique la misma como parte del modelo para no extender la explicación.

        Quedo atento y gracias por la respuesta y la ayuda.

        Un saludo

        Maikollabrador

          Excelente, entendí la situación.

          Sino me equivoco se podría intersectar dos tablas. Una tabla para los clientes que compraron en el 2021 y otra que compraron en el 2022 pero todo esto se hace mediante DAX usando la función “CALCULATETABLE” y la función “INTERSECT”

          El código sería algo así:

          Intersección ventas año 2122 =

          VAR vVentas2021 = CALCULATETABLE(VALUES(“nombre de la tabla”[Cust_ID]),‘Calendario’[año]=“2021”)

          VAR vVentas2022 = CALCULATETABLE(VALUES(“nombre de la tabla”[Cust_ID]),‘Calendario’[año]=“2022”)

          VAR vResult = INTERSECT (vVentas2021,Vventas2022)
          RETURN
          COUNTROWS(vResult)

          Sería cuestión de intentar, creo que funcionaría.
          Disculpas por la sintaxis seguro me faltan comas o parentesis, pero creo que se entiende.

          Saludos Javier.

          Javier

            Muy buenas de nuevo Maikol,

            Primero de todo te quería agradecer de nuevo la predisposición en las dos ocasiones, esta respuesta me sirve muchísimo y la aplicaré como solución.
            Justamente la lógica de la función INTERSECT es idónea para esta ocasión. Un gusto encontrarme con gente como tú.

            Un placer y gracias de nuevo.

            Maikollabrador

              Buen día Javier,

              Para mi es un gusto poder ayudar!

              :+1:t3:

              Javier

                Buenas Maikol,

                Disculpa la molestia, te querría consultar si habría la forma de obtener estos ID’s que coindicen en ambos periodos (clientes que repiten compra) ya que el return me da el número y tiene muy buena pinta pero me gustaría validar los ids en concreto en ambos periodos.

                Gracias de nuevo!

                Maikollabrador

                  Buenos días Javier,
                  Espero que te encuentres muy bien,

                  Te refieres a que te gustaría ver los nombres de los clientes o el código del cliente?

                  Javier

                    Buenas Maikol,

                    En este caso sería el ID ya que es el campo que tengo y por el cual se ha hecho la intersección, con obtener este listado de ids sería genial.

                    Un abrazo!

                  Viendo 8 respuestas - de la 1 a la 8 (de un total de 8)
                  • Debes estar registrado para responder a este debate.