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

Tablas de comparación dinámicas con filtros de fecha independientes

Hola
Tengo una tabla de hechos principal que incluye fecha, costos, clics, etc.
También tengo una tabla de fechas separada con una configuración de relación con la tabla de hechos, con elementos como fecha, YY_WW, YY_MM

Quiero poder generar una tabla con 3 columnas.
Período 1 totales, Período 2 totales, % de diferencia.

A continuación, tendría métricas como filas, como clics, costos

A continuación, utilice dos segmentaciones de fecha diferentes para que pueda cambiar dinámicamente la suma para cualquier período en el valor seleccionado. Basado en 'fecha', 'YY_WW' o 'YY_MM'.

Así que el usuario podría decidir comparar hace 3 semanas vs. Así que más dinámico que usar algo como esta semana frente a la semana pasada donde uno o ambos períodos es más fijo.

Posiblemente con el uso de cosas como 'selectedvalue', 'all', 'filter' dentro de las medidas, pero no estoy seguro de cómo hacerlo.

Cualquier ayuda apreciada.
Gracias
Chris


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

Hola, @chris78912181

Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.

Mesa:

a1.png

Métricas:

a2.png

Calendario 1 (una tabla calculada):

Calendar 1 = CALENDARAUTO()

Calendario 2 (una tabla calculada):

Calendar 1 = CALENDARAUTO()

No hay ninguna relación entre tablas. Puede crear dos medidas como se indica a continuación.

Period 1 totals = 
IF(
    HASONEVALUE(Metrics[Metric]),
    IF(
        SELECTEDVALUE(Metrics[Metric])="Cost",
        CALCULATE(
            SUM('Table'[Cost]),
            FILTER(
                ALL('Table'),
                [Date] in DISTINCT('Calendar 1'[Date])
            )
        ),
        CALCULATE(
            SUM('Table'[Click]),
            FILTER(
                ALL('Table'),
                [Date] in DISTINCT('Calendar 1'[Date])
            )
        )
    )
)
Period 2 totals = 
IF(
    HASONEVALUE(Metrics[Metric]),
    IF(
        SELECTEDVALUE(Metrics[Metric])="Cost",
        CALCULATE(
            SUM('Table'[Cost]),
            FILTER(
                ALL('Table'),
                [Date] in DISTINCT('Calendar 2'[Date])
            )
        ),
        CALCULATE(
            SUM('Table'[Click]),
            FILTER(
                ALL('Table'),
                [Date] in DISTINCT('Calendar 2'[Date])
            )
        )
    )
)

Resultado:

a3.png

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.

View solution in original post

7 REPLIES 7
v-alq-msft
Community Support
Community Support

Hola, @chris78912181

Si usted toma la respuesta de alguien, por favor márquela como la solución para ayudar a los otros miembros que tienen los mismos problemas a encontrarla más rápidamente. Si no, avísame y trataré de ayudarte más. Gracias.


Saludos

Allan

v-alq-msft
Community Support
Community Support

Hola, @chris78912181

Puede intentar reemplazar 'ALL' por 'ALLSELECTED' para ver si funciona.

Saludos

Allan

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

Anonymous
Not applicable

Combiné dos métodos anteriores, pero no funciona como atascado en la primera métrica (impresiones). ¿Alguna idea de qué solución podría ser? ¿O si es diferente? ¡Gracias por la ayuda!

Totales de P1 v2 ? 

var cur_start-min(Dates_Table2[Fecha])

var cur_end-max(Dates_Table2[Fecha])

devolución

SI(

HASONEVALUE(Metrics[Metrics]),

IF(SELECTEDVALUE(Metrics[Metrics])-"Impressions",

CALCULATE(

SUM('Analytics_Data_Presto'[Impresiones]),

Analytics_Data_Presto[Fecha]>'cur_start && Analytics_Data_Presto[Fecha]<'cur_end'

),

SI(

HASONEVALUE(Metrics[Metrics]),

If(selectedvalue(Metrics[Metrics])-"Clics",

CALCULATE(

SUM('Analytics_Data_Presto'[Clics]),

Analytics_Data_Presto[Fecha]>'cur_start && Analytics_Data_Presto[Fecha]<'cur_end'

),

SI(

HASONEVALUE(Metrics[Metrics]),

If(selectedvalue(Metrics[Metrics])-"Costs",

CALCULATE(

SUM(Analytics_Data_Presto[Costos]),

Analytics_Data_Presto[Fecha]>'cur_start && Analytics_Data_Presto[Fecha]<'cur_end'

),

SI(

HASONEVALUE(Metrics[Metrics]),

If(selectedvalue(Metrics[Metrics])-"CTR",

CALCULATE(

(SUM('Analytics_Data_Presto'[Clics])/suma(Analytics_Data_Presto[Impresiones])*100),

Analytics_Data_Presto[Fecha]>'cur_start && Analytics_Data_Presto[Fecha]<'cur_end'

),

SI(

HASONEVALUE(Metrics[Metrics]),

If(selectedvalue(Metrics[Metrics])-"CPC",

CALCULATE(

(SUM('Analytics_Data_Presto'[Costos])/suma(Analytics_Data_Presto[Clics])),

Analytics_Data_Presto[Fecha]>'cur_start && Analytics_Data_Presto[Fecha]<'cur_end'

),

SI(

HASONEVALUE(Metrics[Metrics]),

If(selectedvalue(Metrics[Metrics])-"Conversiones",

CALCULATE(

SUM('Analytics_Data_Presto'[Conversiones]),

Analytics_Data_Presto[Fecha]>'cur_start && Analytics_Data_Presto[Fecha]<'cur_end'

),

SI(

HASONEVALUE(Metrics[Metrics]),

If(selectedvalue(Metrics[Metrics])-"Valor de conversión",

CALCULATE(

SUM('Analytics_Data_Presto'[Valor de conversión]),

Analytics_Data_Presto[Fecha]>'cur_start && Analytics_Data_Presto[Fecha]<'cur_end'

),

SI(

HASONEVALUE(Metrics[Metrics]),

If(selectedvalue(Metrics[Metrics])-"CVR",

CALCULATE(

(SUM('Analytics_Data_Presto'[Conversiones])/suma(Analytics_Data_Presto[Clics])*100),

Analytics_Data_Presto[Fecha]>'cur_start && Analytics_Data_Presto[Fecha]<'cur_end'

),

CALCULATE(

(SUM('Analytics_Data_Presto'[Valor de conversión])/suma(Analytics_Data_Presto[Conversiones])),

Analytics_Data_Presto[Fecha]>'cur_start && Analytics_Data_Presto[Fecha]<'cur_end'

)

)

)

)))))
v-alq-msft
Community Support
Community Support

Hola, @chris78912181

Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.

Mesa:

a1.png

Métricas:

a2.png

Calendario 1 (una tabla calculada):

Calendar 1 = CALENDARAUTO()

Calendario 2 (una tabla calculada):

Calendar 1 = CALENDARAUTO()

No hay ninguna relación entre tablas. Puede crear dos medidas como se indica a continuación.

Period 1 totals = 
IF(
    HASONEVALUE(Metrics[Metric]),
    IF(
        SELECTEDVALUE(Metrics[Metric])="Cost",
        CALCULATE(
            SUM('Table'[Cost]),
            FILTER(
                ALL('Table'),
                [Date] in DISTINCT('Calendar 1'[Date])
            )
        ),
        CALCULATE(
            SUM('Table'[Click]),
            FILTER(
                ALL('Table'),
                [Date] in DISTINCT('Calendar 1'[Date])
            )
        )
    )
)
Period 2 totals = 
IF(
    HASONEVALUE(Metrics[Metric]),
    IF(
        SELECTEDVALUE(Metrics[Metric])="Cost",
        CALCULATE(
            SUM('Table'[Cost]),
            FILTER(
                ALL('Table'),
                [Date] in DISTINCT('Calendar 2'[Date])
            )
        ),
        CALCULATE(
            SUM('Table'[Click]),
            FILTER(
                ALL('Table'),
                [Date] in DISTINCT('Calendar 2'[Date])
            )
        )
    )
)

Resultado:

a3.png

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

¡Gracias por esto!
Funciona bien, excepto que no puedo usar filtros en los datos. Supongo que debido a la función ALL, o porque la tabla de métricas no está conectada a la tabla de hechos principal. ¿Hay alguna manera de evitar esto, por lo que podría filtrar por account_name por ejemplo en la tabla de hechos. En este momento, si filtro para esto, sólo da total total, y es el mismo para cada account_name.
Gracias
Chris

Anonymous
Not applicable

relación con la tabla principal y las tablas de fechas

power bi forum.PNG

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.