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.
para mantener las cosas simples, mi tabla tiene fecha y precio
fecha de cambio de precio | precio
01-ene-21 | 22
04-ene-21 | 20
16-ene-21 | 18
22-ene-21 | 21
el promedio calculará el promedio simple de los cuatro precios. Quiero que la fórmula DAX calcule el promedio del período teniendo en cuenta el precio de cada día
fecha | precio
01-ene-21 | 22
02-ene-21 | 22
03-ene-21 | 22
04-ene-21 | 20
04-ene-21 | 20
...
intentó experimentar con lastnonblank pero no tuvo éxito. por favor ayuda
Solved! Go to Solution.
En ella @nileshpca ,
Estos son los pasos que puede seguir:
1. Crear medida.
table1_sum =
var _summtable=
SUMMARIZE('Table 2','Table 2'[all date],'Table 2'[price],
"price_change",
var _1=CALCULATE(SUM('Table 2'[price]),FILTER(ALL('Table 2'),'Table 2'[all date]=EARLIER('Table 2'[all date])))
var _2=CALCULATE(SUM('Table 2'[price]),FILTER(ALL('Table 2'),'Table 2'[all date]=EARLIER('Table 2'[all date])-1))
return
IF(
_1<> _2,MINX(FILTER(ALL('Table 2'),'Table 2'[price]=EARLIER('Table 2'[price])),[price]),BLANK()),
"count",COUNTX(FILTER(ALL('Table 2'),'Table 2'[price]=EARLIER('Table 2'[price])),[all date]),
"count_all",COUNTX(ALL('Table 2'),[all date]),
"sum_all",SUMX(ALL('Table 2'),[price]))
return
DIVIDE( SUMX(_summtable,[sum_all]),SUMX(_summtable,[count_all]))
2. Resultado:
Saludos
Liu Yang
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente
En ella @nileshpca ,
Estos son los pasos que puede seguir:
1. Crear medida.
table1_sum =
var _summtable=
SUMMARIZE('Table 2','Table 2'[all date],'Table 2'[price],
"price_change",
var _1=CALCULATE(SUM('Table 2'[price]),FILTER(ALL('Table 2'),'Table 2'[all date]=EARLIER('Table 2'[all date])))
var _2=CALCULATE(SUM('Table 2'[price]),FILTER(ALL('Table 2'),'Table 2'[all date]=EARLIER('Table 2'[all date])-1))
return
IF(
_1<> _2,MINX(FILTER(ALL('Table 2'),'Table 2'[price]=EARLIER('Table 2'[price])),[price]),BLANK()),
"count",COUNTX(FILTER(ALL('Table 2'),'Table 2'[price]=EARLIER('Table 2'[price])),[all date]),
"count_all",COUNTX(ALL('Table 2'),[all date]),
"sum_all",SUMX(ALL('Table 2'),[price]))
return
DIVIDE( SUMX(_summtable,[sum_all]),SUMX(_summtable,[count_all]))
2. Resultado:
Saludos
Liu Yang
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente
gracias.. esto funciona perfectamente
hola
gracias...
está dando un promedio simple de los cuatro precios. Quiero considerar el precio para todos los días del mes. si no estoy claro, se requiere cargar un archivo de muestra con solución..
https://drive.google.com/file/d/15u4fZG4Y2IGHWnGv9G78R6i_OwTXuSXL/view?usp=sharing
nilesh
Hola:
Aquí está el archivo de ejemplo..
https://drive.google.com/file/d/1Qc6dQnkbNHkwAZeoh5eCdeI78JUDblmz/view?usp=sharing
esto funciona muy bien.. pero ¿cómo uso esto si hay 50 productos en 6 años? tendrá que hacer precio con todas las fechas durante 6 años para cada producto. ¿Puede haber una solución dax sin columna calculada... Lo intenté, pero parece que EARLIER no se puede usar en medida.
Sí, ya veo. Debe combinar la tabla 1 en la tabla 2 (en la fecha) y elegir Rellenar para la nueva columna con solo cuatro entradas con la pestaña de transformación. A continuación, puede aplicar su fórmula de promedio regular a esta nueva columna (Precio1).
hola
gracias.. estaba buscando una medida dax en lugar de una solución de consulta de energía, ya que hay muchos productos involucrados. Se dio un ejemplo para un producto para mantenerlo simple
Hola:
He creado otra forma de llegar a la pregunta inicial.
Power Query (ejemplo # 1) es el mejor para muchos elementos y cambios.
Hasta ahora tenemos tres soluciones diferentes a su pregunta original.
Si desea publicar una nueva pregunta con nuevos datos.
Aquí está el enlace del archivo con las diversas soluciones.
¡Gracias! https://drive.google.com/file/d/1Qc6dQnkbNHkwAZeoh5eCdeI78JUDblmz/view?usp=sharing
Muchas gracias. Estoy usando powerquery actualmente, pero solo para 2-3 productos. hay más de 50 productos de más de 6 años. la tabla pq será un gran drenaje de memoria.
estaba pensando si es posible crear una tabla virtual en dax con la columna de fecha de la calandra y el producto seleccionado de la fila de filtro y luego rellenar la tabla virtual.
eso sería increíble, si puede suceder...
Hola:
Creo que si tiene una tabla de fechas adicional (como su tabla 2) y ejecuta el proceso PQ que mencioné (y la suma de DAX mide después), será una solución más rápida que devolverá el procesamiento al editor de consultas. Empujar hacia atrás más cerca de la fuente es generalmente la mejor práctica.
Dicho esto, aquí hay una nueva actualización del archivo. Solo necesita tener su tabla con los cuatro precios en ella llena con todas las fechas del mes. Lo llamé "Tabla de precios". Existe DAX Calc Col.
¡Espero que esta sea la solución para trabajar para ti! https://drive.google.com/file/d/1Qc6dQnkbNHkwAZeoh5eCdeI78JUDblmz/view?usp=sharing
Este enlace tiene la medida DAX en él.
https://drive.google.com/file/d/1Qc6dQnkbNHkwAZeoh5eCdeI78JUDblmz/view?usp=sharing
Hola:
Esto puede dar 27 como respuesta:
Quiero la respuesta 27 de la Tabla1. La Tabla 2 no está en la base de datos real y debe mostrar cómo se calculará el promedio.
Si el precio es una columna
averageX(allselected(Table), Table[price])
si el precio es una medida
calculate(averageX(values(Table[Date], [price]), allselected())