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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Anonymous
Not applicable

Filtro en un DAX VAR (temp)

¡¡Hola!!

Tengo un problema al intentar filtrar una tabla temporal en una medida:

tengo una base de datos con esta estructura:

UsuarioAcciónFechaValor
1001Registro01/01/2020
1001perfilación01/01/2020
1001Inversión02/01/20201000
1002Registro20/01/2020
1002perfilación25/01/2020
1003Inversión12/01/20201200
1003Inversión28/03/20201500

Necesito crear una medida para el número de usuarios que realizaron su primera inversión en un período, que también se registraron en ese período. así, la primera parte de la función que ya tengo, pero necesito filtrar que se han registrado en el mismo período

Nuevas Inversiones (New Inversions)
USUARIOS DE VAR - VALORES(Registros[Correo Electrónico] )
VAR TABLE1 - CALCULATETABLE( VALUES( Logs[Email] ),
ALL( Calendario[Fecha] ),
DATESBETWEEN(Calendario[Fecha],[first_date],[User_start_date]))
devolución
COUNTROWS(
EXCEPT( USERS,TABLE1 ) )

Además

first_date: primera fecha de la base de datos

User_start_date la fecha de inicio en el rango de análisis del panel

1 ACCEPTED SOLUTION

Esta medida contará el número de usuarios que se registraron y compraron en el mismo mes. No sé qué significan "inversión" y "perfilación", así que usé el término "inversión" y me aseguré de que hubiera uno en un mes que alguien se registró, porque sus datos originales no tenían eso.

Así que esta tabla:

2020-04-20 18_23_51-DaxStudio - 2.10.2.png

contará 1 registro donde la inversión ocurrió en el mismo mes que el registro para un usuario determinado.

Registration Count = 
VAR UserPurchasePeriods =
 SELECTCOLUMNS(
  FILTER(
   Registrations,
   Registrations[action] = "inversion"
   ),
   "User", Registrations[user],
   "Period", RELATED('Date'[YearMonth])
   )
VAR PurchaseInRegistrationPeriod =
 FILTER(
  Registrations,
  Registrations[action] = "register"
   && RELATED('Date'[YearMonth]) in SELECTCOLUMNS( UserPurchasePeriods, "Period", [Period])
   && Registrations[user] in SELECTCOLUMNS( UserPurchasePeriods, "User", [User])
   )
VAR RegistrationDate = 
 COUNTX(
  PurchaseInRegistrationPeriod,
  [Date]
  )
RETURN
RegistrationDate

Vea el PBIX vinculado aquí. . Esto necesitaba una tabla de fechas para trabajar.



Did I answer your question? Mark my post as a solution!
Did my answers help arrive at a solution? Give it a kudos by clicking the Thumbs Up!

DAX is for Analysis. Power Query is for Data Modeling


Proud to be a Super User!

MCSA: BI Reporting

View solution in original post

4 REPLIES 4
amitchandak
Super User
Super User

@edinsondiaz ,

Para cualquier período necesitas algo como esto


sumx(Summarize(Table,Table[user],Table[period],"_1"
countrows(filter(Table,Table[action] in'"register","inversion"'))),if([_1]>'2,1,0))

edhans
Super User
Super User

Definir "período." ¿El mismo mes, año, trimestre?



Did I answer your question? Mark my post as a solution!
Did my answers help arrive at a solution? Give it a kudos by clicking the Thumbs Up!

DAX is for Analysis. Power Query is for Data Modeling


Proud to be a Super User!

MCSA: BI Reporting
Anonymous
Not applicable

Los períodos son meses, discúlpame, olvidé mencionarlo

Esta medida contará el número de usuarios que se registraron y compraron en el mismo mes. No sé qué significan "inversión" y "perfilación", así que usé el término "inversión" y me aseguré de que hubiera uno en un mes que alguien se registró, porque sus datos originales no tenían eso.

Así que esta tabla:

2020-04-20 18_23_51-DaxStudio - 2.10.2.png

contará 1 registro donde la inversión ocurrió en el mismo mes que el registro para un usuario determinado.

Registration Count = 
VAR UserPurchasePeriods =
 SELECTCOLUMNS(
  FILTER(
   Registrations,
   Registrations[action] = "inversion"
   ),
   "User", Registrations[user],
   "Period", RELATED('Date'[YearMonth])
   )
VAR PurchaseInRegistrationPeriod =
 FILTER(
  Registrations,
  Registrations[action] = "register"
   && RELATED('Date'[YearMonth]) in SELECTCOLUMNS( UserPurchasePeriods, "Period", [Period])
   && Registrations[user] in SELECTCOLUMNS( UserPurchasePeriods, "User", [User])
   )
VAR RegistrationDate = 
 COUNTX(
  PurchaseInRegistrationPeriod,
  [Date]
  )
RETURN
RegistrationDate

Vea el PBIX vinculado aquí. . Esto necesitaba una tabla de fechas para trabajar.



Did I answer your question? Mark my post as a solution!
Did my answers help arrive at a solution? Give it a kudos by clicking the Thumbs Up!

DAX is for Analysis. Power Query is for Data Modeling


Proud to be a Super User!

MCSA: BI Reporting

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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