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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
JarekkWr
Helper I
Helper I

Valores de fin de semana el lunes

Hola

Revisé otros temas pero sin éxito. Necesito añadir valores de fin de semana (sobota - Sábado y niedziela - Domingo) los lunes (poniedzialek).

1.PNG

¿Alguna idea?

Br
Jarek

3 ACCEPTED SOLUTIONS
v-rzhou-msft
Community Support
Community Support

Hola @JarekkWr

Además

Weekend values on Monday = 
IF (
    HASONEVALUE ( 'Table'[Date] ),
    IF (
        MAX ( 'Table'[WeekDay] ) IN { 5, 6 },
        BLANK (),
        IF (
            MAX ( 'Table'[WeekDay] ) = 0,
            SUMX (
                FILTER (
                    ALL ( 'Table' ),
                    'Table'[Date]
                        >= MAX ( 'Table'[Date] ) - 2
                        && 'Table'[Date] <= MAX ( 'Table'[Date] )
                ),
                'Table'[Total _Orders]
            ),
            SUM ( 'Table'[Total _Orders] )
        )
    ),
    SUM ( 'Table'[Total _Orders] )
)

El resultado es el siguiente.

2.png

Puede descargar el archivo pbix desde este enlace: Valores de fin de semana el lunes

Saludos

Rico Zhou

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

Hola @JarekkWr

Debido a su primer objeto visual es la tabla visual y el segundo es visual de matriz, por lo que puede crear una nueva medida para el objeto visual matirx.

Mi nueva tabla de muestra:

1.png

Medidas:

Table.Monday value Measure = 
IF (
        MAX ( 'Table'[WeekDay] ) IN { 5, 6 },
        BLANK (),
        IF (
            MAX ( 'Table'[WeekDay] ) = 0,
            SUMX (
                FILTER (
                    ALL ( 'Table' ),
                    'Table'[Date]
                        >= MAX ( 'Table'[Date] ) - 2
                        && 'Table'[Date] <= MAX ( 'Table'[Date] )
                ),
                'Table'[Total_Orders]
            ),
            SUM ( 'Table'[Total_Orders] )
        )
    )
Table.Weekend values on Monday = 
IF (
    HASONEVALUE ( 'Table'[Date] ),
    'Table'[Table.Monday value Measure],
    SUMX (
        SUMMARIZE ( 'Table', 'Table'[Date], "Value", [Table.Monday value Measure] ),
        [Value]
    )
)
Matrix.Monday value Measure = 
    IF (
        MAX ( 'Table'[WeekDay] ) IN { 5, 6 },
        BLANK (),
        IF (
            MAX ( 'Table'[WeekDay] ) = 0,
            SUMX (
                FILTER (
                    ALL ( 'Table' ),
                    'Table'[Date]
                        >= MAX ( 'Table'[Date] ) - 2
                        && 'Table'[Date] <= MAX ( 'Table'[Date] )
                        &&'Table'[User] = MAX('Table'[User])
                ),
                'Table'[Total_Orders]
            ),
            SUM ( 'Table'[Total_Orders] )
        )
    )
Matrix.Weekend values on Monday = SUMX('Table',[Matrix.Monday value Measure])

El resultado es el siguiente.

3.png

Puede descargar el archivo pbix desde este enlace: Valores de fin de semana el lunes

Saludos

Rico Zhou

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

Hola @JarekkWr

Actualizo sus valores Matrix.Weekend en Monday Measure.

Matrix.Weekend values on Monday = 
VAR _T = SUMMARIZE('Table','Table'[User],'Table'[Date],"Value",[Matrix.Monday value Measure])
Return
SUMX(_T,[Value])

El resultado es el siguiente:

1.png

Saludos

Rico Zhou

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

11 REPLIES 11
JarekkWr
Helper I
Helper I

@RicoZhou gracias por la ayuda y mucha paciencia!

JarekkWr
Helper I
Helper I

Hola @RicoZhou ,

Modifiqué sus datos de muestra para reflejar mi conjunto de datos de la vida real más y, por desgracia, todavía estoy luchando con valores incorrectos los lunes en las visualizaciones de Matrix.

Cambios que hice :

- He añadido más días para tener un período más largo para comprobar,
- añadida mesa "equipo",
- establecer la relación entre "equipo" y "tabla" con valores.

¿Podrías echar un vistazo a la muestra pbix? Haga clic para descargar

¡Gracias de nuevo!

Jarek

Hola @JarekkWr

Actualizo sus valores Matrix.Weekend en Monday Measure.

Matrix.Weekend values on Monday = 
VAR _T = SUMMARIZE('Table','Table'[User],'Table'[Date],"Value",[Matrix.Monday value Measure])
Return
SUMX(_T,[Value])

El resultado es el siguiente:

1.png

Saludos

Rico Zhou

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

JarekkWr
Helper I
Helper I

Hola @RicoZhou!

¡Eres brillante, tus dos soluciones están funcionando!

¿Hay alguna manera de acelerar poco el rendimiento, ya que tengo muchos datos y me está tomando bastante tiempo digerirlos en Power BI? ¿Quizás es por sumx usado aquí?

Matrix.Weekend valores de lunes a SUMX('Table',[Matrix.Monday value Measure])

Lo siento por muchas preguntas, pero soy un novato en Power BI y realmente quiero entender la lógica de la misma. Leí que CALCULATE es más eficiente que SUMX, pero he intentado diferentes maneras de modificar esta medida y sin éxito 😞

Saludos

Jarek

JarekkWr
Helper I
Helper I

Hola

por desgracia, ninguna de su solución está funcionando porque estoy obteniendo un valor incorrecto el lunes (obtengo 3505 pero debe ser 1274) . Los resultados de martes a viernes y Total son correctos. A continuación estoy usando la solución RicoZhou:

1.PNG

Tal vez el problema es debido a por qué mis datos sin procesar se construyen?
2.PNG

Gracias de antemano por cualquier consejo y ayuda! 🙂

Br

Hola @JarekkWr

Actualizo mi modelo de datos y mi medida funciona bien.

Nuevo modelo de datos:

1.png

Resultado:

2.png

el valor en 2020/11/9 es igual a 2020/11/07+2020/11+08+2020/11/09: (288+1)+(37+1)+(4747+1) a 5075.

¿Podría mostrarme la suma de valores en 2020/11/07, 2020/11/08 y 2020/11/09?

¿Es su lógica de cálculo: 2020/11/09 a 2020/11/07+2020/11/08+2020/11/09 a 1274?

Saludos

Rico Zhou

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

Hola @RicoZhou

Su solución está funcionando de hecho, gracias por su paciencia!

Sin embargo, tengo otro problema porque cuando intento aplicar filter y comprobar cuántos pedidos fueron procesados en la semana seleccionada por el equipo respectivo obtengo resultados de la siguiente manera (problema con el lunes):

1.PNG

¿Tienes alguna idea?

Gracias y br,

Jarek

Hola @JarekkWr

Debido a su primer objeto visual es la tabla visual y el segundo es visual de matriz, por lo que puede crear una nueva medida para el objeto visual matirx.

Mi nueva tabla de muestra:

1.png

Medidas:

Table.Monday value Measure = 
IF (
        MAX ( 'Table'[WeekDay] ) IN { 5, 6 },
        BLANK (),
        IF (
            MAX ( 'Table'[WeekDay] ) = 0,
            SUMX (
                FILTER (
                    ALL ( 'Table' ),
                    'Table'[Date]
                        >= MAX ( 'Table'[Date] ) - 2
                        && 'Table'[Date] <= MAX ( 'Table'[Date] )
                ),
                'Table'[Total_Orders]
            ),
            SUM ( 'Table'[Total_Orders] )
        )
    )
Table.Weekend values on Monday = 
IF (
    HASONEVALUE ( 'Table'[Date] ),
    'Table'[Table.Monday value Measure],
    SUMX (
        SUMMARIZE ( 'Table', 'Table'[Date], "Value", [Table.Monday value Measure] ),
        [Value]
    )
)
Matrix.Monday value Measure = 
    IF (
        MAX ( 'Table'[WeekDay] ) IN { 5, 6 },
        BLANK (),
        IF (
            MAX ( 'Table'[WeekDay] ) = 0,
            SUMX (
                FILTER (
                    ALL ( 'Table' ),
                    'Table'[Date]
                        >= MAX ( 'Table'[Date] ) - 2
                        && 'Table'[Date] <= MAX ( 'Table'[Date] )
                        &&'Table'[User] = MAX('Table'[User])
                ),
                'Table'[Total_Orders]
            ),
            SUM ( 'Table'[Total_Orders] )
        )
    )
Matrix.Weekend values on Monday = SUMX('Table',[Matrix.Monday value Measure])

El resultado es el siguiente.

3.png

Puede descargar el archivo pbix desde este enlace: Valores de fin de semana el lunes

Saludos

Rico Zhou

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

v-rzhou-msft
Community Support
Community Support

Hola @JarekkWr

Además

Weekend values on Monday = 
IF (
    HASONEVALUE ( 'Table'[Date] ),
    IF (
        MAX ( 'Table'[WeekDay] ) IN { 5, 6 },
        BLANK (),
        IF (
            MAX ( 'Table'[WeekDay] ) = 0,
            SUMX (
                FILTER (
                    ALL ( 'Table' ),
                    'Table'[Date]
                        >= MAX ( 'Table'[Date] ) - 2
                        && 'Table'[Date] <= MAX ( 'Table'[Date] )
                ),
                'Table'[Total _Orders]
            ),
            SUM ( 'Table'[Total _Orders] )
        )
    ),
    SUM ( 'Table'[Total _Orders] )
)

El resultado es el siguiente.

2.png

Puede descargar el archivo pbix desde este enlace: Valores de fin de semana el lunes

Saludos

Rico Zhou

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

ryan_mayu
Super User
Super User

@JarekkWr

No estoy seguro de si los datos de muestra se ajustan a su negocio real.

1.PNG

puede crear dos medidas

Measure = 
VAR _day=max('Table'[date])
return  if(WEEKDAY(_day,2) in {6,7},0,if(WEEKDAY(_day,2)=1,CALCULATE(sum('Table'[amount ]),FILTER(all('Table'),'Table'[date]>=_day-2&&'Table'[date]<=_day)),sum('Table'[amount ])
))


Measure 2 = sumx('Table',[Measure])

1.PNG

Espero que esto sea útil.





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




S_JB
Resolver III
Resolver III

Puede crear una nueva columna mediante una instrucción IF para hacer esto. Por favor, vea la siguiente lógica:

Día de la semana ?
IF(Query1[Weekday] á 5,
0,
IF(Query1[Día de la semana]-6,
0,
Query1[Día de la semana]))

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

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

Top Solution Authors