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

Power BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.

Reply
VulcanPromance
Helper II
Helper II

Pregunta sobre las mejores prácticas

Hola.. Lucho mucho con la creación de una variable max que puedo usar para cálculos y corte.

La idea es mostrar el precio anual de cada paquete donde solo paga sin el número más alto de licencia (usando ese precio de licencia) dentro del paquete. Cuando hago clic en un país (cortar) sólo debe mostrar el máximo para ese país.

Más adelante en el modelo usaré el costo anual para calcular los costos compartidos que son porcentuales basados en el costo anual del país frente al costo anual total.

Intenté innumerables maneras de hacer esto. Pero no puedo conseguir una variable consistente para usar. Calculé max tanto como columnas en la tabla de precios como como una medida a utilizar. Pero en algún lugar de la línea algo está siempre estropeado, y el culpable parece ser la forma en que calculé el valor máximo que no funcionan en otros cálculos.

así que.. ¿es mejor utilizar columnas calculadas para encontrar la medida máxima o calculada? ¿Podría alguien, por favor, mostrarme el camino correcto?
https://1drv.ms/u/s!AsOQeIMpZu5M9lgSKWorfDCabCrZ?e=3MMB1K

1 ACCEPTED SOLUTION

Hola @VulcanPromance ,

Agregue la siguiente medida al cálculo:

Count of users =
CALCULATE (
    MAXX (
        SUMMARIZE (
            'Price Table';
            'Price Table'[Bundle Name];
            'Price Table'[License Name];
            "@User_Count"; DISTINCTCOUNT ( Licenses[UserID] )
        );
        [@User_Count]
    );
    ALLEXCEPT ( 'Price Table'; 'Price Table'[Bundle Name] )
)

Ahora sólo tiene que rehacer el precio Montlhy y todo lo demás calculará en consecuencia:

Monthly Price = 
VAR temp_Table =
    SUMMARIZE (
        'Price Table';
        'Price Table'[Bundle Name];
        'Price Table'[Price];
        "Users"; [Count of users]
    )
RETURN
    SUMX ( temp_Table;'Price Table'[Price] * [Users])

Acaba de añadir el recuento de usuarios en su medida. Hay una pequeña diferencia, pero cree que es el redondeo.

Compruebe la conexión de resultados.


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



View solution in original post

14 REPLIES 14
v-chuncz-msft
Community Support
Community Support

@VulcanPromance

Puede echar un vistazo a la publicación a continuación.

https://community.powerbi.com/t5/Desktop/Sum-of-values-in-a-measure-with-divide-measure/m-p/296768#M...

Community Support Team _ Sam Zha
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

en realidad esto no resolvió mi pregunta.. lo autoresolvió al parecer. @MFelix tienes más información?

Hola @VulcanPromance ,

A lo que puedo entender aquí, la cuestión se basa en el cálculo del porcentaje de los costes anuales por país que esto se puede lograr haciendo las siguientes medidas:

Monthly Price = 
VAR temp_Table =
    SUMMARIZE (
        'Price Table';
        'Price Table'[Bundle Name];
        'Price Table'[Price];
        "Users"; DISTINCTCOUNT ( Licenses[UserID] )
    )
RETURN
    SUMX ( temp_Table; 'Price Table'[Price] * [Users] )

Yearly Price = [Monthly Price] * 12

Asumo que el Anual se multiplica por 12 meses.

A continuación, debe calcular el porcentaje de costes por país seleccionado:

% per Country = [Yearly Price] / CALCULATE([Yearly Price];all(Employees[Country]))

Si tiene una tabla de país que debe basarse en esa tabla y no en la tabla de empleados.

Ahora sólo tiene que hacer las medidas para los costos compartidos:

Shared_Costs = SUM('Cost Table'[Cost]) // Just used as a auxiliary calculation

Shared_Costs_Selected_Countries = [% per Country] * [Shared_Costs]

Markup 5% = [Shared_Costs_Selected_Countries] * 0,05

Overhead 10% = [Shared_Costs_Selected_Countries] * 0,1

Fee 3% = [Shared_Costs_Selected_Countries] * 0,03

BO4 Reporting 12% = [Shared_Costs_Selected_Countries] * 0,12

Total Shared Costs = [Shared_Costs_Selected_Countries]+Measure_Table[Markup 5%]+[Overhead 10%]+[Fee 3%]+[BO4 Reporting 12%]

Estos valores le proporcionarán el cálculo de los costes compartidos ahora sólo necesita sumar el valor de la última medida con los costes anuales y todos están configurados:

Total Costs Per country = [Yearly Price] + [Total Shared Costs]

Marque la imagen abajo y el archivo adjunto PBIX.

Percentage_Country.gif

Cualquier pregunta, por favor, dígame.


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



@MFelix Tengo una pregunta de seguimiento a este escenario. Uno de mis países es Pakistan. Deducen algunos impuestos, así que tengo que añadir otro 12 % como coste compartido, pero sólo para Pakistán. Los otros países no deducen este impuesto, por lo que esta nueva columna estaría en blanco si elijo otro país en la cortadora.

Estaba pensando que crearía una variable
IMPUESTO DE WH 12% - IF(empleados[país]-"Pakistán",Shared_Costs_Selected_Countries]*0.12,0)

Algo así..

A continuación, enumere esa variable junto con el otro costo compartido.

¿Hay una manera más elegante de hacer esto? ¿Como agregar un nuevo Visual, que solo contiene información si elige Pakistán en el control deslizante? y agrega ese valor al país seleccionado Costo total.

Me estoy acercando a usted porque resolvió las otras partes tan eficientemente, y ya tiene los archivos de plantilla en este post del foro.

@MFelix

Resolví la mayor parte. Creé la variable IF

Impuesto WH 12% - IF(max(Employees[País])"Pakistán",[Shared_Costs_Selected_Countries]*0.12,0)
Y esto por sí mismo funciona como un encanto. Sin embargo, tengo un total aquí.. que cuando se utiliza mi cortadora sin nada seleccionado muestra
Costes totales por país seleccionado á [Precio anual] + [Total de costes compartidos] + [Impuesto WH 12%]
Agregué el + WH Tax 12% para que si elijo Pakistán en mi cortadora, mostrará el costo total incluyendo el impuesto del 12%. así como un objeto visual que muestra el EURO de 1737 que es el 12%.
Pero cuando no elijo nada, el total es SIN el 12 %, pero también debe incluirse en el costo total pr país seleccionado si nada se selecciona no sólo cuando elijo pakistan

Hola @VulcanPromance ,

Debe utilizar un SUMX para calcular esto porque cuando se utiliza una instrucción if la medida comprobará si hay pakistan seleccionado y hacer el cálculo del 12% para todas las líneas.

Debe ser algo similar a:

WH Tax 12% = SUMX(Table;[Shared_Costs_Selected_Countries] * IF(max(Employees[Country])="Pakistan",0.12,0))

Cambie el nombre de la tabla por la del modelo.


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



Hola de nuevo @MFelix . Gracias por su paciencia 🙂

Usando esto

Impuesto WH 12% - SUMX('Tabla de costos',[Shared_Costs_Selected_Countries] * IF(max(Employees[País])-"Pakistán",0.12,0))
Hace exactamente lo mismo.
Esto es lo que tengo ahora
Con Pakistán seleccionadoShared_Cost_pakistan.png
total_cost_paki.png
Sin nada seleccionado usted nota que el 12% de pakistán se ha ido, pero necesito que se agregue a la columna WH Tax 12% o en un mínimo en el Total Costo Pr Seleccionado y WH Tax 12% visual.. ¿Es posible?
Shared_Cost_all.pngtotal_cost_all.png

Hola @VulcanPromance ,

En lugar de la función MAX pruebe selectedvalue:

WH Tax 12% = SUMX('Cost Table',[Shared_Costs_Selected_Countries] * IF(SELECTEDVALUE(Employees[Country])="Pakistan",0.12,0))

Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



@MFelix

Aunque SelectedValue tiene más sentido en la medida, funciona como la otra versión. No estoy seguro de si puedo usar estas variables.

La variable Coste total Pr País seleccionado es ment para mostrar el costo total para el país que elijo en la segmentación. La instrucción If agrega otro costo si elijo un país específico (pakistan). Entonces de repente quiero añadir ese costo pakistaní al costo total del país seleccionado sin seleccionarlo.

La solución sería si la instrucción IF se activadedededea de alguna manera si Pakistán fue seleccionado, O si NOTHING fue seleccionado. Sin embargo, cuando se selecciona Nada, el cálculo sólo puede calcular el 12% para el costo de Pakistán, no el costo para todos los países combinados.


Probablemente necesite crear variables separadas para él y omitirlo en la vista general compartida...

Hola @VulcanPromance ,

En lugar de la tabla de costos, intente hacer el SUMX sobre la tabla EMployees.

Si esto no funciona si puede compartir un archivo sería genial.


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



Eso es muy dulce. Pero el problema original es el recuento de userID.. como se puede ver en la gestión de instalaciones cuenta con 9 usuarios únicos. Y esa es la cantidad correcta de usuarios. Sin embargo, el costo de las licencias debe basarse en la mayor cantidad de usuarios con en cada Bundle..

Ejemplo

La administración de instalaciones tiene 2 tipos de licencia.

Pedidos de trabajo - 8 usuarios

Helpdesk Backoffice - 3 usuarios

un usuario puede tener ambas o solo 1 licencia de la anterior. Así que los usuarios únicos son 9, pero el costo debe basarse en el tipo de licencia con la mayoría de los usuarios, es decir, 8...

Y ahí es donde empiezo a luchar, causa ndo medidas normales para calcular el costo (usando varias maneras de encontrar el valor máximo) parece fallar. De ahí la pregunta, ¿cuál es la mejor práctica para calcular max y conseguir que funcione en los cálculos que ha utilizado anteriormente.. 🙂

He comprado una guía para el libro DAX ahora, para que pueda leer más sobre el idioma.. pero agradecería una solución al respecto de un experto como usted.. 🙂

Hola @VulcanPromance ,

Agregue la siguiente medida al cálculo:

Count of users =
CALCULATE (
    MAXX (
        SUMMARIZE (
            'Price Table';
            'Price Table'[Bundle Name];
            'Price Table'[License Name];
            "@User_Count"; DISTINCTCOUNT ( Licenses[UserID] )
        );
        [@User_Count]
    );
    ALLEXCEPT ( 'Price Table'; 'Price Table'[Bundle Name] )
)

Ahora sólo tiene que rehacer el precio Montlhy y todo lo demás calculará en consecuencia:

Monthly Price = 
VAR temp_Table =
    SUMMARIZE (
        'Price Table';
        'Price Table'[Bundle Name];
        'Price Table'[Price];
        "Users"; [Count of users]
    )
RETURN
    SUMX ( temp_Table;'Price Table'[Price] * [Users])

Acaba de añadir el recuento de usuarios en su medida. Hay una pequeña diferencia, pero cree que es el redondeo.

Compruebe la conexión de resultados.


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



MFelix
Super User
Super User

Hola @VulcanPromance ,

No estoy muy seguro de lo que estás buscando.

¿Puede especificar con ejemplos lo que necesita en términos de:

  • Precio anual por cada paquete en el que solo pague por el mayor número de licencia (utilizando ese precio de licencia)
  • Haga clic en un país (cortar) que sólo debe mostrar el máximo para ese país
  • Más adelante en el modelo usaré el costo anual para calcular los costos compartidos
  • Porcentaje basado en el costo anual del país frente al costo anual total

No está muy seguro de cuál es el número que necesita para los cálculos, ¿se basa en el valor por número de usuarios? cuál es el resultado básicamente.


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



Sí.. este es básicamente el resultado que quiero

wantedoutput_total.png

Y cuando hago clic en Noruega (slicer)

En su lugar, obtengo estos números

wantedoutput_norway.png

y necesito ser capaz de profundizar en los nombres de las licencias en el objeto visual de la licencia..

Helpful resources

Announcements
June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors