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

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.

Reply
Syndicate_Admin
Administrator
Administrator

Prácticas recomendadas para varias variables

Hola a todos,

Me gustaría publicar una pregunta general para saber si hay una mejor práctica definida cuando se deben considerar múltiples variables en algunas medidas.

Por ejemplo, actualmente utilizo un "doble interruptor" para calcular las ventas, porque el cliente quiere poder ver números con o sin IVA, y en moneda local o cantidad convertida. En este caso estamos cubriendo dos variables: IVA y Moneda. ¿Y si hay más variables? En ese caso, tendría que codificar 8/16/32 diferentes resultados posibles.
Un ejemplo de una medida con dos variables, donde en pantalla tengo dos segmentaciones de datos (_Conversion_Slicer[Conversión], _vat_slicer[vat]):

sales_full_date =
if(VALUES(_Conversion_Slicer[Conversion]) = "Local Currency",
Switch( TRUE(),
    VALUES(_vat_slicer[vat]) = "W/o VAT",Calculate(sum(dl_global_sell_outs_datamart[amount_excl_vat]),
        dl_global_sell_outs_datamart[close_date]<=MAX('Calendar'[Date]),
        dl_global_sell_outs_datamart[close_date]>=Min('Calendar'[Date])),
    VALUES(_vat_slicer[vat]) = "With VAT",  Calculate(sum(dl_global_sell_outs_datamart[amount]),
        dl_global_sell_outs_datamart[close_date]<=MAX('Calendar'[Date]),
        dl_global_sell_outs_datamart[close_date]>=Min('Calendar'[Date])),
    Blank()),

Switch( TRUE(),
    VALUES(_vat_slicer[vat]) = "W/o VAT",Calculate(sum(dl_global_sell_outs_datamart[amount_excl_vat_global_fx_chf]),
        dl_global_sell_outs_datamart[close_date]<=MAX('Calendar'[Date]),
        dl_global_sell_outs_datamart[close_date]>=Min('Calendar'[Date])),
    VALUES(_vat_slicer[vat]) = "With VAT",  Calculate(sum(dl_global_sell_outs_datamart[amount_global_fx_chf]),
        dl_global_sell_outs_datamart[close_date]<=MAX('Calendar'[Date]),
        dl_global_sell_outs_datamart[close_date]>=Min('Calendar'[Date])),
    Blank()))
 

Al tener "solo" dos variables, tengo que cubrir 4 resultados posibles, pero creo que ese es el límite, ya que con 3 variables, el número ya sube a 8 y no se siente como un diseño adecuado.


¡Gracias!

1 REPLY 1
Syndicate_Admin
Administrator
Administrator

Cuando se trata de múltiples variables en las medidas, es importante considerar la escalabilidad y la capacidad de mantenimiento del código. La codificación de todos los resultados posibles puede volverse rápidamente inmanejable y difícil de modificar a medida que cambian los requisitos o se introducen nuevas variables.

Un enfoque para manejar múltiples variables es usar un cálculo dinámico que pueda ajustarse en función de las selecciones del usuario. Por ejemplo, en lugar de codificar todos los resultados posibles, podría crear un cálculo que seleccione dinámicamente los campos apropiados en función de la selección del usuario. Esto podría lograrse utilizando una combinación de funciones SWITCH y SELECTEDVALUE.

Otro enfoque es utilizar una tabla de parámetros que contenga los valores posibles de cada variable y sus campos correspondientes. Esta tabla se puede utilizar para seleccionar dinámicamente los campos y valores apropiados para el cálculo. Este enfoque puede proporcionar más flexibilidad y escalabilidad, ya que se pueden agregar fácilmente nuevas variables a la tabla de parámetros sin necesidad de modificar el código.

En general, se recomienda utilizar un enfoque modular cuando se trata de cálculos complejos que involucran múltiples variables. Esto permite una mejor organización y mantenibilidad del código. Además, el uso de nombres de variables claros y descriptivos puede hacer que el código sea más legible y fácil de entender.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

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.