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
zidek22
Frequent Visitor

Cambiar el orden de las columnas según los datos de la tabla.

Hola amigos, tengo una solicitud para crear lo siguiente:

Tengo una tabla que tiene datos de ingresos para cada día de cada mes. Como:

[TABLE1]

Day1 Day2 Day3 Day4 etc...

2500 1300 2000 3000 etc...

Lo que necesito, es agregar una columna de resumen después del último día de cada semana. Por ejemplo, si Day2 del mes es domingo, se vería como:

[NEWTABLE]

Day1 Day2 Summ Day3 Day4 etc...

2500 1300 3800 2000 3000 etc...

Si Day3 es domingo se vería así:

[NEWTABLE]

Day1 Day2 Day3 Summ Day4 etc...

2500 1300 2000 5800 3000 etc...

Tengo una tabla que me dice qué semana de qué mes tiene cuántos días, así para este agosto de 2020:

[TABLE2]

Mes Semana1 Semana2 Semana3 Semana4 Semana5 Semana6

8 2 7 7 7 7 1

Así que para agosto, estaría la columna Resumen después de Day2, Day9, Day16, Day23, Day30, Day31. ¿Hay algo como esto posible? Al igual que crear una nueva tabla, filtrar por mes y hacer lo siguiente:

IF(TABLE2. Semana1 n.o 2) -NewColumn("Summ") DESPUÉS DE "TABLE1. Day2" COMO TABLA1. Day1 + TABLE2. Día2

Por favor, disculpe el pseudo código, no conozco muy bien el idioma DAX. De esta manera, tendría que escribirlo 7 veces (por cada posición dominical en la primera semana), pero estoy absolutamente perdido como podría siquiera empezar con esto.

GRACIAS GENTE AMABLE

1 ACCEPTED SOLUTION
v-deddai1-msft
Community Support
Community Support

Hola @zidek22

Le sugiero que despvore su tabla al siguiente formato:

Capture.PNG

Cree una columna weeknum en la tabla:

WEEKNUM = WEEKNUM('Table'[Date])

A continuación, puede crear una columna de resumen:

Summary =
VAR a =
    CALCULATE (
        MAX ( 'Table'[Date] ),
        FILTER ( 'Table', 'Table'[weeknum] = EARLIER ( 'Table'[weeknum] ) )
    )
RETURN
    IF (
        'Table'[Date] = a,
        CALCULATE (
            SUM ( 'Table'[Value] ),
            FILTER ( 'Table', 'Table'[weeknum] = EARLIER ( 'Table'[weeknum] ) )
        ),
        BLANK ()
    )

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

Saludos

Dedmon Dai

View solution in original post

2 REPLIES 2
v-deddai1-msft
Community Support
Community Support

Hola @zidek22

Le sugiero que despvore su tabla al siguiente formato:

Capture.PNG

Cree una columna weeknum en la tabla:

WEEKNUM = WEEKNUM('Table'[Date])

A continuación, puede crear una columna de resumen:

Summary =
VAR a =
    CALCULATE (
        MAX ( 'Table'[Date] ),
        FILTER ( 'Table', 'Table'[weeknum] = EARLIER ( 'Table'[weeknum] ) )
    )
RETURN
    IF (
        'Table'[Date] = a,
        CALCULATE (
            SUM ( 'Table'[Value] ),
            FILTER ( 'Table', 'Table'[weeknum] = EARLIER ( 'Table'[weeknum] ) )
        ),
        BLANK ()
    )

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

Saludos

Dedmon Dai

lbendlin
Super User
Super User

Tenga en cuenta que las fechas internas son números.

Todo lo que necesita hacer es calcular sus resúmenes, y darles un código de fecha de "Domingo más un poco". A continuación, UNION las dos tablas juntas (valores de fecha y resúmenes) y ordenarlas por el código de fecha.

Asegúrese de que los usuarios están bien con esta pantalla. Puede conducir fácilmente a confusión y mala interpretación.

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.