sreenathv
Actualmente estoy trabajando en un informe que consta de jerarquías de padres e hijos para representar la estructura de nuestra organización de ventas. En lugar de reinventar la rueda, he seguido el método sugerido en la siguiente página web.
https://www.daxpatterns.com/parent-child-hierarchies/
Pero la siguiente medida está arrojando un error.
TargetValue = IF ( [BrowseDepth] > [MaxNodeDepth] + 1, BLANK (), IF ( [BrowseDepth] = [MaxNodeDepth] + 1, IF ( AND ( VALUES ( GeoNodes1920[IsLeaf] ) = FALSE, SUM ( 'Targets 2019-2020'[Value] ) <> 0 ), SUM ( 'Targets 2019-2020'[Value] ), BLANK () ), SUM ( 'Targets 2019-2020'[Value] ) ) )
El mensaje de error se da a continuación … El punto a tener en cuenta aquí es que estoy usando un Matriz visual en Power BI y la medida muestra los resultados correctamente en los dos primeros niveles de la jerarquía. El visual de la matriz arroja un error cuando profundizo en el 3er nivel usando el botón «Expandir todo un nivel hacia abajo en la jerarquía» del visual de Matrix.
No se pudieron cargar los datos de este objeto visual.
MdxScript (Modelo) (12,17) Error de cálculo en la medida ‘Objetivos 2019-2020′[TargetValue]: Se proporcionó una tabla de valores múltiples donde se esperaba un solo valor.
No puedo averiguar qué está causando este error cuando profundizo en el tercer nivel.
TomMartens
En respuesta a sreenathv
Hola @sreenathv,
en una segunda mirada, escribiría la medida así:
TargetValue = IF ( [BrowseDepth] > [MaxNodeDepth] + 1, BLANK (), IF ( [BrowseDepth] = [MaxNodeDepth] + 1, CALCULATE( SUM ( 'Targets 2019-2020'[Value] ) ,FILTER( VALUES ( GeoNodes1920[IsLeaf] ) ,GeoNodes1920[IsLeaf] = FALSE ) ) ,SUM ( 'Targets 2019-2020'[Value] ) ) )
Esto no está bien pensado ya que estoy escribiendo esto desde mi móvil, disculpe si esto no funciona, considérelo solo una idea 😉
Saludos,
Tomás
TomMartens
Oye,
Supongo que esta línea es la causa del error:
... VALUES ( GeoNodes1920[IsLeaf] ) = FALSE ...
as VALUES (…) básicamente devuelve una tabla de una sola columna, que en caso de que haya solo una fila se puede comparar con un valor escalar como «FALSE».
Creo que debe prepararse para situaciones en las que VALUES (…) devuelve una tabla con más de una fila.
Con suerte, esto le proporcionará alguna ayuda.
Saludos,
Tomás
sreenathv
@TomMartens
¿Puedes echar un vistazo? Acabo de ver que ahora estás en línea.
TomMartens
En respuesta a sreenathv
Hola @sreenathv,
en una segunda mirada, escribiría la medida así:
TargetValue = IF ( [BrowseDepth] > [MaxNodeDepth] + 1, BLANK (), IF ( [BrowseDepth] = [MaxNodeDepth] + 1, CALCULATE( SUM ( 'Targets 2019-2020'[Value] ) ,FILTER( VALUES ( GeoNodes1920[IsLeaf] ) ,GeoNodes1920[IsLeaf] = FALSE ) ) ,SUM ( 'Targets 2019-2020'[Value] ) ) )
Esto no está bien pensado ya que estoy escribiendo esto desde mi móvil, disculpe si esto no funciona, considérelo solo una idea 😉
Saludos,
Tomás
sreenathv
En respuesta a TomMartens
Solo lo probé. Funciona.
sreenathv
En respuesta a TomMartens
Muchas gracias.