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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Comportamiento confuso de la función OFFSET

Finalmente descubrí (o al menos creo que lo hice) que la preservación del linaje de datos de la fila de salida es el problema. La medida que se ejecuta en el contexto del filtro OFFSET hará referencia a la fila de salida de OFFSET, no a la fila de entrada. Esto significa que, si se usan dimensiones para PARTITIONBY y ORDERBY (que el pozo sangriento debería ser IMO), solo las medidas, o columnas en el hecho donde el valor de la entrada y la salida son los mismos, devolverán valores sensibles en el visual.

Por ejemplo, usando este CI en pbix de ejemplo de Adventure Works...

CALCULATE (
    SELECTEDMEASURE (),
    OFFSET (
        -1,
        SUMMARIZE (
            ALLSELECTED ( 'Sales' ),
            'Customer'[Customer ID],
            'Sales Order'[Sales Order]
        ),
        ORDERBY ( 'Sales Order'[Sales Order], ASC ),
        PARTITIONBY ( 'Customer'[Customer ID] )
    )
)

La medida evaluada en el contexto OFFSET, solo se muestra en una fila cruzada...

RobertSlattery_2-1672989384064.png

Esto significa que si hay columnas físicas incluidas en la tabla Hechos (donde el valor es diferente entre las filas original y de desplazamiento), existirá automáticamente en el objeto visual.

Por favor, avíseme si me falta algo aquí.

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Bueno, la respuesta corta es "sí" 🙂

Las funciones de ventana devuelven una fila en su tabla de origen. El contexto externo sólo se utiliza para determinar cuál es la fila actual de la tabla de origen. En consecuencia, su linaje es el de la tabla de origen.

Si mezclas el hecho de la matriz y las columnas tenues, simplemente se convierte en un desastre. Agregue a esto que ALLSELECTED casi siempre está ahí, es la receta perfecta para pasar algunas horas tratando de entender lo que está sucediendo con el contexto del filtro.

Tenga en cuenta: las funciones de la ventana están diseñadas para ser potentes, no simples. Requieren un poco de tiempo para acostumbrarse.

De todos modos, gracias por la pregunta, muestra claramente que tienes una buena comprensión de los principios de DAX, me encantan estas preguntas cuando las veo.

Gracias por confirmar Alberto, ayuda mucho tener tu perspectiva. Espero que este comportamiento se discuta en la comunidad porque, me parece, no es difícil tropezar con él, por lo que la gente probablemente deba ser consciente de ello.

Ciertamente, mi conocimiento de los principios de DAX sería mucho menor sin el contenido compartido por usted y Marco y su equipo. ¡Todos estamos muy agradecidos!

Syndicate_Admin
Administrator
Administrator

@RobertSlattery ,

Puede revisar el siguiente video para comprender mejor la función OFFEST.

NUEVA función OFFSET en DAX

yingyinr_0-1673251952405.png

yingyinr_1-1673252047495.png

Si el anterior no puede ayudarlo, ¿podría proporcionar más datos sin procesar en la tabla 'Cliente' y 'Orden de ventas' (excluya los datos confidenciales) con formato de texto y su resultado esperado con lógica de backend y ejemplos especiales? Por cierto, ¿hay alguna relación creada entre la tabla 'Cliente' y 'Orden de cliente'? Sería útil encontrar la solución. Puede consultar los siguientes enlaces para compartir la información requerida:

Cómo proporcionar datos de ejemplo en el foro de Power BI

Cómo obtener respuestas rápidas a su pregunta

Y Es mejor Si puede compartir un simplificado PBIX. Puede consultar el siguiente enlace para cargar el archivo en la comunidad. Gracias.

Cómo subir PBI en Comunidad

Saludos

Hola, el código que enumeré es para el informe de prueba estándar de Adventure Works, pero agregué un enlace a un ejemplo de trabajo. Había visto el video que enlazaste y como todos los que he visto hasta la fecha, es un ejemplo trivial que no cumple con este problema.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.