jessicaf31
Hola !
No entiendo por qué mi medida en Power Bi for Desktop no funciona: es una función de cálculo con una función de filtro (como vi aquí: https://msdn.microsoft.com/fr-fr/library/dn727121 .aspx)
Como puede ver a continuación, me gustaría ver la suma del monto solo si el día corresponde al último día en mi base de datos (aquí el último día es el miércoles, entonces el día 3, y en la primera tabla podemos ver que el monto para el día 3 es 886K y no 6,76M que corresponde al total de todas las cantidades!) ¿Qué hay de malo en mi fórmula?
sumjoursemaine = CALCULATE (SUM (Transacciones[amount]); FILTRO (TODAS (Transacciones); Transacciones[joursemaine]=[jourdernierjour]))
Gracias !!
Greg_Deckler
En respuesta a jessicaf31
@ jessicaf31 – Creo que su problema es el contexto con su medida jourdernierjour y / o DernierJour. En el contexto de su informe, muestra 3, pero en el contexto de la fila cuando se calcula su medida sumjoursemaine, DernierJour siempre es igual al MAX de esa fila y, por lo tanto, journaldernierjour siempre es igual a la columna joursemaine.
Intente cambiar su medida DernierJour a esto:
DernierJour = MAXX(ALL(Transactions),Transactions[Date])
Lo que esto hace es forzar a DernierJour a evaluar siempre en el contexto de todas las filas, lo que significa que DerierJour siempre será la fecha MAX dentro de la tabla, lo que significa que jourdernierjour siempre será el valor del día de la semana de la fecha MAX en el tabla, lo que * debería * significar que obtiene la respuesta correcta en su informe.
Greg_Deckler
Creo que le falta un «MAX» en su FILTRO. Hice esta medida:
Last Value = CALCULATE(SUM([Value]),FILTER(ALL(dates),[date]=MAX([Date])))
Mi tabla tenía una columna de fecha y una columna de valor, esto devolvió el valor de la última fecha en la tabla.
No estoy seguro de cómo el día 3 (miércoles) es la última fecha en su tabla, pero supongo que así es como funciona su modelo de datos.
jessicaf31
En respuesta a Greg_Deckler
Hola !
Gracias por tu respuesta pero también tengo esta medida, que funciona.
Pero el otro es diferente: no es el máximo de una fecha lo que quiero filtrar, sino solo los días que son iguales a mi último día.
Mi máximo (fecha) = miércoles 24 de febrero, por lo que es el día 3, entonces quiero la suma (valor) de todos los días 3, y tengo este total en mi tabla a la izquierda (886K).
Esta fórmula me muestra los buenos resultados:
sumjoursemaine = CALCULATE (SUM (Transacciones[amount]); FILTRO (TODAS (Transacciones); Transacciones[joursemaine]= 3))
Pero quiero que el último parámetro: 3, sea una variable («jourdernierjour»):
Cuando es una variable no funciona:
Gracias de nuevo !
Jessica
Greg_Deckler
En respuesta a jessicaf31
@ jessicaf31 – Entonces, no estoy muy familiarizado con su modelo de datos, pero aquí, si puede replicar esto, debería llevarlo allí.
Sum of Last Value = VAR LastDayofWeek = AVERAGEX(FILTER(ALL(dates),[date]=MAX([Date])),[DayofWeek]) RETURN ( CALCULATE(SUM([Value]),FILTER(ALL(dates),[DayofWeek]=LastDayofWeek)))
Entonces, primero, averigüe el MÁXIMO de la fecha y en qué se traduce el Día de la Semana. Suponiendo que todos los miércoles son «3», tomar el promedio arrojará 3 sin importar cuántos 3 haya. Mi tabla tiene una columna Fecha y una columna Día de la semana calculada a partir de la fecha usando WEEKDAY ().
Utilice ese valor para filtrar las filas de la tabla y sumar la columna correspondiente ([Value])
jessicaf31
En respuesta a Greg_Deckler
@Greg_Deckler Gracias de nuevo por tomarse el tiempo para responder y ayudarme.
Yo he hecho lo mismo pero todavía no funciona.
Describiré todos los pasos que he realizado y tal vez detectes mi error.
1) He creado un la medida DernierJour = MAX (Transacciones[Date]) (DernierJour significa LastDay en francés )
-> vuelve el miércoles 24 de febrero de 2016
2) He creado un la medida Jourdernierjour = DÍA DE LA SEMANA ([DernierJour]; 2) (para conocer el día del Último Día)
-> devuelve 3
3) He creado un columna joursemaine = DÍA DE LA SEMANA (Transacciones[Date]; 2) (para saber cada día de la semana para cada fecha)
3) Ahora quiero saber el monto total solo para los días que son miércoles (LastDay), así que he creado la medida:
sumjoursemaine = CALCULATE (SUM (Transacciones[amount]); FILTRO (TODAS (Transacciones); Transacciones[joursemaine]=[jourdernierjour]))
-> devuelve el total de todas las transacciones[amount] (6,8M) sin filtrar el último día (quiero 886K)
Mientras que cuando entro en esta fórmula:
sumjoursemaine = CALCULATE (SUM (Transacciones[amount]); FILTRO (TODOS (Transactions); Transacciones[joursemaine]= 3))
Funciona…
Gracias de nuevo !!
Mykhael
En respuesta a jessicaf31
De acuerdo, es muy difícil ayudarlo cuando no tengo mucha información sobre sus datos, PERO, usando los valores que nos mostró, encontré una manera de ayudarlo con su problema, puedo enviarle el archivo Power BI si lo desea. solo dame tu email. Déjeme saber si esto ayuda.
Mejor
Miguel Myers
jessicaf31
En respuesta a Mykhael
@Mykhael ¡¡Muchas gracias por todas estas capturas de pantalla !! Intentaré hacer lo mismo 🙂
La medida sugerida por @Greg_Deckler también funcionó
Gracias por tu tiempo !!
Jessica
Greg_Deckler
En respuesta a jessicaf31
@ jessicaf31 – Creo que su problema es el contexto con su medida jourdernierjour y / o DernierJour. En el contexto de su informe, muestra 3, pero en el contexto de la fila cuando se calcula su medida sumjoursemaine, DernierJour siempre es igual al MAX de esa fila y, por lo tanto, journaldernierjour siempre es igual a la columna joursemaine.
Intente cambiar su medida DernierJour a esto:
DernierJour = MAXX(ALL(Transactions),Transactions[Date])
Lo que esto hace es forzar a DernierJour a evaluar siempre en el contexto de todas las filas, lo que significa que DerierJour siempre será la fecha MAX dentro de la tabla, lo que significa que jourdernierjour siempre será el valor del día de la semana de la fecha MAX en el tabla, lo que * debería * significar que obtiene la respuesta correcta en su informe.
jessicaf31
En respuesta a Greg_Deckler
@Greg_Deckler ¡¡¡Muchas gracias, funcionó !!!
Mykhael
En respuesta a jessicaf31
Hola Jessicaf31
¿Me pueden enviar el archivo? Quiero verlo y comprobar de dónde viene el problema. De esa manera te ayudaré lo antes posible en ese problema que tengas.
Mejor
Mykhael