cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Xavier2609
Frequent Visitor

USAR VALOR DE PARAMETRO PARA UNA VARIABLE DE COLUMNA

Buenas noches, tengo la siguiente variable para crear una nueva columna en que según el numero de ranking determinado por el valor del campo Total por familia se determine, según la var Cantidad, si dicha familia esta en el Top o en Altres. Dicha variable funciona correctamente peró quisiera cambiar dinamicamente el valor 5 de la variable cantidad que ahora esta fijo mediante el uso de parametro o algo similar. Al no ser una medida no consigo que coja el valor de manera dinàmica:

 

ranking new columna =
var numeroranking = RANKX(ALLSELECTED('TAULA 11 SUMMARITZADA sense setmana'),'TAULA 11 SUMMARITZADA sense setmana'[TOTAL PER FAMILIA],,DESC,Dense)
var cantidad= 5 ------poder cambiar el valor de esta variable (cantidad) de manera dinámica.
return
if(numeroranking<=cantidad,"top","altres")
 
Muchas gràcias por su tiempo y ayuda,
 
Un saludo desde España.
 
 
 
3 ACCEPTED SOLUTIONS
Syndicate_Admin
Administrator
Administrator

@Xavier2609 ,

En este caso, debe crear un parámetro what if y luego usar la métrica que se crea automáticamente para cambiar por la parte cuantitativa de la medida.

https://docs.microsoft.com/en-us/power-bi/transform-model/desktop-what-if

View solution in original post

@Xavier2609 ,

Lo que está creando es una columna calculada, y ese parámetro what-if se utilizó en esta nueva columna calculada creada. En caso afirmativo, como el valor de una columna calculada se calcula durante la actualización de datos y utiliza la fila actual como contexto, no cambiará según la interacción del usuario (segmentación de datos, filtro, selecciones de columna, etc.) en el informe. Por lo tanto, no devolverá el resultado esperado, cuando cambie el valor del parámetro what-if en la columna calculada ... Si desea obtener el TOPN y otros elementos dinámicamente, puede consultar los siguientes enlaces para obtenerlo creando el parámetro de medida + qué pasaría si o la función de filtro TOPN.

Filtrar los 3 productos principales con una fila para otros mediante DAX en Power BI

yingyinr_0-1660803180358.png

¡Viernes DAX! N.º 132: TopN dinámico + otros en Power BI

yingyinr_1-1660803277600.png

Además, puede revisar los siguientes enlaces sobre la diferencia de columna calculada y medida...

Columnas y medidas calculadas en DAX

Columnas calculadas vs Medidas

Taquí hay una gran diferencia entre las columnas calculadas y las medidas. El valor de una columna calculada se calcula durante la actualización de datos y utiliza la fila actual como contexto; no depende de la interacción del usuario en el informe. Una medida opera sobre agregaciones de datos definidas por el contexto actual, que depende del filtro aplicado en el informe, como la selección de segmentación de datos, filas y columnas en una tabla dinámica, o ejes y filtros aplicados a un gráfico.

Saludos

View solution in original post

@Xavier2609 ,

Si ha hecho referencia a que necesita crear una medida calculada y no una columna calculada, las segmentaciones de datos (a partir de parámetros u otro tipo de valores) no se pueden usar directamente en tablas / columnas.

View solution in original post

8 REPLIES 8
Xavier2609
Frequent Visitor

Hola MFelix, muchas gracias por su respuesta. En la Columna Calculada sigue sin funcionar la llamada al valor del parámetro:

SELECTEDVALUE ( Parameter[Parameter] )

el problema podria ser, según he leido, que las funciones que usan internamente HASONEVALUE son incompatibles para crear columnas de tabla con campos de parametros.

 

Si fuera una medida si funcionaría.

Muchas gracias por su tiempo.

Un saludo,

 

Hola

¿Qué tipo de parámetro está utilizando?

Buenas noches, gràcias por su interés y tiempo.

 

Utilizo un Intervalo numérico creado desde Paràmetro nuevo.

 

Xavier2609_0-1660687287236.png

Luego en la columna calculada, en la variable intento llamar al valor con la expresión:

 

SELECTEDVALUE ( Parameter[Parameter] )

 

Pero no coge el valor para realizar la comparación posterior:

 

var numeroranking = RANKX(ALLSELECTED('TAULA 11 SUMMARITZADA sense setmana'),'TAULA 11 SUMMARITZADA sense setmana'[TOTAL PER FAMILIA],,DESC,Dense)
var cantidadSELECTEDVALUE ( Parameter[Parameter] )
return
if(numeroranking<=cantidad,"top","altres")

 

 

Si en lugar de SELECTEDVALUE (Parameter[Parameter]) se introduce un número, funciona correctemente la columna calculada.

 

Un saludo muy cordial,

 

Xavi.

@Xavier2609 ,

Al usar este tipo de valores, debe tener una segmentación de datos con una sola selección en su informe, se crea automáticamente si tiene la opción activada en el momento de la creación del parámetro. ¿Tiene una cortadora en su informe?

Buenas tardes y como siempre, gracias por adelantado por su ayuda.

 

La selección del parámetro se realiza desde una segmentación de datos con una sola selección.

 

Parece muy sencillo:

 

ranking new columna =
var numeroranking = RANKX(ALLSELECTED('TAULA 11 SUMMARITZADA sense setmana'),'TAULA 11 SUMMARITZADA sense setmana'[TOTAL PER FAMILIA],,DESC,Dense)
var cantidad= 5
return
if(numeroranking<=cantidad,"top five","altres")
 
sustituir el numero 5 de cantidad por un valor dinámico seleccionado en una segmentación de datos con origen en un parámetro. Pero al ser una columna calculada no consigo de ninguna manera que funcione. He encontrado este post:
 
 
VAR __SelectedValue =
    SELECTCOLUMNS (
        SUMMARIZE ( Parameter, Parameter[Parameter], Parameter[Parameter Fields] ),
        Parameter[Parameter]
    )
RETURN CONCATENATEX ( __SelectedValue, Parameter[Parameter], ", " )
 
Pero no se de donde sale el campo Parameter Fields y la función summarize me da un error con esta sintaxis.
 
Muchas gracias por su atención.
 
Un saludo 
 
 
 
 

@Xavier2609 ,

Si ha hecho referencia a que necesita crear una medida calculada y no una columna calculada, las segmentaciones de datos (a partir de parámetros u otro tipo de valores) no se pueden usar directamente en tablas / columnas.

@Xavier2609 ,

Lo que está creando es una columna calculada, y ese parámetro what-if se utilizó en esta nueva columna calculada creada. En caso afirmativo, como el valor de una columna calculada se calcula durante la actualización de datos y utiliza la fila actual como contexto, no cambiará según la interacción del usuario (segmentación de datos, filtro, selecciones de columna, etc.) en el informe. Por lo tanto, no devolverá el resultado esperado, cuando cambie el valor del parámetro what-if en la columna calculada ... Si desea obtener el TOPN y otros elementos dinámicamente, puede consultar los siguientes enlaces para obtenerlo creando el parámetro de medida + qué pasaría si o la función de filtro TOPN.

Filtrar los 3 productos principales con una fila para otros mediante DAX en Power BI

yingyinr_0-1660803180358.png

¡Viernes DAX! N.º 132: TopN dinámico + otros en Power BI

yingyinr_1-1660803277600.png

Además, puede revisar los siguientes enlaces sobre la diferencia de columna calculada y medida...

Columnas y medidas calculadas en DAX

Columnas calculadas vs Medidas

Taquí hay una gran diferencia entre las columnas calculadas y las medidas. El valor de una columna calculada se calcula durante la actualización de datos y utiliza la fila actual como contexto; no depende de la interacción del usuario en el informe. Una medida opera sobre agregaciones de datos definidas por el contexto actual, que depende del filtro aplicado en el informe, como la selección de segmentación de datos, filas y columnas en una tabla dinámica, o ejes y filtros aplicados a un gráfico.

Saludos

Syndicate_Admin
Administrator
Administrator

@Xavier2609 ,

En este caso, debe crear un parámetro what if y luego usar la métrica que se crea automáticamente para cambiar por la parte cuantitativa de la medida.

https://docs.microsoft.com/en-us/power-bi/transform-model/desktop-what-if

Helpful resources

Announcements
November 2022 Update

Check it Out!

Click here to read more about the November 2022 updates!

Microsoft 365 Conference â__ December 6-8, 2022

Microsoft 365 Conference - 06-08 December

Join us in Las Vegas to experience community, incredible learning opportunities, and connections that will help grow skills, know-how, and more.

Top Kudoed Authors