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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

Creación de un gráfico de distribución con variables filtrables

Estoy tratando de generar un gráfico de distribución basado en los resultados de las pruebas, lo que permite filtrar por variables subyacentes dentro de la suma de cada ejecución. Por ejemplo, si selecciono las variables x1 y x2, la distribución debería reflejar solo esas variables, no todo el conjunto (x1 + x2 + x3 + x4 ... + xn).

El desafío radica en generar bins a lo largo del eje x y recuentos a lo largo del eje y para visualizar la distribución de resultados por ejecución. Mi idea actual consiste en crear bins dinámicos personalizados y utilizar TREATAS para hacer referencia a una tabla con una serie. Sin embargo, no estoy seguro de que este sea el método correcto. Agradecería que me ayudaran a averiguar cómo poner esto en práctica.

A continuación se muestran mis medidas y tablas actuales en la solución que no funciona,

Tabla de datos:

VariableCorrerValor
x1R1y1
x1R2y2
x1...y3
x1ry4
x2R1y5
x2R2y6
x2...y7
x2ry8
... y así sucesivamente


Messured utilizado en el eje y:

Test 1 = 
//Creates a table that sum for each run
VAR _simTable = SUMMARIZE(Sim_result, Sim_result[Run], "Result", SUM(Sim_result[Value]))

//Steps used in the series table ex. 1000 = -3
VAR _roundValue = -3
//Get max & min value of t
VAR _maxRes = MAXX(_simTable, [Result])
VAR _minRes = MINX(_simTable, [Result])
//Number of bins
VAR _binsN = 100
//Bin size
VAR _midRes = _minRes + (_maxRes - _minRes) / 2 
VAR _binSize = ROUNDDOWN((_maxRes - _midRes) / (_binsN / 2 - 1), _roundValue)

//Creates new table with bins
VAR _simBinTable = ADDCOLUMNS(_simTable, "Result bin", MROUND([Result], _binSize))

VAR _simBinColumn = SELECTCOLUMNS(_simBinTable, "Result bin", [Result bin])

RETURN
CALCULATE(
    COUNTX(_simBinTable, [Result bin]),
    TREATAS(
    _simBinColumn, 
    'Simulation bins'[Value]
)
)


Para generar una tabla con bins para el eje x:

Simulation bins = 
//Creates a table that sum for each run
VAR _simTable = SUMMARIZE(Sim_result, Sim_result[Run], "Result", SUM(Sim_result[Value]))

//Steps used in the series table
VAR _steps = 1000
VAR _roundvalue = -3
//Get max & min value of t
VAR _max = MAXX(_simTable, [Result])
VAR _min = MIN(Sim_result[Value])

VAR _generate = GENERATESERIES(
    ROUNDDOWN(_min, _roundvalue), 
    ROUNDUP(_max, _roundvalue),
    _steps
)

RETURN
_generate

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

My current idea involves creating custom dynamic bins

Eso no es algo que se pueda hacer en Power BI. Tendrías que mirar imágenes personalizadas como Deneb, u otras herramientas de BI como Tableau, que tiene características de LOD.

Miré ejemplos de RADCAD.com (ver enlaces) y pensé que podrían funcionar en mi situación. Gracias por el consejo; Exploraré las imágenes personalizadas más profundamente. ¡Gracias!

https://radacad.com/age-banding-in-power-bi-using-treatas-dax-function-relationship-based-on-between
https://radacad.com/dynamic-banding-or-grouping-in-power-bi-using-dax-measures-choose-the-count-of-b...

Supongo que se puede discutir sobre el significado de "dinámico". En Power BI solo se pueden usar cubos que se hayan definido previamente.

Gracias por cierto, lo puse a trabajar con Deneb

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors
Top Kudoed Authors