Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.
Hola a todos,
Quiero calcular el número de días entre la primera y la última fecha de un cliente. La fórmula actual para la columna es:
Esta fórmula no tiene en cuenta Customer_ID. Como consecuencia, la suma y el promedio de días es incorrecto. Algunos clientes tienen muchas filas, y algunos clientes sólo unos pocos (ver tabla).
Y la fórmula debe calcular una fila para cada cliente. Por lo tanto, el resultado de la suma debe ser 333 + 1581 - 1914 y el promedio debe ser 957. Pero este no es el caso, ya que toma la suma de cada fila. ¿De qué manera se puede resolver esto?
Customer_ID | Date_end | Date_start | Días entre fechas |
3952 | 31-7-2019 | 1-9-2018 | 333 |
3952 | 31-7-2019 | 1-9-2018 | 333 |
8121 | 31-3-2021 | 1-12-2016 | 1581 |
8121 | 31-3-2021 | 1-12-2016 | 1581 |
8121 | 31-3-2021 | 1-12-2016 | 1581 |
8121 | 31-3-2021 | 1-12-2016 | 1581 |
8121 | 31-3-2021 | 1-12-2016 | 1581 |
8121 | 31-3-2021 | 1-12-2016 | 1581 |
8121 | 31-3-2021 | 1-12-2016 | 1581 |
8121 | 31-3-2021 | 1-12-2016 | 1581 |
Solved! Go to Solution.
Para uso visual de una medida como esta
AverageX(summarize(table,table[Customer_ID],"_Avg",average(Table[Days between dates]]),[_Avg])
Hola
Suponiendo que el número de días es una medida, pruebe esta medida para obtener la suma correcta en la fila Grand/subtotal
•IF(HASONEVALUE(Data[Customer_ID]),[Número de días],SUMX(SUMMARIZE(VALUES(Data[Customer_ID]),Data[Customer_ID],"ABCD",1*(MAX(Data[Date_end])-MIN(Data[Date_end]))),[ABCD]))
Si esto no ayuda, entonces comparte el enlace desde donde puedo descargar tu archivo PBI.
Hola
Suponiendo que el número de días es una medida, pruebe esta medida para obtener la suma correcta en la fila Grand/subtotal
•IF(HASONEVALUE(Data[Customer_ID]),[Número de días],SUMX(SUMMARIZE(VALUES(Data[Customer_ID]),Data[Customer_ID],"ABCD",1*(MAX(Data[Date_end])-MIN(Data[Date_end]))),[ABCD]))
Si esto no ayuda, entonces comparte el enlace desde donde puedo descargar tu archivo PBI.
Gracias, @Ashish_Mathur
Esta fórmula es un poco más de trabajo en comparación con las otras soluciones, pero la fórmula funciona :).
En la fórmula hay un pequeño error; es MIN(Data[Date_start]. Por lo tanto, para evitar confusiones para los demás, la fórmula es la siguiente:
•IF(HASONEVALUE(Data[Customer_ID]),[Número de días],SUMX(SUMMARIZE(VALUES(Data[Customer_ID]),Datos[Customer_ID],"ABCD",1*(MAX(Data[Date_end])-MIN(Datos[Date_start])))[ABCD]))
De nada.
hola @Johan94
Esto parece un problema de totales de medida. Muy común. Ver este post al respecto
https://community.powerbi.com/t5/DAX-Commands-and-Tips/Dealing-with-Measure-Totals/td-p/63376
Además, esta medida rápida, medida totales, la palabra final debe obtener lo que necesita:
https://community.powerbi.com/t5/Quick-Measures-Gallery/Measure-Totals-The-Final-Word/m-p/547907
Para su caso, simplemente cree dos medidas como se muestra a continuación:
outcome of the Sum =
var _table=SUMMARIZE('Table','Table'[Customer_ID],"_value",AVERAGE('Table'[Number of days]))
return
SUMX(_table,[_value])
outcome of the Avg =
var _table=SUMMARIZE('Table','Table'[Customer_ID],"_value",AVERAGE('Table'[Number of days]))
return
AVERAGEX(_table,[_value])
Resultado:
y aquí está el archivo pbix de muestra, por favor pruébelo.
saludos
Lin
Para uso visual de una medida como esta
AverageX(summarize(table,table[Customer_ID],"_Avg",average(Table[Days between dates]]),[_Avg])