Get certified in Microsoft Fabric—for free! For a limited time, the Microsoft Fabric Community team will be offering free DP-600 exam vouchers. Prepare now
Hola
Estoy en una pérdida absoluta en cuanto a cómo calcular un total acumulado. He intentado el googling, leer los foros, seguir la documentación, descomponer el cálculo, probarlo como una medida y una columna calc'd; Siempre parece referirme al mismo número. Así, por ejemplo; Marzo será 10, 12 de abril, pero en lugar de mostrarme 10 para marzo y 22 para abril, me muestra 10 para marzo y 12 para abril.
Por ejemplo: https://gyazo.com/41bd333cedac290e6980772906ff0034 con una medida
Yo mi columna Mes como una columna de fecha, he intentado usar todo tipo de características incluyendo, calc, sum, sumx, funciones basadas en el tiempo.
El filtro comúnmente recomendado de [Fecha] <-MAX [Fecha] siempre devuelve un error. La función Earlier devuelve errores con preocupaciones que no hay una función por encima de ella. Cualquier ayuda sería muy apreciada; He pasado horas hoy tratando de resolver esto y tengo la sensación de que hay una diferencia en pivottable dax y powerbi dax. Quiero ser capaz de dar forma y transformar mis datos en powerbi, usando dax in powerbi.
Cualquier ayuda sería muy apreciada.
Solved! Go to Solution.
@ElliotP Lamento lo del post original. Era de mi teléfono y tenía errores tipográficos
Bien, aquí está la fórmula para Ejecutar Total como una Columna Calculada (con formato prorerly)
Columna total en ejecución : CALCULATE ( SUM ( 'Todos los datos del sitio web (2)'[UniquePageviews] ), ALL ( 'Todos los datos del sitio web (2)' ), 'Todos los datos del sitio web (2)'[Fecha] <- ANTERIOR ( 'Todos los datos del sitio web (2)'[Fecha] ) )
¡Y como puedes ver, funciona!
Y aquí está la fórmula MEASURE
Medición total en ejecución : CALCULATE ( SUM ( 'Todos los datos del sitio web (2)'[UniquePageviews] ), FILTER ( ALL ( 'Todos los datos del sitio web (2)'), 'Todos los datos del sitio web (2)'[Fecha] <- MAX ( 'Todos los datos del sitio web (2)'[Fecha] ) )
Lo que también funciona...
Eres un SAVER DE VIDA. He estado buscando durante una hora y nada de eso se puso tan simple como tú. ¡Gracias!
No funciona en el modo de consulta directa de PowerBI
¿Cuál es la solución para ello entonces?
Cantidad programada acumulada: CALCULATE(SUM(F_PROJECT_PROGRESS_WORKMEN[Scheduled_QTY]),FILTER(ALL(D_DATE[Date_Key]),D_DATE[Date_Key]>-DATE(YEAR(TODAY()),MONTH(TODAY()),1) && D_DATE[Date_Key]<-[Today's Date]))
Cantidad real acumulada: CALCULATE(SUM(F_PROJECT_PROGRESS_WORKMEN[Actual_QTY]),FILTER(ALL(D_DATE[Date_Key]),D_DATE[Date_Key]>-DATE(YEAR(TODAY()),MONTH(TODAY()),1) && D_DATE[Date_Key]<-[Today's]Date))
Estas son las medidas que creé, ya que no puedo crear columnas en modo de consulta directa. Hemos detectado un problema desconocido.
1. Su modo de consulta directa (conexión en vivo con SQL) no cargó los datos en Power BI
2. El filtro no se puede utilizar en el modo de consulta directa.
3. He escrito esta fórmula para la medida no para la columna
Mi pregunta es:
No puedo encontrar una manera de calcular un total en ejecución, sin usar FILTER. El filtro no se admite en el modo de consulta directa de PowerBi.
Se agradece toda la ayuda
No es compatible con el modo de consulta directa
Total en ejecución en DAX - CALCULATE( SUM('Table'[QTY]),
FILTRO(
ALLSelected('Tabla'),
'Tabla'[Fecha] <-MAX('Tabla'[Fecha])
)
)
Si tengo datos continuos del tipo anterior, ¿cómo calcularé la suma culmativa basada en Mes, Trimestre y Año.
Gracias
Raaghavan
Muchas gracias chicos, realmente lo agradezco. Me ha estado mete la cabeza.
¿Por qué usamos la función de filtro para la medida, pero no para la columna? Revisé y la fórmula de medida también funciona para una nueva columna, pero tengo curiosidad por saber cómo explicación de la diferencia.
Además, sé que esto va a ser aún más complicado; Pero también me gustaría calcular un promedio móvil y final. Voy a tener una oportunidad yo mismo otra vez, pero si @Sean o @Vvelarde conoce la forumla fuera de la cabeza, eso sería muy apreciado.
Muchas gracias.
@ElliotP Bien, ya que no mencionaste cuántos días o mes promedio
Prueba esto...
Media móvil : DIVIDE ( CALCULATE ( SUM ( 'Todos los datos del sitio web (2)'[UniquePageviews] ), FILTER ( ALL ( 'Todos los datos del sitio web (2)' ), 'Todos los datos del sitio web (2)'[Fecha] <- MAX ( 'Todos los datos del sitio web (2)'[Fecha] ) ), CALCULATE ( DISTINCTCOUNT ( 'Todos los datos del sitio web (2)'[Fecha] ), FILTRO ( ALL ( 'Todos los datos del sitio web (2)' ), 'Todos los datos del sitio web (2)'[Fecha] <- MAX ( 'Todos los datos del sitio Web (2)'[Fecha] ) ) ) ) ) ) ) ) ) ) ) )
El Numerador es básicamente su Medida Total en Ejecución (por lo que realmente puede usar el nombre de Medida allí) mientras
El Denominador es el número de días.
Vea la imagen para ver cómo funciona la fórmula
Hola
Mi requisito es mostrar la suma acumulada para la cantidad real y programada desde el inicio del mes actual hasta el día actual del mes actual. La cantidad programada sería para todo el mes actual.
El mes actual es febrero por lo que el eje X tendría días del 1 al 28. Y-Axis mostraría la suma acumulada de la cantidad real y programada.
La cantidad real y programada es de la misma tabla que también contiene la clave de fecha. La clave de fecha es común entre esta tabla y la tabla de fechas.
Probé la medida -
Cantidad programada acumulada: CALCULATE(SUM(F_PROJECT_PROGRESS_WORKMEN[Scheduled_QTY]),FILTER(ALL(D_DATE[Date_Key]),D_DATE[Date_Key]<-MAX(D_DATE[Date_Key]))) pero solo obtengo una barra al final.
Por favor, ayúdame con lo mismo que lo necesito urgentemente. Gracias de antemano.
Gracias por la respuesta rápida y explicada. Recibí lo mismo; excep los valores de la media móvil es el valor, por ejemplo, para el día 5 de 100, simplemente dividido por 5 x 20. En lugar de ser un total de ejecución dividido por el número de días.
Algo así como
Día 1: 10
Día 2: 20
Día 3: 30
Day1avg: 10
Day2avg: 15
Day3avg: 20
Voy a tratar de resolverlo, estoy tratando de utilizar la función DATESBETWEEN y algunas de las funciones anteriores mes y dateadd, pero actualmente me dicen que hay muy pocos argumentos (otro problema).
He tomado su función y agregado en la columna calculada para Cantidad acumulada (total en ejecución); pero ahora me da 1717 ya que parece que no lo estoy filtrando por el día.
He resuelto la primera parte usando la función EARLIER
Media móvil á DIVIDE ( CALCULATE ( SUM ( SUMA ( [Cantidad acumulada1] ), FILTRO ( ALL ( 'Todos los datos del sitio web (2)' ), 'Todos los datos del sitio web (2)'[Fecha] <- ANTERIOR ( 'Todos los datos del sitio web (2)'[Fecha] ) ), CALCULATE ( DISTINCTCOUNTCOUNT ( 'Todos los datos del sitio Web (2)'[Fecha] ), FILTRO ( ALL ( 'Todos los datos del sitio web (2)' ), 'Todos los datos del sitio web (2)'[Fecha] <' ANTERIOR ( 'Todos los datos del sitio web (2)'[Fecha] ) ) ), 0 )
Por lo tanto, produce una media móvil literal.
Ahora se trata de crear una Medida para mostrar AO, Mes en Mes y Día en Día. Esto podría ser más fácil de dividir en unas pocas columnas y calcular de esa manera o utilizar una función inteligente de tiempo.
He creado una medición de media móvil y ahora estoy tratando de crear una columna para producir un mes sobre la media móvil del mes
MovingaverageMeasure á CALCULATE([Movingaveragemonthmeasure], DATESBETWEEN('All Web Site Data (2)'[Date], /*DATESBETWEEN function devuelve una tabla de días basada en fechas de inicio y finalización.*/ FIRSTDATE(PREVIOUSMONTH('All Web Site Data (2)'[Date])), /*PREVIOUSMONTH obtiene todos los días del mes anterior. FIRSTDATE devuelve el primer día de ese mes.*/ LASTDATE(DATEADD('All Web Site Data (2)'[Date],-1,MONTH)) /*DATEADD nos permite navegar por una serie de períodos en el tiempo. LASTDATE obtiene la última fecha.*/ )
Actualmente está devolviendo los mismos números que mi columna 'Moving Average'
----------------
Ignora, olvidé enviar esto hace un rato.
Ok, estoy intentando calcular la Columna Total en Ejecución; hemos tirado y dado forma a los datos de nuevo y rehecho algunas cosas; Cuando utilizo el código:
Columna total en ejecución: CALCULATE (DISTINCTCOUNT('All Web Site Data'[Date - Copy],DATESINPERIOD('All Web Site Data'[Date - Copy], LASTDATE('All Web Site Data'[Fecha - Copia]),-1,DAY )))
Recibo el error "demasiados argumentos fueron paseados a la función DISTINTCOUNT. El número máximo de argumentos para la función es 1."
Luego, cuando agredo un corchete y tengo esto como mi código;
Columna total en ejecución: CALCULATE (DISTINCTCOUNT('All Web Site Data'[Fecha - Copia]), DATESINPERIOD('Todos los datos del sitio web'[Fecha - Copia], LASTDATE('Todos los datos del sitio web'[Fecha - Copia]),-1,DAY ))
Recibo "Se detectó una dependencia circular: Todos los datos del sitio web[Columna total en ejecución], Todos los datos del sitio web[Devolución del mes en el mes], Todos los datos del sitio web[Columna total en ejecución]."
Parece que necesitamos aislar la columna total en ejecución de las otras dos columnas mencionadas?
El colomn total en ejecución es el mismo que mi columna Cantidad acumulada1:
https://gyazo.com/ddbe9a3af55579df7d1f9cfc03daf008
Hemos detectado un problema desconocido.
Acabo de intentar:
Mes a mes Total Sessions ? Calculate(DISTINCTCOUNT('All Web Site Data'[Cumulative Quantity1]), DATESINPERIOD('All Web Site Data'[Date - Copy], LASTDATE('All Web Site Data'[Date - Copy]),-1, MONTH))
Y recibió un error de dependencia circular.
Permítanme intentar usar Sum en lugar de Distinctcount.
Dependencia circular devuelta. hmmmm
Borré la columna de interferencia y la creé como una columna y como medida.
Como columna, simplemente muestra los mismos valores que "Cantidad acumulada1" mi total ya en ejecución.
Intenté agregar las columnas y las medidas a los gráficos en mi página de informe; sin embargo, cuando agredo total acumulado parece estropear y muestra números tremendamente altos en total en un gráfico de barras, como en, es alto desde el principio, en lugar de construir y cada mes cada mes, por ejemplo.
Lo mismo sucede con mi columna Promedio móvil.
Tengo la sensación de que el problema del gráfico puede tener algo que ver con la forma en que el gráfico está interactuando con las columnas.
He creado una medida;
Mes a mes Total SessionsMeasuree - CALCULATE([Cumulative Quantity1M], DATESBETWEEN('All Web Site Data'[Date - Copy], /*DATESBETWEEN function devuelve una tabla de días basada en fechas de inicio y finalización.*/ FIRSTDATE(PREVIOUSMONTH('All Web Site Data'[Date - Copy])), /*PREVIOUSMONTH obtiene todos los días del mes anterior. FIRSTDATE devuelve el primer día de ese mes.*/ LASTDATE(DATEADD('All Web Site Data'[Date - Copy],-1,MONTH)) /*DATEADD nos permite navegar por una serie de períodos en el tiempo. LASTDATE obtiene la última fecha.*/ )
Pero esto ocurre:
¡Muy bien! Sí, como usted dijo - media móvil literal porque no especificó el período de tiempo 7 Día, 1 Mes, 6 semanas, 3 meses...
Para aquellos que tiene que crear el total de ejecución correspondiente primero (que sería de nuevo su numerador)
decir 3 meses y luego usar algo como esto para el denominador
CALCULATE ( DISTINCTCOUNT(Calendar[Year-Month), DATESINPERIOD(CalendarTable[Date], LASTDATE(CalendarTable[Date]),-3,Month )
Sí, debería haber mencionado la fórmula de media móvil que publiqué fue una medida!
Aquí está la Columna...
Check out the October 2024 Power BI update to learn about new features.
Learn from experts, get hands-on experience, and win awesome prizes.