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 a todos
Me gustaría tener una métrica de recursividad (no una columna calculada) para usar en un gráfico.
Alowme para explicar el problema(se puede encontrar adjunto un archivo de escritorio PBI con datos ficticios para este problema):
En mi modelo de datos tengo 3 tablas:
Aquí es cómo se construye el modelo de datos:
Por lo tanto, me gustaría crear 3 métricas principales:
Lo que he logrado hacer correctamente, en el archivo de escritorio powerbi adjunto, fue crear la métrica Nuevos casos. Las métricas totales y de recarga se calculan erróneamente y me gustaría que me ayudaras en esta tarea, que entiendo que podría no ser simple.
Lo que me gustaría construir:
Avísame si necesitas más información.
Gracias
Solved! Go to Solution.
¡Hola a todos!
¡Resolví mi propio problema! 🙂
Así es como lo hice, en caso de que alguien más esté llegando a este problema en el futuro:
La solución encontrada no era con DAX, sino con un buen SQL antiguo.
Lo que hice fue generar en SQL una consulta que devuelve una tabla específicamente para los cálculos de casos de recarga. Esta tabla fue el resultado de un simple CROSS JOIN, algo en esta línea:
SELECCIONAR DISTINTO
a.ProductID
,DATEADD(WW, DATEDIFF(WW, 7, '01-01-' + LEFT( dateID,4 ) ) + ( CAST( RIGHT( dateID, 2 ) AS int)-1), 7) WeekStart
,b.[geoID]
,b.[Tipo]
,b.value como Recargas
DE facTable a
CROSS JOIN (
Seleccione
Productid
,dateID como dateCode
,[geoID]
,[Tipo]
,SUM( [value] ) como valor
DE facTable
Dónde
DimProductID á 'xpto'
Y Escriba ('a','b','d')
Y dateID< ( SELECT MAX( dateID) FROM facTable WHERE ProductID á 'xpto')
GROUP BY [ProductID], [dateID ], [geoID],[Type]
) como b
DONDE a.ProductID á 'xpto' y DateCode< a.dateID
Luego cargué esta tabla en PBI y me conecté a las tablas dimensiones respectivas, y eso es todo 🙂
Espero que esto ayude a alguien en el futuro.
Gracias. 🙂
¡Hola a todos!
Estaba pensando que, tal vez, una tabla calculada ayudaría con los cálculos de recarga, específicamente para cuando quiero informar esa métrica con el geoID.
¿Sería una solución viable?
¿Cuáles serían los impactos en el rendimiento de esto, cuando los datos crecen a lo largo del tiempo (se trata de datos semanales, por cierto)?
Gracias de antemano.
¡Hola a todos!
¡Resolví mi propio problema! 🙂
Así es como lo hice, en caso de que alguien más esté llegando a este problema en el futuro:
La solución encontrada no era con DAX, sino con un buen SQL antiguo.
Lo que hice fue generar en SQL una consulta que devuelve una tabla específicamente para los cálculos de casos de recarga. Esta tabla fue el resultado de un simple CROSS JOIN, algo en esta línea:
SELECCIONAR DISTINTO
a.ProductID
,DATEADD(WW, DATEDIFF(WW, 7, '01-01-' + LEFT( dateID,4 ) ) + ( CAST( RIGHT( dateID, 2 ) AS int)-1), 7) WeekStart
,b.[geoID]
,b.[Tipo]
,b.value como Recargas
DE facTable a
CROSS JOIN (
Seleccione
Productid
,dateID como dateCode
,[geoID]
,[Tipo]
,SUM( [value] ) como valor
DE facTable
Dónde
DimProductID á 'xpto'
Y Escriba ('a','b','d')
Y dateID< ( SELECT MAX( dateID) FROM facTable WHERE ProductID á 'xpto')
GROUP BY [ProductID], [dateID ], [geoID],[Type]
) como b
DONDE a.ProductID á 'xpto' y DateCode< a.dateID
Luego cargué esta tabla en PBI y me conecté a las tablas dimensiones respectivas, y eso es todo 🙂
Espero que esto ayude a alguien en el futuro.
Gracias. 🙂
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 |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |