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
Anonymous
Not applicable

Emite combinando USERELATIONSHIP y FILTER en una medida

Hola

Soy muy nuevo en Power BI y no puedo resolver mi problema más reciente. He buscado una solución a este problema sin ningún éxito. Si alguien me puede ayudar, realmente lo agradecería.

He creado la medida a continuación que crea la tabla a continuación:

Enviado Mensualmente ?

CALCULAR (

COUNT ('Problemas'[Resuelto]), ('Problemas'[Estado] - "Enviado" ) ,

USERELATIONSHIP ( 'Issues'[Resuelto], 'Fecha'[Fecha] )

Mes

Subir Total

Total enviado

Enero

1

Febrero

4

Marzo

8

2

Abril

9

Mayo

16

5

Junio

24

6

Julio

3

Agosto

32

Septiembre

48

7

Octubre

56

6

Noviembre

57

4

Diciembre

Detalles de los datos:

  1. La columna de mes es el mes de la tabla Fecha.
  2. El total de carga se deriva a través de la relación activa entre los problemas[Fecha resuelta] y la fecha[fecha]
  3. El total enviado se deriva a través de la relación inactiva entre los problemas[Fecha resuelta] y la fecha[fecha]
  4. Todos mis datos son correctos

Mis problemas:

  1. No puedo obtener un total de ejecución para la columna Total enviado incluso cuando agredo un filtro a mi medida. He actualizado mi medida para que parezca la sintaxis siguiente y en lugar de obtener un total en ejecución, toda la columna Total enviado se borraría. Esto me hizo pensar que estaba relacionado con el tipo de datos, pero hice doble la comprobación para asegurarse de que todas mis fechas eran de hecho tipos de datos de fecha similares. También noté que si comento mi línea USERELATIONSHIP la línea de filtro se ejecuta según lo esperado, pero luego utiliza la relación activa que devuelve datos incorrectos. Necesito que el filtro se ejecute después de USERELATIONSHIP para devolver los datos correctos. ¿Puede alguien ayudarme a corregir esta medida?

Enviado Mensualmente ?

CALCULAR (

COUNT ('Problemas'[Resuelto]), ('Problemas'[Estado] - "Enviado" ) ,

USERELATIONSHIP ( 'Issues'[Resuelto], 'Fecha'[Fecha] ) ,

FILTRO (ALL ('Problemas'), ( 'Problemas'[Resuelto ] <- MAX ('Problemas'[Resuelto] ) ) )

  1. Me gustaría reemplazar todos los valores en blanco con el valor total de los meses anteriores, pero no sé cómo hacerlo. Por ejemplo, me gustaría que el total de carga para el mes de julio sea 24. Una vez más, el total de carga está aprovechando una relación activa. La sintaxis de la relación inactiva también sería útil si es diferente de la relación activa. Esto corregirá la brecha que estoy viendo en mi gráfico de líneas.

Relación activa

sbr_1-1605691488680.png

Relación inactiva

sbr_2-1605691488690.png

2 ACCEPTED SOLUTIONS

Hola, @sbr

Puedes probar esto:

13.png

Si no funciona correctamente, tal vez sea un comportamiento de 'USERELATIONSHIP', el filtro agregado más tarde todavía utiliza la relación original. Si no utiliza filter, la función 'calcular' filtrará automáticamente los datos correspondientes en relaciones inactivas (fecha resuelta) en función del contexto actual.

Si no resuelve su problema, por favor no dude en preguntarme.

Saludos

Janey Guo

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

View solution in original post

Anonymous
Not applicable

Después de la investigación adicional y depuración, pude llegar a la siguiente medida que hace exactamente lo que necesito. A continuación se muestra lo que cambié:

  1. Se ha eliminado la línea "('Issues'[Resolved] <> BLANK()) ya que no estaba agregando ningún valor a mis resultados.
  2. Añadido "ALL" a mi línea FILTER
  3. Se han añadido VAR para permitir la legibilidad, permite que la comparación de año y mes en mi sentencia IF muestre valores en mi gráfico de línea hasta el año/mes actual.

VAR FirstShippedDate ? CALCULATE(MINX('Issues', 'Issues'[Resolved] ) , ('Issues'[State] á "Shipped" ), ALL ('Issues' ))
VAR LastShippedDate ? CALCULATE (MAXX('Issues', 'Issues'[Resolved - Copy-yyyy-mm]) ,('Issues'[State] á "Shipped" ), ALL ('Issues' )
Var MaxCalendarDate ? MAXX('Date', 'Date'[Año-Mes])

devolución
IF ( MaxCalendarDate > LastShippedDate && MaxCalendarDate > TODAY(),
BLANK(),
CALCULATE( COUNT ( 'Issues'[Resuelto] ),
('Emisiones'[Estado] - "Enviado"),
USERELATIONSHIP ('Fecha'[Fecha], 'Problemas'[Resuelto] ) ,
FILTRO ( ALL('Date' ), ('Fecha'[Fecha] <-MAX('Date'[Date]) ))
) )

Muchas gracias por dar a entender que hubo problemas con mi medida y guiarme a cavar más profundo. Inicialmente pensé que una instrucción FILTER no podía seguir una instrucción USERELATIONSHIP, pero ese no es el caso.

¡¡¡Gracias!!!

View solution in original post

12 REPLIES 12
Anonymous
Not applicable

lo siento por todos los errores de mecanografía. por favor, pasarlos por alto.

Anonymous
Not applicable

Muchas gracias por su respuesta. FYI: La medida funciona muy bien sin la instrucción FILTER. El problema que estoy incountering es que la instrucción FILTER que he agregado al final de la medida no me proporciona un total en ejecución en la columna "Total enviado" como se esperaba. Dy tiene algún consejo sobre cómo incoorporar esta instrucción FILTER para que pueda obtener el total en ejecución? A continuación se muestra la medida que estoy usando con el filtro incluido.

Envío Mensual (
CALCULAR (COUNT ('Problemas'[Resuelto]),
('Emisiones'[Estado] - "Enviado" ) ,
('Problemas'[Resuelto] <> BLANK() ) ,
USERELATIONSHIP ('Fecha'[Fecha], 'Problemas'[Resuelto] ) ,
FILTER(('Date'), 'Date'[Date] <- MAX ('Date'[Date]) )

Al ejecutar esta medida se crean los siguientes datos en la columna "Total enviado". Parece estar ingnoring el FILTRO completamente.

Mes

Subir Total

Total enviado

Enero

1

Febrero

4

Marzo

8

2

Abril

9

Mayo

16

5

Junio

24

6

Julio

3

Agosto

32

Septiembre

48

7

Octubre

56

6

Noviembre

70

6

Diciembre

Los resultados deseados deben tener el siguiente aspecto en la columna "Total enviado":

Mes

Subir Total

Total enviado

Enero

1

Febrero

4

Marzo

8

2

Abril

9

2

Mayo

16

7

Junio

24

13

Julio

16

Agosto

32

16

Septiembre

48

23

Octubre

56

29

Noviembre

70

35

Diciembre

¿Alguien tiene algún consejo sobre cómo puedo conseguir que el total de ejecución aparezca en la columna "Total de envío"?

Cualquier consejo proporcionado sería muy apreciado. Me han quedo sin ideas!!!

Hola, @sbr

Puedes probar esto:

13.png

Si no funciona correctamente, tal vez sea un comportamiento de 'USERELATIONSHIP', el filtro agregado más tarde todavía utiliza la relación original. Si no utiliza filter, la función 'calcular' filtrará automáticamente los datos correspondientes en relaciones inactivas (fecha resuelta) en función del contexto actual.

Si no resuelve su problema, por favor no dude en preguntarme.

Saludos

Janey Guo

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

Anonymous
Not applicable

Después de la investigación adicional y depuración, pude llegar a la siguiente medida que hace exactamente lo que necesito. A continuación se muestra lo que cambié:

  1. Se ha eliminado la línea "('Issues'[Resolved] <> BLANK()) ya que no estaba agregando ningún valor a mis resultados.
  2. Añadido "ALL" a mi línea FILTER
  3. Se han añadido VAR para permitir la legibilidad, permite que la comparación de año y mes en mi sentencia IF muestre valores en mi gráfico de línea hasta el año/mes actual.

VAR FirstShippedDate ? CALCULATE(MINX('Issues', 'Issues'[Resolved] ) , ('Issues'[State] á "Shipped" ), ALL ('Issues' ))
VAR LastShippedDate ? CALCULATE (MAXX('Issues', 'Issues'[Resolved - Copy-yyyy-mm]) ,('Issues'[State] á "Shipped" ), ALL ('Issues' )
Var MaxCalendarDate ? MAXX('Date', 'Date'[Año-Mes])

devolución
IF ( MaxCalendarDate > LastShippedDate && MaxCalendarDate > TODAY(),
BLANK(),
CALCULATE( COUNT ( 'Issues'[Resuelto] ),
('Emisiones'[Estado] - "Enviado"),
USERELATIONSHIP ('Fecha'[Fecha], 'Problemas'[Resuelto] ) ,
FILTRO ( ALL('Date' ), ('Fecha'[Fecha] <-MAX('Date'[Date]) ))
) )

Muchas gracias por dar a entender que hubo problemas con mi medida y guiarme a cavar más profundo. Inicialmente pensé que una instrucción FILTER no podía seguir una instrucción USERELATIONSHIP, pero ese no es el caso.

¡¡¡Gracias!!!

v-janeyg-msft
Community Support
Community Support

Hola, @sbr

Prueba esto:

Shipped Total =
(
    CALCULATE (
        COUNT ( 'Issues'[Resolved] ),
         ( 'Issues'[State] = "Shipped" ),
         ( 'Issues'[Resolved] <> BLANK () ),
        USERELATIONSHIP ( 'Date'[Date], 'Issues'[Resolved] )
    )
)

Si no resuelve su problema, por favor no dude en preguntarme.

Saludos

Janey Guo

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

Anonymous
Not applicable

I have uploaded a sample data file.  I have also modified my Shipped Total measure and I am no longer getting the total shipped on every line in the table as before.  Progress however small is always good.  

 

 

Details: 

  1. My Upload Total Measure works perfectly.  The Date Table(1) and the Issues Table (many) have an active relationship setup (measure below):

Upload Total = (CALCULATE (

   IF (Calculate (COUNT  ('Issues'[Issue Id])   = BLANK() ) ,

       (Calculate (COUNT ('Issues'[Issue Id] ) ,

       FILTER(ALLSELECTED('Issues'),

('Issues'[Upload Date] <= MAX('Issues'[Upload Date]))),

               DATEADD ('Issues'[Upload Date], -2, MONTH )  

               )) ,

       (Calculate (COUNT ('Issues'[Issue Id] ),

       FILTER(ALLSELECTED('Issues'),

('Issues'[Upload Date]  <= MAX ('Issues'[Upload Date] )))

               )))

       ))

 

  1. My Shipped Total Measure is not as successful.  It does calculate the monthly shipping count as expected and it utilizes the inactive relationship setup (Date Table (1) to Issue Table (many) ) correctly.  I just can't seem to figure out how to get a running total for the measure.  The measure I am currently using is below and I get the same results in my table whether I include the FILTER line or not. 

 

Shipped Total = (CALCULATE (  

   COUNT ('Issues'[Resolved]),  

        ('Issues'[State] = "Shipped" )  ,

        ('Issues'[Resolved] <> BLANK() ) ,

        USERELATIONSHIP ('Date'[Date], 'Issues'[Resolved] ) ,

        FILTER (('Date'), 'Date'[Date]  <= MAX ('Date'[Date]) )

 

My table results are below.  

Month

Upload Total

Shipped Total

January

1

 

February

4

 

March

8

2

April

9

 

May

16

5

June

24

6

July

 

3

August

32

 

September

48

7

October

56

6

November

70

6

December

 

 

 

 

I also noticed that if I switch the FILTER statement to

"FILTER(ALLSELECTED('Issues'),'Issues'[Resolved]  <= MAX ('Issues'[Resolved] ) ) "

I get no results in the Shipped Total column of my table.  I even tried replacing the "ALLSELECTED" with "ALL" or removing it entirely and I still ended up with a blank Shipped Total column.   So it seems that using the following filter is more correct but like I said before it will not create the running total for me. 

               FILTER (('Date'), 'Date'[Date]  <= MAX ('Date'[Date]) )

Any advice you can provide would be most appreciated!!!

 

Anonymous
Not applicable

Id. de emisiónProyectoResueltoEstadoFecha de cargaOpciones de caso
CPP11-1Proyecto A4 Mar 2020Cancelado31 de enero de 2020Plan + 3DP
CPP11-2Proyecto A10 Mar 2020Enviado10 De febrero de 2020Plan + 3DP
CPP11-4Proyecto A10 Mar 2020Enviado27 Feb 2020Plan + 3DP
CPP11-3Proyecto A26 de mayo de 2020Enviado24 Feb 2020Plan + 3DP
CPP11-7Proyecto A26 de mayo de 2020Enviado11 De marzo de 2020Plan + 3DP
CPP11-8Proyecto A26 de mayo de 2020Enviado13 Mar 2020Plan + 3DP
CPP11-6Proyecto A26 de mayo de 2020Enviado4 Mar 2020Plan + 3DP
CPP11-17Proyecto A27 de mayo de 2020Cancelado13 de mayo de 2020Plan + 3DP
CPP11-19Proyecto A29 de mayo de 2020Enviado13 de mayo de 2020Plan + 3DP
CPP11-26Proyecto A5 junio 2020Enviado12 de mayo de 2020Plan + 3DP
CPP11-9Proyecto A10 junio 2020Cancelado13 Mar 2020Plan + 3DP
CPP11-16Proyecto A10 junio 2020Cancelado13 de mayo de 2020Plan + 3DP
CPP11-12Proyecto A10 junio 2020Cancelado27 abr 2020Plan + 3DP
CPP11-23Proyecto A10 junio 2020Enviado22 de mayo de 2020Plan + 3DP
CPP11-22Proyecto A10 junio 2020Enviado15 de mayo de 2020Plan + 3DP
CPP11-28Proyecto A15 junio 2020Enviado21 de mayo de 2020Plan + 3DP
CPP11-29Proyecto A17 junio 2020Enviado3 junio 2020Plan + 3DP
CPP11-36Proyecto A19 junio 2020Cancelado10 junio 2020Plan + 3DP
CPP11-33Proyecto A19 junio 2020Cancelado6 junio 2020Plan + 3DP
CPP11-30Proyecto A30 junio 2020Enviado3 junio 2020Plan + 3DP
CPP11-32Proyecto A9 Jul 2020Enviado6 junio 2020Plan + 3DP
CPP11-35Proyecto A10 Jul 2020Cancelado10 junio 2020Plan + 3DP
CPP11-57Proyecto A23 jul 2020Enviado17 junio 2020Plan + 3DP
CPP11-55Proyecto A23 jul 2020Enviado17 junio 2020Plan + 3DP
CPP11-111Proyecto A2 Sep 2020Enviado11 de agosto de 2020Plan + 3DP
CPP11-140Proyecto A3 Sep 2020Cancelado26 de agosto de 2020Plan + 3DP
CPP11-135Proyecto A3 Sep 2020Cancelado18 de agosto de 2020Plan + 3DP
CPP11-190Proyecto A11 Sep 2020Cancelado10 Sep 2020Plan + 3DP
CPP11-144Proyecto A17 Sep 2020Enviado26 de agosto de 2020Plan + 3DP
CPP11-128Proyecto A17 Sep 2020Enviado14 de agosto de 2020Plan + 3DP
CPP11-136Proyecto A17 Sep 2020Enviado19 de agosto de 2020Plan + 3DP
CPP11-243Proyecto A21 Sep 2020Cancelado21 Sep 2020Plan + 3DP
CPP11-253Proyecto A22 Sep 2020Cancelado21 Sep 2020Plan + 3DP
CPP11-252Proyecto A22 Sep 2020Cancelado21 Sep 2020Plan + 3DP
CPP11-142Proyecto A24 Sep 2020Enviado26 de agosto de 2020Plan + 3DP
CPP11-162Proyecto A24 Sep 2020Enviado1 Sep 2020Plan + 3DP
CPP11-143Proyecto A24 Sep 2020Enviado26 de agosto de 2020Plan + 3DP
CPP11-321Proyecto A Fabricación ordenada15 Nov 2020Plan + 3DP
CPP11-334Proyecto A Fabricación ordenada16 Nov 2020Plan + 3DP
CPP11-250Proyecto A Revisión - Mecánica21 Sep 2020Plan + 3DP
CPP11-337Proyecto A Revisión - Segmentación16 Nov 2020Plan + 3DP
CPP11-338Proyecto A Revisión - Segmentación16 Nov 2020Plan + 3DP
CPP11-323Proyecto A Presentado15 Nov 2020Plan + 3DP
CPP11-328Proyecto A Presentado16 Nov 2020Caso de revisión
CPP11-329Proyecto A Presentado16 Nov 2020Sólo plan
CPP11-332Proyecto A Presentado16 Nov 2020Sólo plan
CPP11-333Proyecto A Presentado16 Nov 2020Plan + 3DP
CPP11-335Proyecto A Presentado16 Nov 2020Plan + 3DP
CPP11-339Proyecto A Presentado Sin opciones de caso

Hola

He saltado tarde en este post, pero todavía me gustaría ayudar. En función de los datos de ejemplo que haya compartido, debe mostrar claramente el resultado esperado. No me preocupan sus fórmulas. Sólo describa la pregunta de negocios y muéstreme su resultado esperado.


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/
v-janeyg-msft
Community Support
Community Support

Hola, @sbr

Es un placer responder por ti.

¿Le importaría proporcionar algunos datos de muestra y el resultado deseado? Así que podemos ayudarte pronto.

Saludos

Janey Guo

amitchandak
Super User
Super User

@sbr , Probar como

Enviado Mensualmente ?

CALCULAR (

COUNT ('Problemas'[Resuelto]), ('Problemas'[Estado] - "Enviado" ) ,

USERELATIONSHIP ( 'Issues'[Resuelto], 'Fecha'[Fecha] ) ,

FILTRO (ALL ('DATE'), ( 'DATE'[DATE ] <- MAX ('DATE'[DATE] ) ) ))


O

Enviado Mensualmente ?

CALCULAR (

COUNT ('Problemas'[Resuelto]), ('Problemas'[Estado] - "Enviado" ) ,

USERELATIONSHIP ( 'Issues'[Resuelto], 'Fecha'[Fecha] ) ,

FILTRO (ALLSELECTED ('DATE'), ( 'DATE'[DATE ] <- MAX ('DATE'[DATE] ) ))

Anonymous
Not applicable

Sorry, I forgot to mention that I indeed tried this Filter suggested but with no success.



In my attempt to correct the filter issue, I realized the following 2 scenarios:

1.  Shipped Monthly =

    CALCULATE (  

            COUNT (‘Issues'[Resolved]),  (‘Issues'[State] = "Shipped" ) ,

            USERELATIONSHIP ( ‘Issues'[Resolved], 'Date'[Date] ) ,

            FILTER (ALL (‘Issues'), ( ‘Issues'[Resolved ]  <= MAX (‘Issues'[Resolved] ) ) )   

 

Month

Upload Total

Shipped Total

January

1

 

February

4

 

March

8

 

April

9

 

May

16

 

June

24

 

July

 

 

August

32

 

September

48

 

October

56

 

November

57

 

December

 

 

 

 

2.  And when I use the following filter, I get the total Shipped in every total field in the table (see below)

     Shipped Monthly =

     CALCULATE (  

            COUNT (‘Issues'[Resolved]),  (‘Issues'[State] = "Shipped" ) ,

            USERELATIONSHIP ( ‘Issues'[Resolved], 'Date'[Date] ) ,

            FILTER (ALL (‘Date), ( ‘Date [Date]  <= MAX (‘Date [Date] ) ) )   

 

Month

Upload Total

Shipped Total

January

1

33

February

4

33

March

8

33

April

9

33

May

16

33

June

24

33

July

 

33

August

32

33

September

48

33

October

56

33

November

57

33

December

 

33

 

I have tried several syntax combinations but with no success.  I know I must be overlooking something very simple because everything I have read online tells me this measure should work.  Do you have any other ideas? 

 

Anonymous
Not applicable

The 1st scenario returns a blanks in every Shipped Total cell and the 2nd scenario returns the total number of Shipped (33) in every cell of the Shipped Total.  Any help is appreciated.

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.