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

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Learn more

Reply
Syndicate_Admin
Administrator
Administrator

Problema de DAX

Hola

Así que tengo esta tabla llamada "DEAL", con las oportunidades de mi empresa. Así que tenemos un campo en euros llamado oportunidad, y la fecha de inicio y finalización del proyecto. La oportunidad debe dividirse equitativamente por los días en que el proyecto perdurará. Entonces, si tenemos 2000 euros en 2 meses, deberían ser 1000 para cada uno. Quiero un gráfico que en el eje x esté el año-mes, e y la suma de oportunidades para los diversos proyectos. Así que básicamente itero sobre la tabla DEAL, creo una tabla virtual y sumo. La cosa es que estoy recibiendo el mismo total cada mes. La tabla del calendario no puede filtrar DEAL,

Esto es lo que he probado:

JRRevenue por mes =

SUMX(TRATO,
Dónde Meses_work= CALCULATETABLE(valores(Calendario[Fecha]),Calendario[Fecha]>=ANTERIOR(DEAL[BEGINDATE])&&Calendario[Fecha]<=ANTERIOR(ACUERDO[FECHA DE CIERRE])) ----- obtiene las fechas en las que se está produciendo el proyecto
Dónde new_tab= ADDCOLUMNS(Meses_work,"@Division",ANTERIOR(ACUERDO[OPORTUNIDAD])/countrows(Meses_work)) -- nueva columna llamada división, que tiene los ingresos por mes
Devolución sumx(new_tab,[@Division]))




8 REPLIES 8
Syndicate_Admin
Administrator
Administrator

Probar

JRRevenue per month =
SUMX (
    DEAL,
    VAR Meses_work =
        CALCULATETABLE (
            VALUES ( Calendario[Date] ),
            KEEPFILTERS (
                Calendario[Date] >= EARLIER ( DEAL[BEGINDATE] )
                    && Calendario[Date] <= EARLIER ( DEAL[CLOSEDATE] )
            )
        ) ----- this gets the dates in which the project is occurring
    VAR new_tab =
        ADDCOLUMNS (
            Meses_work,
            "@Division", EARLIER ( DEAL[OPPORTUNITY] ) / COUNTROWS ( Meses_work )
        ) -- new column called division, that has the revenue permonth
    RETURN
        SUMX ( new_tab, [@Division] )
)

Parece que casi hay @johnt75, y gracias.

Cuando hago la devolución, parece que la fórmula no reconoce la fecha del calendario del eje x, como la misma fecha en la nueva tabla/variable de pestañas. Por lo tanto, el eje x no está filtrando la tabla virtual, y obtengo 81000 para este proyecto en ambos meses en lugar de 81000/2 ...

Picture1.png

En lugar de devolver el resultado, puede hacer que devuelva COUNTROWS(Meses_work). Solo quiero verificar si esas fechas se están filtrando correctamente o no.

Con este ID en particular filtrado me está dando 59. Que es el número de días entre el principio y el final. No entiendo... Esto me está volviendo loco ja @johnt75

Probar

JRRevenue per month =
VAR BaseDates =
    VALUES ( Calendario[Date] )
RETURN
    SUMX (
        DEAL,
        VAR BeginDate = DEAL[BEGINDATE]
        VAR CloseDate = DEAL[CLOSEDATE]
        VAR Opportunity = DEAL[OPPORTUNITY]
        VAR Meses_work =
            FILTER (
                BaseDates,
                Calendario[Date] >= BeginDate
                    && Calendario[Date] <= CloseDate
            )
        VAR new_tab =
            ADDCOLUMNS (
                Meses_work,
                "@Division", DIVIDE ( Opportunity, COUNTROWS ( Meses_work ) )
            ) -- new column called division, that has the revenue permonth
        RETURN
            SUMX ( new_tab, [@Division] )
    )

El problema está más o menos resuelto, consideraré esto como la solución aunque necesitaba hacer algunos cambios...

@johnt75 lo siento. Todavía obtengo valores constantes. Aunque me equivoqué, los countrows (meses_work) me están dando 1 por un día en lugar de la cantidad total de días. La variable no está dando la supuesta duración del proyecto, sino las fechas visibles en el contexto del filtro.

¿Un último disparo? No quiero hacerte perder el tiempo. Iré con la solución de pivote / despivote de consulta de poder, si esto no funciona.

¿Cómo estás resumiendo la fecha? ¿Por día o por mes? Porque por día no funcionará, siempre solo se dividirá por 1.

Helpful resources

Announcements
Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

Check out the October 2025 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.