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.
Hola a todos
En primer lugar lo siento, pero este artículo es un poco largo, pero es realmente confuso para mí trato de explicar claramente
Estoy en problemas con la función anterior. Es una función muy significativa, pero sólo funciona con la columna calculada y me mete en problemas.
Vamos a dar un ejemplo.
Tengo un conjunto de datos como ese.
Fecha | Cliente | Segmento | Tipo | Cantidad | Cantidad |
1.08.2012 | 4015882 | A | Ventas | 1 | 70,57 |
1.09.2012 | 4015882 | A | Ventas | 2 | 227,12 |
1.11.2012 | 4015882 | A | Servicio | 12 | 529,32 |
1.03.2013 | 4015882 | A | Ventas | -3 | -303,1 |
1.08.2018 | 4015882 | A | Servicio | 8 | 20,4 |
1.01.2020 | 4015882 | A | Ventas | 4 | 125,49 |
1.09.2020 | 4015882 | A | Ventas | 2 | 62,47 |
1.08.2012 | 4017723 | B | Ventas | 1 | 1189,31 |
1.03.2016 | 4017723 | B | Servicio | 29 | 1523,88 |
1.11.2012 | 4074720 | D | Ventas | 12 | 84,8 |
1.11.2012 | 4074720 | C | Ventas | 3 | 124,5 |
1.03.2013 | 4074720 | C | Ventas | 1 | 100,3 |
1.03.2013 | 4074720 | D | Ventas | 8 | 45,2 |
1.08.2018 | 4074720 | D | Ventas | 4 | 125,49 |
1.08.2018 | 4074720 | D | Servicio | 14 | 875,2 |
1.01.2020 | 4074720 | D | Ventas | 2 | 15,2 |
1.09.2020 | 4074720 | D | Ventas | 8 | 5 |
Quiero encontrar 2 cosas.
1- La primera fecha de llegada del cliente.
Se creó una columna calculada como esa y filtro sólo "1" valores en mis objetos visuales.
First Time = CALCULATE (
COUNT ( 'Table'[Customer] ),
FILTER (
'Table',
'Table'[Date] <= EARLIER ( 'Table'[Date] )
&& 'Table'[Customer] = EARLIER ( 'Table'[Customer] )
))
Está funcionando bien cuando los clientes tienen sólo 1 valor para cada mes, pero no está funcionando bien si los clientes tienen 2 valores para 1 mes.
2-Encuentra la fecha si los clientes vienen después de 3 años.
3 Year Break =
VAR a =
CALCULATE (
COUNTROWS ( 'Table' ),
FILTER (
'Table',
'Table'[Date] < EARLIER ( 'Table'[Date] )
&& 'Table'[Customer] = EARLIER ( 'Table'[Customer] )))
VAR b =
CALCULATE (
COUNTROWS ( 'Table' ),
FILTER (
'Table',
'Table'[Date] < EARLIER ( 'Table'[Date] )
&& 'Table'[Date] >= EDATE ( EARLIER ( 'Table'[Date] ), -36 )
&& 'Table'[Customer] = EARLIER ( 'Table'[Customer] )))
RETURN
IF ( ISBLANK ( a ) || b > 0, 0, 1 )
Pero de nuevo no está funcionando bien cuando hay 2 récords para un mes.
En el ejemplo:
Como entiendo hacer estas cosas en la columna no está funcionando para mí porque mi reqierment es dinámico y cuando lo hacemos en la columna Se convirtió en estático.
El punto que pido ayuda es que quiero crear estos cálculos como Medida
Aquí está mi archivo PBIX
Solved! Go to Solution.
Hola @alsasloren ,
Puede cambiar la columna [Primera vez] a
First Time = RANKX(FILTER('Table','Table'[Customer] = EARLIER('Table'[Customer])),'Table'[Date],,ASC,Dense)
Utilice otra medida para contar al cliente para un descanso de 3 años:
_3 Year Break = CALCULATE(DISTINCTCOUNT('Table'[Customer]),'Table'[3 Year Break] = 1)+0
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Saludos
Dedmon Dai
@alsasloren , Puede crear una columna como esta
Last Date á maxx(filter('Table' ,[Date] < EARLIER ( [Date] ) && 'Table'[Customer] ? EARLIER ( 'Table'[Customer])),'Table'[Fecha])
Si este nulo, entonces primero visita
Ahora una nueva columna
datediff([Last Date ],[Date] ,DAY) // diff de la última orden
datediff([Last Date ],[Date] ,Month)
Puede cambiar una columna de este tipo en medida con dos cambios
Last Date á maxx(filter(allselected('Table') ,[Date] < max( [Date] ) && 'Table'[Customer] á max( 'Table'[Customer])),'Table'[Date])
Hola @amitchandak ,
Intenté su medida, pero no devuelve el resultado esperado.
Quiero encontrar el recuento de clientes para cada fecha. Compartí la captura de pantalla en la publicación anterior.
Necesito algo así.
Hola @alsasloren ,
Puede cambiar la columna [Primera vez] a
First Time = RANKX(FILTER('Table','Table'[Customer] = EARLIER('Table'[Customer])),'Table'[Date],,ASC,Dense)
Utilice otra medida para contar al cliente para un descanso de 3 años:
_3 Year Break = CALCULATE(DISTINCTCOUNT('Table'[Customer]),'Table'[3 Year Break] = 1)+0
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Saludos
Dedmon Dai
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |