Migración de código MDX a DAX: funciones de retraso y tuplas

Un usuario Pregunto ✅

Anónimo

Tengo que migrar algunas fórmulas MDX a DAX para pasar de Pentaho a Power BI. He estado todo el día tratando de cambiar estas fórmulas pero no estoy obteniendo ningún progreso, mis principales problemas ahora son con estas dos fórmulas:

%succes=Avg([Fecha Oferta.Mes].CurrentMember.Lag(11):[Fecha Oferta.Mes].CurrentMember,[Measures].[Importe Neto Factura]/[Measures].[Importe Neto Oferta])


futureBenefits=[Measures].[Net Offer quantity]*Avg([Date Offer.Month].CurrentMember.Lag(11):[Date offer.month].CurrentMember,[Measures].[% Exito de Of en Fras (Importe)])

Después de eso, tengo que mostrarlos en una matriz, separados por años y meses. He estado tratando de usar cosas como esta:

AVERAGEX(FILTER(offers;DATEADD(dim_time[date];-1;YEAR));SUM(offers[net_quantity_ticket])/SUM(offers[net_quantity_offer]))

Pero no funciona, solo obtengo los mismos resultados que obtengo al usar esto:

AVERAGEX(offers;SUM(offers[net_quantity_ticket])/SUM(offers[net_quantity_offer]))

También intenté usar CALCULATE en lugar de AVERAGEX +FILTER, pero ni siquiera se acepta porque el promedio necesita una columna, no una medida. ¿Alguna sugerencia sobre cómo podría traducir este código? Lo siento pero no puedo publicar ningún dato ya que es confidencial
Muchas gracias por tu ayuda

@Anónimo,

Puede ver el código generado por Medida rápida Promedio móvil.

@Anónimo,

Puede ver el código generado por Medida rápida Promedio móvil.

Anónimo

En respuesta a v-chuncz-msft

Gracias, eso era lo que necesitaba, terminé con un código así:

% success =
IF(
    ISFILTERED('dim_time'[date]);
    ERROR("Time intelligence quick measures can only be grouped or filtered by the Power BI-provided date hierarchy or primary date column.");
    VAR __LAST_DATE = ENDOFMONTH('dim_time'[date].[Date])
    VAR __DATE_PERIOD =
        DATESBETWEEN(
            'dim_time'[date].[Date];
            STARTOFMONTH(DATEADD(__LAST_DATE; -11; MONTH));
            __LAST_DATE
        )
    RETURN
        AVERAGEX(
            CALCULATETABLE(
                SUMMARIZE(
                    VALUES('dim_time');
                    'dim_time'[date].[Year];
                    'dim_time'[date].[QuarterNo];
                    'dim_time'[date].[Quarter];
                    'dim_time'[date].[MonthNo];
                    'dim_time'[date].[Month]
                );
                __DATE_PERIOD
            );
            CALCULATE([% success(Importe)]; ALL('dim_time'[date].[Day]))
        )
)
¡Gracias de nuevo!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *