Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
apc_123
Helper I
Helper I

creacion de una tabla calculada

Hola buenas tardes

estoy trabajando desde hace poco con PBi y me solicitan un informe:

tengo una tabla cliente = DNI,.....

tengo una tabla visita = dni, fecha visita

se necesita una tabla (entiendo que debido a ello debe ser calculada) donde dado un año (este es un filtro) salgan aquellos clientes que solo vinieron una vez y que en años anteriores vineiron 0 veces, es decir NUEVOS y que al año siguiente cuantas veces vinieron

por ejemplo si se selecciona 2018, salgan los nuevos del 2018 (no vinieron en años anteriores) y cuantas veces vinieron el siguiente año

necesitaria por favor consejo de como abordar este tema.

1 ACCEPTED SOLUTION

@apc_123 

Para ver en una tabla clientes nuevos en un año con las fechas que volvieron al año siguiente puedes:

1) Crear una medida para identificar las fechas de visita del año siguiente:

Visitas Año siguiente =
COUNTROWS (
    CALCULATETABLE (
        VALUES ( 'Tabla Visitas'[Fecha Visita] ),
        FILTER (
            ALL ( 'Tabla Calendario'[Año] ),
            'Tabla Calendario'[Año]
                = SELECTEDVALUE ( 'Tabla Calendario'[Año] ) + 1
        )
    )
)

2) crear una medida para identificar qué clientes volvieron el año siguiente:

ID del año selecc con visitas en el año siguiente = 
VAR IDs = 
    CALCULATETABLE (
        VALUES ( 'Tabla Visitas'[ID Client] ),
        FILTER (
            ALL ('Tabla Calendario'[Año] ),
           'Tabla Calendario'[Año]
                < SELECTEDVALUE ( 'Tabla Calendario'[Año] )
        )
    )
VAR IDsASelecc = 
    CALCULATETABLE(VALUES ( 'Tabla Visitas'[ID Client] ),
    FILTER (
            ALL ('Tabla Calendario'[Año] ),
           'Tabla Calendario'[Año]
                = SELECTEDVALUE ( 'Tabla Calendario'[Año] )
        )
    ) 
VAR IDNY =  CALCULATETABLE(VALUES ( 'Tabla Visitas'[ID Client] ),
    FILTER (
            ALL ('Tabla Calendario'[Año] ),
           'Tabla Calendario'[Año]
                = SELECTEDVALUE ( 'Tabla Calendario'[Año] ) +1
    )
)    
RETURN
COUNTROWS(
    INTERSECT(IDNY, 
    EXCEPT(IDsASelecc, IDs)
    )
    )

 

Crear la tabla con los campos de ClienteID y Fecha visitas de la tabla visitas, añadir el medida de [visitas año siguiente] que acabamos de crear.

Finalmente, seleccionar el visual, ir al panel de filtros, y en el campo ClienteID, selecionar "tipo de filtro" = TopN, añadir la medida [ID del año selecc con visitas en el año siguiente] que acabamos de crear y poner el valor igual a 1.

Te quedará así:

Captura.JPG

 

Te adjunto el nuevo archivo PBIX





Did I answer your question? Mark my post as a solution!
In doing so, you are also helping me. Thank you!

Proud to be a Super User!
Paul on Linkedin.






View solution in original post

6 REPLIES 6
apc_123
Helper I
Helper I

Hola buenas tardes

imaginemos la primera tabla de clientes:

DíasNúmero
1juan
2Pedro
3susana
4Irene
5rafa

y la segunda tabla de visitas

Díasvisita
105/07/18
206/08/18
301/02/19
402/02/19
103/02/19
304/01/20
503/01/20
307/02/20
503/01/20
307/02/20

si seleciono el 2019 veo que ha venido 3,4 y 1

1 descartado porque es repetidor y solo me interesan los nuevos,entonces solo me interesa 3 y 4 porque son nuevos entonces quiero saber cuantas veces han venido incluido cero.

La intencion es montar un dashboard para medir la repeticion del cliente. lo dificil es captar un cliente nuevo, entonces quiero saber si las acciones que hago, permiten que se convierta en repetidor.

y con esa nueva tabla ya montaré un indicador de porcentaje de repetidores, es decir, cuantos nuevos del año seleccionado repetirieron el siguiente año?

muchas gracias!

@apc_123 

 

Gracias por facilitar las muestras de datos. A ver si esto es lo que buscas:

Result.JPG

 

Primero, el modelo de datos (he creado una tabla calendario, ya que es recomendable)

Mdel.JPG

 

La medida para hacer el cálculo de visitas nuevas es:

Nuevas Visitas = 
VAR IDs = // to calculate de client IDs which have visited before the selected year
    CALCULATETABLE (
        VALUES ( 'Tabla Visitas'[ID Client] ),
        FILTER (
            ALL ( 'Tabla Visitas' ),
            YEAR ( 'Tabla Visitas'[Fecha Visita] )
                < SELECTEDVALUE ( 'Tabla Calendario'[Año] )
        )
    )
VAR IDsASelecc = // to calculate de client IDs which have visited in the selected year
    VALUES ( 'Tabla Visitas'[ID Client] )
       
RETURN
    SUMX (
        SUMMARIZE (
            EXCEPT ( IDsASelecc, IDs ), //creates a table which only includes IDs which are present in IDsASelecc but not in IDs
            "Number", DISTINCTCOUNT ( 'Tabla Visitas'[Fecha Visita] )
        ),
        [Number]
    )

 

Te adjunto al mensaje el fichero PBIX para que puedas explorarlo. 





Did I answer your question? Mark my post as a solution!
In doing so, you are also helping me. Thank you!

Proud to be a Super User!
Paul on Linkedin.






Hola

 

muchas gracias por el ejemplo, pero hay un detalle importante, yo no quiero contar las visitas de ese año por ejemplo 2019 (esta bien tenerlo) sino del siguiente

 

es decir, si yo selecciono el 2019, que clientes son nuevos?, pero que clientes han repetido en el 2020?

 

de esta manera se quienes no han repetido y voy a realizar acciones. la columna de numero de viistas es del mismo año del filtro y yo necesito del siguiente

 

Gracias de nuevo

 

@apc_123 

Para ver en una tabla clientes nuevos en un año con las fechas que volvieron al año siguiente puedes:

1) Crear una medida para identificar las fechas de visita del año siguiente:

Visitas Año siguiente =
COUNTROWS (
    CALCULATETABLE (
        VALUES ( 'Tabla Visitas'[Fecha Visita] ),
        FILTER (
            ALL ( 'Tabla Calendario'[Año] ),
            'Tabla Calendario'[Año]
                = SELECTEDVALUE ( 'Tabla Calendario'[Año] ) + 1
        )
    )
)

2) crear una medida para identificar qué clientes volvieron el año siguiente:

ID del año selecc con visitas en el año siguiente = 
VAR IDs = 
    CALCULATETABLE (
        VALUES ( 'Tabla Visitas'[ID Client] ),
        FILTER (
            ALL ('Tabla Calendario'[Año] ),
           'Tabla Calendario'[Año]
                < SELECTEDVALUE ( 'Tabla Calendario'[Año] )
        )
    )
VAR IDsASelecc = 
    CALCULATETABLE(VALUES ( 'Tabla Visitas'[ID Client] ),
    FILTER (
            ALL ('Tabla Calendario'[Año] ),
           'Tabla Calendario'[Año]
                = SELECTEDVALUE ( 'Tabla Calendario'[Año] )
        )
    ) 
VAR IDNY =  CALCULATETABLE(VALUES ( 'Tabla Visitas'[ID Client] ),
    FILTER (
            ALL ('Tabla Calendario'[Año] ),
           'Tabla Calendario'[Año]
                = SELECTEDVALUE ( 'Tabla Calendario'[Año] ) +1
    )
)    
RETURN
COUNTROWS(
    INTERSECT(IDNY, 
    EXCEPT(IDsASelecc, IDs)
    )
    )

 

Crear la tabla con los campos de ClienteID y Fecha visitas de la tabla visitas, añadir el medida de [visitas año siguiente] que acabamos de crear.

Finalmente, seleccionar el visual, ir al panel de filtros, y en el campo ClienteID, selecionar "tipo de filtro" = TopN, añadir la medida [ID del año selecc con visitas en el año siguiente] que acabamos de crear y poner el valor igual a 1.

Te quedará así:

Captura.JPG

 

Te adjunto el nuevo archivo PBIX





Did I answer your question? Mark my post as a solution!
In doing so, you are also helping me. Thank you!

Proud to be a Super User!
Paul on Linkedin.






Muchas gracias!

 

 

PaulDBrown
Community Champion
Community Champion

@apc_123

Puedes por favor facilitarnos una muestra de las tablas (en formato datos; no como imagen) para que podamos preparar la solulción?





Did I answer your question? Mark my post as a solution!
In doing so, you are also helping me. Thank you!

Proud to be a Super User!
Paul on Linkedin.






Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors