Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Suma de una medida en la recta anterior en una matriz

Hola comunidad,

Tengo una tabla Matrix con 4 líneas que es bastante simple:

2022-07-19 12_01_02-facturation_ge - Power BI Desktop.png

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í:

2022-07-19 12_01_02-facturation_ge - Power BI Desktop.png

El precio por servidor viene dado por la siguiente fórmula:

Precio del servidor = (203.91 + precio 1 + precio 2 + precio 3) * factor 1 * factor 2
¡Gracias por su atención!
Saludos
Jonathan

16 REPLIES 16
Syndicate_Admin
Administrator
Administrator

@Quenjo

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.

Syndicate_Admin
Administrator
Administrator

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".

2022-07-19 13_39_09-facturation_ge - Power BI Desktop.png

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:

2022-07-19 13_41_27-facturation_ge - Power BI Desktop.png

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

SolomonovAnton_0-1658234784964.png

@SolomonovAnton

¡Respuesta perfecta! Esto es lo que estaba buscando 🙂

2022-07-19 15_00_47-facturation_ge - Power BI Desktop.png

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 ()
)

@SolomonovAnton

Pozo... En realidad no:

Servidores de precios =
INTERRUPTOR (
VERDADERO (),
ISINSCOPIO ( bases de datos[nombre] ), ESPACIO EN BLANCO(),
ISINSCOPIO ( servidores[nombre] ), SUMX(Servidores, [Precio por servidor]),
ISINSCOPIO ( aplicaciones[nombre] ), SUMX(Servidores, [Precio por servidor]),
ISINSCOPIO ( empresa[nombre] ), SUMX(Servidores, [Precio por servidor])
)

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])
)

@SolomonovAnton

Realmente me estás ayudando mucho a través de esta implementación. ¡Gracias! 🙂

Solo una última pregunta que tengo sobre esto:

2022-07-20 09_49_38-facturation_ge - Power BI Desktop.png

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 ()
)

@SolomonovAnton

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:

2022-07-20 14_59_33-facturation_ge - Power BI Desktop.png

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]?

@SolomonovAnton ,

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

@SolomonovAnton

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í:

2022-07-19 12_01_02-facturation_ge - Power BI Desktop.png

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

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

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.