Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more.
Get startedGrow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.
Hola comunidad,
Tengo una tabla Matrix con 4 líneas que es bastante simple:
La primera línea representa a la empresa.
La segunda línea representa la aplicación.
La tercera línea representa los servidores.
La cuarta línea representa la base de datos.
Como puede ver aquí, la columna "Precio del servidor" es una medida que, basada en algunos otros campos contenidos en la tabla "Servidores", hará algunas caculaciones para averiguar el precio por servidor.
¿Cómo es posible, sin crear otra columna, tener el precio total de todos los servidores justo aquí:
El precio por servidor viene dado por la siguiente fórmula:
Solo quiero confirmar si resolvió este problema. En caso afirmativo, puede aceptar la respuesta útil como la solución o compartir su método y aceptarlo como solución, gracias por su contribución para mejorar Power BI.
Si necesita más ayuda, por favor hágamelo saber.
Saludos
equipo de soporte de la comunidad _Tang
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
Hola
Creo que deberías usar la función ISINSCOPE
server price total =
var _total = (203.91 + [price 1] + [price 2] + [price 3]) * [factor 1] * [factor 2]
var _general = [server price]
var _result = if(or(isinscope('Table'[application]),isinscope('Table'[company])),_total,_general)
return _result
Hola @SolomonovAnton ,
Gracias por la solución proporcionada. Sin embargo, permítanme reformular la pregunta:
Si muestro solo dos filas, tengo el precio total en la línea "Aplicación".
Que viene dada por la fórmula:
Server Price =
SWITCH (
TRUE (),
ISINSCOPE ( databases[name] ), BLANK(),
ISINSCOPE ( servers[name] ), SUMX(servers, [Prix par Serveur]),
ISINSCOPE ( applications[name] ), SUMX(servers, [Prix par Serveur]),
ISINSCOPE ( company[name] ), BLANK (),
BLANK ()
)
Sin embargo, al expandir Matrix, quiero tener este total aquí mismo:
De modo que, al publicar el informe, tengo una vista fácil sobre el precio por servidor y la suma de estos totales en una misma vista sin tener que "acercar y alejar" en las jerarquías.
Espero que haya sido una mejor explicación 🙂
Saludos
Jonathan
@Quenjo escribió:Sin embargo, al expandir Matrix, quiero tener este total aquí mismo:
Debe activar los interruptores como se ve en la pantalla a continuación
¡Respuesta perfecta! Esto es lo que estaba buscando 🙂
Ahora agrega el Total como quería. Sin embargo, ¿por qué no se muestra el "Total" bajo la línea "Total"? El "Prix BDD" y el "Prix Serveurs" son una medida que contiene una función SWITCH.
Saludos
Jonathan
EN BLANCO en total general porque lo escribió en la medida SWITCH
Precio del servidor =
INTERRUPTOR (
VERDADERO (),
ISINSCOPE ( bases de datos[nombre] ), BLANK(),
ISINSCOPE ( servidores[nombre] ), SUMX(servidores, [Prix par Serveur]),
ISINSCOPE ( aplicaciones[nombre] ), SUMX(servidores, [Prix par Serveur]),
ISINSCOPE ( empresa[nombre] ), BLANK (),
EN BLANCO ()
)
Pozo... En realidad no:
Debe escribir en la medida que desea obtener como total general
por ejemplo:
Precio del servidor =
INTERRUPTOR (
VERDADERO (),
ISINSCOPE ( bases de datos[nombre] ), BLANK(),
ISINSCOPE ( servidores[nombre] ), SUMX(servidores, [Prix par Serveur]),
ISINSCOPE ( aplicaciones[nombre] ), SUMX(servidores, [Prix par Serveur]),
ISINSCOPE ( empresa[nombre] ), BLANK (),
SUM(servidores[Prix par Serveur])
)
Realmente me estás ayudando mucho a través de esta implementación. ¡Gracias! 🙂
Solo una última pregunta que tengo sobre esto:
El valor en rojo se calcula de la siguiente manera:
Prix de l'application =
var _totalApp = (applications[Prix AM] * applications[Application Complexity Coeff]) + [Prix BDD] + [Prix Serveurs]
return
SWITCH (
TRUE (),
ISINSCOPE ( databases[name] ), BLANK(),
ISINSCOPE ( servers[name] ), BLANK(),
ISINSCOPE ( applications[name] ), _totalApp,
ISINSCOPE ( company[name] ), BLANK (),
BLANK ()
)
Quiero tener exactamente el mismo valor (2'374,66) en la línea de correspoding de la empresa y del total general. Tenga en cuenta que si acabo de poner "_totalApp" en la función SWITCH debajo del isinscope ( company[name]) y el total general no funcionará porque no encontrará los valores "[Prix AM] y [Application Comexity Coeff].
¿Hay alguna manera de simplemente obtener el valor de la celda en rojo y ponerlo en la línea de la empresa correspondiente y en el total general?
¡Muchas gracias!
Saludos
Jonathan
hola Jonathan
La matriz yout podría incluir varias aplicaciones[nombre], por lo que en el nivel de grupo superior (me refiero a empresa[nombre]) debe usar alguna función de agregación como SUM, COUNT, etc.
Si desea utilizar en el nivel de empresa sólo datos de alguna aplicación intente hacerlo
Prix de l'application =
var _totalApp = (applications[Prix AM] * applications[Application Complexity Coeff]) + [Prix BDD] + [Prix Serveurs]
return
SWITCH (
TRUE (),
ISINSCOPE ( databases[name] ), BLANK(),
ISINSCOPE ( servers[name] ), BLANK(),
ISINSCOPE ( applications[name] ), _totalApp,
ISINSCOPE ( company[name] ), CALCULATION(_totalApp, FILTER(ALL(applications[name]), applications[name]=" here write for what exact value from applications[name] you want calculate ")),
BLANK ()
)
Desafortunadamente, esto no funciona.
Quiero, bajo el total general y la línea de la empresa, tener la suma de todos los precios de aplicación. Sin embargo, con su código:
Los valores no serán los mismos porque, creo, que en la fórmula de la variable _totalApp no encuentra el [Prix AM] y el [Application Complexity Coeff].
Como podemos ver: 2'374.66 - 1.5 [Application Complexity Coeff] * 113 [Prix AM] = 2'205.16
Quiero tomar el SUM de todas las solicitudes bajo una empresa. Pero el valor EXACTO contenido en la celda correspondiente. (2'374.66 en este caso)
Por favor, no lo dude si tiene alguna pregunta 🙂
Saludos
Jonathan
¿Podría mostrar cómo calcula [Application Complexity Coeff] y [Prix AM]?
Claro, [Prix AM] :
Prix AM =
SWITCH (
TRUE (),
ISINSCOPE ( databases[name] ), BLANK (),
ISINSCOPE ( servers[name] ), BLANK (),
ISINSCOPE ( applications[Application] ), IF(applications[Application Management] = "Yes", 113.00, 0),
ISINSCOPE ( company[name] ), BLANK (),
BLANK ()
)
[Complejidad de la aplicación Coeff] :
Application Complexity Coeff =
Var _Coeff =
SWITCH(SELECTEDVALUE(applications[u_application_complexity]),
"High", 4,
"Mid", 1.5,
"Low", 1)
Var _Visual =
SWITCH (
TRUE (),
ISINSCOPE ( databases[name] ), BLANK (),
ISINSCOPE ( servers[name] ), BLANK (),
ISINSCOPE ( applications[Application] ), _Coeff,
ISINSCOPE ( company[name] ), BLANK (),
BLANK ()
)
Return
_Visual
Tenga en cuenta que la medida [Prix de l'application] está en la tabla de "servidores". Tanto el [Prix AM] como el [Application Complexity Coeff] son de la tabla "aplicaciones".
Saludos
Jonathan
hola Jonathan
tienes el mismo caso allí
Complejidad de la aplicación Coeff =
Donde _Coeff =
SWITCH(SELECTEDVALUE(aplicaciones[u_application_complexity]),
"Alto", 4,
"Medio", 1.5,
"Bajo", 1)
Var _Visual =
INTERRUPTOR (
VERDADERO (),
ISINSCOPE ( bases de datos[nombre] ), BLANK (),
ISINSCOPE ( servidores[nombre] ), BLANK (),
ISINSCOPE ( aplicaciones[Aplicación] ), _Coeff,
ISINSCOPE ( empresa[nombre] ), BLANK (),
EN BLANCO ()
)
Devolución
_Visual
Premio AM =
INTERRUPTOR (
VERDADERO (),
ISINSCOPE ( bases de datos[nombre] ), BLANK (),
ISINSCOPE ( servidores[nombre] ), BLANK (),
ISINSCOPE ( aplicaciones[Aplicación] ), IF(aplicaciones[Gestión de aplicaciones] = "Sí", 113.00, 0),
ISINSCOPE ( empresa[nombre] ), BLANK (),
EN BLANCO ()
)
Debe cambiarlo por orden lógico
La diferencia aquí es que no quiero que el [Prix AM] y el [Application Complexity Coeff] se muestren en la línea de la empresa. Esto no tendría ningún sentido.
Solo quiero SUMAR todos los valores exactos del [Prix de l'application] bajo el gran total y la línea de la empresa, ¿no hay una manera fácil de implementar esto? Parece bastante básico...
Hola @SolomonovAnton,
Gracias por la solución proporcionada. Sin embargo, no tengo un campo "precio del servidor". Este campo es un total en sí mismo.
Déjame explicarte:
En la captura de pantalla de arriba tengo 4 servidores. Cada servidor tiene un total que se calcula a través de:
(203,91 + [precio 1] + [precio 2] + [precio 3]) * [factor 1] * [factor 2]
Lo que quiero tener aquí:
Es la adición de las líneas x a continuación, en este ejemplo: 1'035,16 + 892,87 + 263,88 + 239,35 = 2'431,26
Si separara esto en dos columnas, tendría el precio por servidor y el precio total y el precio total se calcularía de la siguiente manera:
Total Price = SWITCH
( TRUE (),
ISINSCOPE ( databases[name] ), BLANK(),
ISINSCOPE ( servers[name] ), BLANK(),
ISINSCOPE ( applications[name] ), SUMX(servers, [Price per server]),
ISINSCOPE ( company[name] ), BLANK (),
BLANK () )
El objetivo es tener la suma de todas las líneas x a continuación, pero es la misma columna.
Saludos
Jonathan
Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.
Ask questions in Eventhouse and KQL, Eventstream, and Reflex.