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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
Syndicate_Admin
Administrator
Administrator

Uso de parámetros de campo en la medida dax para calcular topn

Estoy tratando de hacer que este código funcione, pero me enfrento a algunos problemas. Aquí, los parámetros X e Y son parámetros de campo que estoy utilizando como criterio de selección. Ahora, si elimino las variables Value_Parameter y Measure_Parameter y solo pongo el nombre de la columna en VALUES y TotalMarks, funciona bien.

No estoy seguro de por qué no puedo usar parámetros de campo con este código.

TopN_Values = 
VAR Value_Parameter = SelectedValue('Parameter X'[Parameter X Fields])
VAR Measure_Parameter = SelectedValue('Parameter Y'[Parameter Y Fields])

VAR Top3Names =
    TOPN(3, 
        ADDCOLUMNS(
            VALUES(Value_Parameter ), 
            "TotalMarks", Measure_Parameter 
        ), 
        [TotalMarks], DESC
    )
RETURN
    CONCATENATEX(Top3Names, Value_Parameter , ", ")

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Gracias @v-xiandat-msft por explicar esto. ¿Cómo puedo cambiarlo de escalar a referencia? ¿Hay algo que pueda hacer para lograr esto?

Hola @ERAHUMO ,

Puedes probar esto:

TopN_Values =
VAR Value_Parameter = SELECTEDVALUE('Parameter X'[Parameter X Fields])
VAR Measure_Parameter = SELECTEDVALUE('Parameter Y'[Parameter Y Fields])
VAR Top3Names =
    TOPN(
        3,
        ADDCOLUMNS(
            VALUES(
                SWITCH(
                    TRUE(),
                    Value_Parameter = "ColumnName1", 'Table'[ColumnName1],
                    Value_Parameter = "ColumnName2", 'Table'[ColumnName2],
                    'Table'[DefaultColumn] // Default case
                )
            ),
            "TotalMarks",
            SWITCH(
                TRUE(),
                Measure_Parameter = "MeasureName1", [Measure1],
                Measure_Parameter = "MeasureName2", [Measure2],
                [DefaultMeasure]
            )
        ),
        [TotalMarks], DESC
    )
RETURN
    CONCATENATEX(Top3Names, [Value_Column], ", ")

Saludos

Xianda Tang

Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Syndicate_Admin
Administrator
Administrator

Hola @ERAHUMO ,

A partir de la descripción, parece que está intentando seleccionar dinámicamente columnas en función de la selección del usuario y, a continuación, realizar operaciones como TOPN y CONCATENATEX en estas columnas seleccionadas dinámicamente. El problema surge porque SelectedValue devuelve un valor escalar (el nombre de la columna como texto), no una referencia de columna como la que DAX funciona como VALUES y ADDCOLUMNS esperar.

Saludos

Xianda Tang

Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Helpful resources

Announcements
July 2024 Power BI Update

Power BI Monthly Update - July 2024

Check out the July 2024 Power BI update to learn about new features.

July Newsletter

Fabric Community Update - July 2024

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

Top Solution Authors