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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Comparación de medidas en diferentes rangos utilizando el modo de conexión en vivo a SSAS

Hola

Mi empresa está haciendo una prueba de concepto con PowerBI (Hoy usamos SyncFusion que aceptan consultas MDX directamente). Y tenemos un problema con la comparación de datos. Por ejemplo: 'MeasureX fue 33% mayor con Range2 que Range1'. No sabemos cómo hacer eso en PowerBI. En nuestro software de BI real realizamos consultas MDX en el origen, pero PowerBI no acepta consultas MDX con LiveConnection y deseamos LiveConnection.

En MDX lo que obtenemos:

miembro MesRange1 como
agregado ( Date.Date.Range1Begin : Date:Date:Range1End, MeasureX )
miembro MesRange2 como
agregado ( Date.Date.Range2Begin : Date:Date:Range2End, MeasureX )
miembro Porcentaje como
(MesRange2 - MesRange1 ) / MesRange1, format_string 'porcentaje'
Seleccione
• MesRange1, MesRange2, Porcentaje ?
de MyCube
donde User.MyUser

¿Cómo podemos hacer eso con LiveConnection? ¿Es posible habilitar MDX en LiveConnection? ¿O es necesario otro enfoque?

Saludos

Luis

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

No @luishglima ,

¿Cómo está seleccionando los dos intervalos de fechas para su medida?

Dependiendo de la forma en que esto se hace que necesita tener algo similar a este:

Delta X Measure =
tt =
VAR mesrange1 =
    CALCULATE (
        [MEASUREX],
        DATESBETWEEN (
            'Calendar'[Date],
            MIN ( 'Calendar'[Date] ),
            MAX ( 'Calendar'[Date] )
        )
    )
VAR mesrange2 =
    CALCULATE (
        [MEASUREX],
        DATESBETWEEN (
            'Calendar'[Date],
            MIN ( 'Calendar'[Date] ) - 365,
            MAX ( 'Calendar'[Date] ) - 365
        )
    )
RETURN
     ( mesrange2 - mesrange1 ) / mesrange1

En el ejemplo presento que el cálculo se realiza usando una segmentación de datos para el año actual y luego tomo 365 a la fecha máxima y mínima.

MFelix_0-1610800167501.png

Si me puede decir cómo está filtrando la fecha para ambos períodos es sólo una cuestión de ajuste de la segunda parte del cálculo para cada variables de mesrange.

No @MFelix ,

Gracias por tu ayuda. Acerca de su sugerencia: No estoy usando SSAS Tabular, estoy usando SSAS Multidimensional 2014, así que creo que este dax no funcionará, creo que es necesario un miembro calculado MDX.

"¿Cómo está seleccionando los dos intervalos de fechas para su medida?"

Sobre eso:

'Range2' el usuario elegirá en una segmentación en PowerBI:
print slicer DateKey.PNG

Rango1: Se contará el número de días en El rango2, y el Rango1 terminará un día antes del comienzo de Range2, y comenzará dependiendo del recuento de días de rango2. Por ejemplo:

El usuario elige '2021/01/11 - 2021/01/15' para range2 en PowerBI Slicer
El rango1 será de alguna manera '2021/01/06 - 2020/01/10'.

Saludos
Luis

No @luishglima ,

Desde mi punto de vista, puede agregar medidas a SSAS mediante DAX ,¿ha intentado agregar alguna medida a su modelo?

De todos modos, pruebe la siguiente medida si es posible:

Delta X Measure =


VAR mesrange1 =
    CALCULATE (
        [MEASUREX],
        DATESBETWEEN (
            'Calendar'[Date],
            MIN ( 'Calendar'[Date] ) -1,
            MIN ( 'Calendar'[Date] ) - DATEDIFF(MIN ( 'Calendar'[Date] ), MAX ( 'Calendar'[Date] ), DAY)
        )
    )
VAR mesrange2 =
    CALCULATE (
        [MEASUREX],
        DATESBETWEEN (
            'Calendar'[Date],
            MIN ( 'Calendar'[Date] ),
            MAX ( 'Calendar'[Date] )
        )
    )
RETURN
     ( mesrange2 - mesrange1 ) / mesrange1

Esto puede necesitar algunos ajustes.

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.