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.
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
Solved! Go to Solution.
Hola, @chris78912181
Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.
Mesa:
Métricas:
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:
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.
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
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.
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'
)
)
)
)))))
Hola, @chris78912181
Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.
Mesa:
Métricas:
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:
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.
¡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
@chris78912181 , consulte mi blog sobre cómo usar dos tablas de fechas
https://community.powerbi.com/t5/Community-Blog/Comparing-Data-Across-Date-Ranges/ba-p/823601
Pero también puedes usar la inteligencia del tiempo. referir mi blog en
Power BI — Mes a mes con o sin inteligencia de tiempo
https://medium.com/@amitchandak.1978/power-bi-mtd-questions-time-intelligence-3-5-64b0b4a4090e
Power BI — Semana a semana y WTD
https://medium.com/@amitchandak.1978/power-bi-wtd-questions-time-intelligence-4-5-98c30fab69d3
https://community.powerbi.com/t5/Community-Blog/Week-Is-Not-So-Weak-WTD-Last-WTD-and-This-Week-vs-La...
relación con la tabla principal y las tablas de fechas
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |