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
Anonymous
Not applicable

SWITCH filtrado con valores en blanco

La columna de sitio permite valores duplicados y necesito que los valores resultantes se dupliquen para cada sitio. La columna de usuario permite valores mixtos y en blanco. Necesito la columna deseada para reflejar los valores más importantes que se encuentran en la columna de usuario.

Tengo columnas de usuario y sitio y quiero obtener una fórmula para calcular la columna "Se busca".

El objetivo es tener un gráfico circular para mostrar el recuento de sitios reales divididos en los grupos que trabajan en ellos. Espero hacer esto respetando la individualidad de cada sitio.

SitioUsuariobuscado
1aa
1ba
1ca
1da
2cb
2bb
2 b
3db
3bb
4aa
4ca
5dd
5ed
6 Sin confirmar
7cc
8ee

5 REPLIES 5
v-juanli-msft
Community Support
Community Support

Hola @burgerface25

Crear columnas

rank =
IF (
    [User] <> BLANK (),
    RANKX (
        FILTER (
            'Table',
            'Table'[Site] = EARLIER ( 'Table'[Site] )
                && 'Table'[User] <> BLANK ()
        ),
        [User],
        ,
        ASC,
        DENSE
    )
)


you wanted =
VAR r =
    CALCULATE (
        MIN ( 'Table'[User] ),
        FILTER (
            'Table',
            'Table'[Site] = EARLIER ( 'Table'[Site] )
                && 'Table'[rank] = 1
        )
    )
RETURN
    IF ( r = BLANK (), "Unconfirmed", r )

Capture3.JPG

Saludos
Maggie
Equipo de apoyo a la comunidad _ Maggie Li
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Anonymous
Not applicable

@v-juanli-msft

Gracias por su respuesta. Siento que esto va por el camino correcto. Sin embargo, el campo [Usuario] no se clasifica alfabéticamente. Necesito algo donde pueda crear mi propio diccionario / asignar rangos de una manera codificada de forma rígida.

SitioUsuariobuscado
1ac
1bc
1cc
1dc
2cc
2bc
2 c
3dd
3bd
4ad
4dd
5aSin confirmar
5eSin confirmar
6 Sin confirmar
7cc
8eSin confirmar

Acabo de volver a dibujar la tabla para dar prioridad arbitraria a las letras 'c' y 'd' sobre todas las demás letras. Entonces las otras letras perderían todo el valor y contarían como 'no confirmadas'.

Creé una nueva columna y se me ocurrieron nombres alfabéticos aleatorios para que tu fórmula original funcione. ¿Hay alguna fórmula en la que pueda hacer esto en menos columnas?

Originalmente pensé que la fórmula SWITCH aceptaría el orden de mi consulta como un sistema de clasificación. Estoy tratando de encontrar una consulta que me permita clasificar dentro de la fórmula. El campo [Usuario] tiene más de 400 valores únicos y se basa en texto. Estoy tratando de seleccionar 4 de estos valores únicos en el campo 'Usuario' y clasificarlos. Todos los demás de los 400 valores restantes de 'Usuario' se considerarán 'No confirmados'.

Hola @burgerface25

Introduzca value(like c,d) que desea utilizar como prioridad en una tabla y mantenga el valor en el pedido que necesite.

a continuación, en Transformar datos, agregue una columna personalizada de la lista "valor" y extraiga valores.

Capture10.JPGCapture11.JPG

close&&apply, crear columnas con dax

Capture12.JPG

Column1 = IF([User]<>BLANK(),FIND([User],[Custom],1,0))

Column =
VAR m =
    CALCULATE (
        MIN ( [Column1] ),
        FILTER (
            'Table 4',
            'Table 4'[Site] = EARLIER ( 'Table 4'[Site] )
                && 'Table 4'[Column1] > 0
        )
    )
RETURN
    IF (
        m <> BLANK (),
        CALCULATE (
            MIN ( 'Table 4'[User] ),
            FILTER (
                'Table 4',
                'Table 4'[Site] = EARLIER ( 'Table 4'[Site] )
                    && [Column1] = m
                    && [Column1] > 0
            )
        ),
        "Unconfirmed"
    )

Saludos
Maggie
Equipo de apoyo a la comunidad _ Maggie Li
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

amitchandak
Super User
Super User

@burgerface25 , La lógica no es muy clara para mí.

Pruebe una nueva columna como

new column =
var _1 = minx(filter(table,[Site] =earlier([Site])),[User])
return
if(isblank(_1),"Unconfirmed",_1)

Anonymous
Not applicable

@amitchandak Gracias por su respuesta. El problema con el que me estoy enojendo es este. Tengo los espacios en blanco que me impiden tener la declaración ELSE al final de mi DAX. Si digo

[Sitio] a, "A", "Sin confirmar"

Entonces cuando tengo

SitioUsuariobuscado
1AA
1 Sin confirmar

Cuando lo que realmente quiero es así

SitioUsuarioUn-Wanted
1AA
1 A
2 Sin confirmar

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.