Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
Syndicate_Admin
Administrator
Administrator

Ayuda con SUMX y DATESINPERIOD

Hola a todos, parece que no puedo entender esto. Tengo una medida que necesito sumar en función de otra medida en cada fila de datos. También tengo que resumirlo dinámicamente para los últimos dos años. Estoy pensando que necesito usar SUMX y DATESINPERIOD, pero no puedo averiguar cómo escribir esto para que esto funcione.

Esta medida también se basa en una medida [POS Amt (USD)]

_Design =
CALCULAR([POS Amt (USD)], 'Productos'[Fase de Servicios de Ciclo de Vida] = "Diseño")
Probé esto, pero no parece estar calculando correctamente y creo que puede ser porque no tengo la función SUMX.
diseño _YTD $ =
CALCULAR([_Design],
(DATESINPERIOD('Calendario Fiscal'[Fecha], MÁXIMO('Billings'[Fecha de la factura]), -2, AÑO)))

¿Alguien puede decirme cómo escribir la expresión [_YTD Design $] para que resuma correctamente la iteración de cada fila?

Gracias de antemano.
1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

@Shelley sin conocer los detalles, lo siguiente debería funcionar. Primero, no puede aplicar filtros si el valor está almacenado en una variable, si la sintaxis era correcta, nunca iba a obtener un resultado correcto.

_YTD Design $ =
VAR __LastBillDate = CALCULATE ( MAX ( 'Billings'[Bill Date] ) , REMOVEFILTERS() )
VAR __TableDates = DATESINPERIOD ( 'Fiscal Calendar'[Date] , __LastBillDate, -2 , YEAR )
RETURN
CALCULATE([POS Amt (USD)], 'Products'[LifeCycle Services Phase] = "Design", __TableDates )

Síguenos en LinkedIn (en inglés) y YouTube.gif a nuestro YouTube (en inglés) canal

Revisa mi último video sobre Filtros y minigráficos https://youtu.be/wmwcX8HvNxc

Yo lo haría Elogios si mi solución ayudó. 👉 Si puede dedicar tiempo a publicar la pregunta, también puede hacer esfuerzos para felicitar a quien ayudó a resolver su problema. ¡Es una muestra de agradecimiento!

Visítenos en https://perytus.com, su ventanilla única para proyectos/formación/consultoría relacionados con Power BI.

View solution in original post

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

@Shelley Me alegro, podría ayudar. 👏 Siéntase libre de suscribirse a mi canal de YouTube, tal vez mis videos ya tengan una solución para su próximo desafío. ¡¡Bien!!

Síguenos en LinkedIn (en inglés) y YouTube.gif a nuestro YouTube (en inglés) canal

Revisa mi último video sobre Filtros y minigráficos https://youtu.be/wmwcX8HvNxc

Yo lo haría Elogios si mi solución ayudó. 👉 Si puede dedicar tiempo a publicar la pregunta, también puede hacer esfuerzos para felicitar a quien ayudó a resolver su problema. ¡Es una muestra de agradecimiento!

Visítenos en https://perytus.com, su ventanilla única para proyectos/formación/consultoría relacionados con Power BI.

Syndicate_Admin
Administrator
Administrator

@parry2k ¡Gracias! Entonces, mi fórmula original funcionó para su medida y donde estaba cayendo fue en mi siguiente paso donde luego tuve que contar el número de clientes con Design $. Entonces, a pesar de que era la fórmula de conteo sin el resultado correcto, pensé que se debía a este cálculo de $. Cuando leí por primera vez su solución, supe que parecía prometedora. (aunque no soy lo suficientemente inteligente como para resolverlo yo mismo). De todos modos, una vez implementada, ¡su sugerencia parece haber hecho el truco! ¡MUCHAS GRACIAS! Ahora vamos a mi próximo número.... ¡Ten un buen día!

Syndicate_Admin
Administrator
Administrator

@Shelley sin conocer los detalles, lo siguiente debería funcionar. Primero, no puede aplicar filtros si el valor está almacenado en una variable, si la sintaxis era correcta, nunca iba a obtener un resultado correcto.

_YTD Design $ =
VAR __LastBillDate = CALCULATE ( MAX ( 'Billings'[Bill Date] ) , REMOVEFILTERS() )
VAR __TableDates = DATESINPERIOD ( 'Fiscal Calendar'[Date] , __LastBillDate, -2 , YEAR )
RETURN
CALCULATE([POS Amt (USD)], 'Products'[LifeCycle Services Phase] = "Design", __TableDates )

Síguenos en LinkedIn (en inglés) y YouTube.gif a nuestro YouTube (en inglés) canal

Revisa mi último video sobre Filtros y minigráficos https://youtu.be/wmwcX8HvNxc

Yo lo haría Elogios si mi solución ayudó. 👉 Si puede dedicar tiempo a publicar la pregunta, también puede hacer esfuerzos para felicitar a quien ayudó a resolver su problema. ¡Es una muestra de agradecimiento!

Visítenos en https://perytus.com, su ventanilla única para proyectos/formación/consultoría relacionados con Power BI.

Syndicate_Admin
Administrator
Administrator

Gracias, @TheoC. Lo intenté como estaba escrito y obtuve un error:

La medida de informe tiene un error de sintaxis o semántico en la línea 6, posición 1, notificado por Analysis Services: la expresión true/false no especifica una columna. Cada expresión true/false utilizada como expresión de filtro de tabla debe hacer referencia exactamente a una columna.

Entonces probé esto:

diseño _YTD $ =
DÓNDE _1 = CALCULAR ( MÁXIMO ( 'Billings'[Fecha de la factura] ) , ELIMINARFILTROS() )
DÓNDE _2 = DATESINPERIOD ( 'Calendario Fiscal'[Fecha] , _1 , -2 , AÑO )
DÓNDE _3 = CALCULAR([POS Amt (USD)], 'Productos'[Fase de Servicios de Ciclo de Vida] = "Diseño")
DEVOLUCIÓN
CALCULAR ( _3 , 2 )
Y recibo el mismo error.

Probablemente necesite proporcionar todos los detalles para que usted o cualquier otra persona me ayude, pero esto es tan complicado y no puedo compartir ningún dato ya que es confidencial, tomará mucho tiempo y luego, si hago esto y nadie puede ayudar, entonces perdí un montón de tiempo. Realmente no me gusta tener que usar el modelo AAS de otro equipo para otra cosa que no era la intención original del modelo AAS. Se siente como si estuviera golpeando una clavija cuadrada en un agujero redondo. ¡Gracias de nuevo por la ayuda!



Syndicate_Admin
Administrator
Administrator

¿ @Shelley

¿Puede probar lo siguiente?

diseño _YTD $ =
VAR _1 = CALCULATE ( MAX ( 'Billings'[Fecha de facturación] ) , REMOVEFILTERS() )
VAR _2 = DATESINPERIOD ( 'Calendario Fiscal'[Fecha] , _1 , -2 , AÑO )
DONDE _3 = [_Design]
DEVOLUCIÓN
CALCULAR ( _3 , 2 )

Pido disculpas ya que no he probado la sintaxis. Tenga en cuenta que es posible que deba reemplazar _3 con la medida completa de _Design y también definir la medida [POS Amt (USD)] dentro de la _3.

Déjame saber cómo va.


Seguir

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors
Top Kudoed Authors