Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago

USERELATIONSHIP ya no funciona

Hola a todos,

Me enfrento a algún problema con Power BI. Recientemente actualicé mi Editor de Power Query desde el lenguaje "Power Query M' y los pasos aplicados" a una transformación de datos completa a través de una secuencia de comandos de Python implementada en una consulta.

Desde entonces mis medidas de uso de USERELATIONSHIP relacionadas con Date ya no funcionan. Revisé la sección "Modelo" y todo es como antes.

relationship link.png

Las capturas de pantalla siguientes muestran un objeto visual (con su configuración y la fórmula usando USERELATIONSHIP) antes de la actualización:

visual.PNG visual settings.PNG

formula.PNG

Nota: El problema no proviene del uso de punto y coma.

Aquí está el objeto visual, con la misma configuración y fórmula exacta, después de la actualización (se puede ver que el eje "MonthYear" es "(En blanco)") :

visual after.PNG

Gracias por su respuesta.

6 Replies

  • @Samuelgbt , Dudo que la tarea creada tenga marca de tiempo. Cambie el tipo de datos a datetime y elija el formato para tener tiempo para comprobar

    Crear uno sin tiempo

    Fecha de la tarea [Tarea creada. Fecha

    Unirse a esta columna y utilizar

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hola @amitchandak ,

      Gracias por su respuesta,

      No creo que este sea el problema. Como puede ver en la captura de pantalla siguiente, el tipo de datos para "TASK Created" es datetime.

      task created.PNG

      No tengo ni idea de dónde viene el problema.

      • amitchandak's avatar
        amitchandak
        Icon for Super User rankSuper User

        @Samuelgbt , Sí. Ese es el problema. Cree una columna de fecha y únase a esa tabla de fechas

        FECHA DE TASK: [TASK Created]. Fecha

  • v-alq-msft's avatar
    v-alq-msft
    Icon for Community Support rankCommunity Support

    Hola, @Samuelgbt

    Asegúrese de que el tipo de fecha de las dos columnas de dos tablas sea la misma. Acerca de la función USERELATIONSHIP, consulte el documento .

    USERELATIONSHIP(<columnName1>,<columnName2>)  

    <columnName1> normalmente representa el lado de la relación que se va a utilizar. Este argumento no puede ser una expresión.

    <columnName2> normalmente representa el lado o el lado de búsqueda de la relación que se va a utilizar. Este argumento no puede ser una expresión.

    Creé datos para reproducir su escenario. El archivo pbix se adjunta al final.

    Mesa:

    c1.png

    Calendario (una tabla calculada):

    Calendar = CALENDARAUTO()

    Aquí están las relaciones. La relación 'StartDate'<->'Calendar' está activa. 'EndDate'<->'Calendar' está inactivo.

    c2.png

    Puede crear dos medidas como se indica a continuación.

    RelationStart = 
    CALCULATE(
        SUM('Table'[Value]),
        USERELATIONSHIP('Table'[StartDate],'Calendar'[Date]),
        MONTH('Calendar'[Date])>7
    )
    
    RelationEnd = 
    CALCULATE(
        SUM('Table'[Value]),
        USERELATIONSHIP('Table'[EndDate],'Calendar'[Date]),
        MONTH('Calendar'[Date])>7
    )

    Funciona para 'RelationEnd' que utilizan una relación inactiva, donde <columnName1> y <columnName2> tienen el orden correcto.

    c3.png

    Cuando invierto el orden de dos parámetros, 'RelationEnd' no funciona

    RelationEnd = 
    CALCULATE(
        SUM('Table'[Value]),
        USERELATIONSHIP('Calendar'[Date],'Table'[EndDate]),
        MONTH('Calendar'[Date])>7
    )

    c4.png

    Así que asegúrese de que <columnName1> y <columnName2> tengan el orden correcto.

    Saludos

    Allan

    Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hola @v-alq-msft, gracias por la respuesta.

      Hice lo que dijiste y aún no funciona. Seguiré buscando una solución.

      Saludos

      Samuel.