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
txfrogg1982
New Member

Hacer referencia a una fila en otra columna

¿Cómo hago referencia a los datos en una fila de una columna y los pongo en una nueva columna en la misma tabla?

Columna A Columna B

Datos 1 Datos 3

Datos 2 Datos 3

Datos 3 Datos 3

1 ACCEPTED SOLUTION

Hola @txfrogg1982 ,

Según su descripción y la salida esperada, una cosa que no pude entender es que tiene el mismo valor para los datos 1,2,3, pero cómo podría la columna B mostrar solo los valores en las dos primeras filas.

Si este es el resultado esperado final, tal vez necesite una columna de índice, cree una columna de índice en el editor de consultas de energía, ciérrela y aplíquela, cree esta columna calculada:

Column B2 = 
IF(
    [Index] <= 2,
    CALCULATE(
        MAX('Table'[Column A]),
        FILTER(
            ALL('Table'),
            'Table'[Rank] = MAX('Table'[Rank])
        )
    ),
    BLANK()
)

Si las filas Datos 1 y Datos 2 tienen Datos 3, cree esta columna calculada sin columna de índice:

Column B = 
IF(
    [Rank] <> MAX('Table'[Rank]),
    CALCULATE(
        MAX('Table'[Column A]),
        FILTER(
            ALL('Table'),
            'Table'[Rank] = MAX('Table'[Rank])
        )
    ),
    BLANK()
)

rank.png

Adjunto un archivo de muestra en el siguiente, espera ayudarle.

Best Looks,
Yingjie Li

Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

View solution in original post

5 REPLIES 5
amitchandak
Super User
Super User

@txfrogg1982 , La información que ha proporcionado no está des aclarando el problema para mí. Por favor, puede explicar con un ejemplo.

Mirando la columna B se puede obtener como

Columna B á max([Columna A])


Apreciamos tus Felicitaciones.


edhans
Super User
Super User

Tendrá que ser un poco más claro en su solicitud, y por favor utilice tablas para poner en los datos. No podemos usar texto en la publicación como muestras, ya que toma tiempo deshacerse de los feeds y espacios de línea. Consulte el enlace en la parte inferior.

Pero, puede hacer referencia a otras columnas. En Power Query, puede agregar una nueva columna personalizada con la siguiente fórmula:

List.Max(Source[Column A])

La fuente es el paso por encima del que se encuentra, así que en mi caso, sólo tenía un paso Fuente. Podría ser "Paso cambiado" o lo que sea. Por lo tanto, examina la tabla denominada "Source" (los pasos de consulta de potencia son realmente tablas, o listas u algún otro objeto) y, a continuación, [Columna A] y obtiene el valor máximo, por lo que ahora Data 3 está en todas las filas de la nueva columna.

edhans_0-1599259358587.png

En DAX, la siguiente medida agregará una nueva columna a un objeto visual de tabla.

New Column for Table Visual = 
CALCULATE(
    MAX('Data Table'[Column A]),
    REMOVEFILTERS('Data Table'[Column A])
)

Así que entiendes esto:

edhans_1-1599259565245.png

No voy a mostrarte cómo hacer una columna calculada, porque no deberías usarlas. 😉

En general, intente evitar columnas calculadas. Hay momentos para usarlos, pero es raro. Normalmente se prefiere obtener datos del sistema de origen, crear columnas en Power Query o Medidas DAX a las columnas calculadas. Vea estas referencias:
Columnas calculadas frente a medidas en DAX
Columnas y medidas calculadas en DAX
Diferencias de almacenamiento entre columnas calculadas y tablas calculadas
Vídeo de SQLBI sobre medidas y columnas calculadas

Cómo obtener una buena ayuda rápidamente. Ayúdanos a ayudarte.
Cómo obtener respuestas a su pregunta rápidamente
Cómo proporcionar datos de ejemplo en el foro de Power BI



Did I answer your question? Mark my post as a solution!
Did my answers help arrive at a solution? Give it a kudos by clicking the Thumbs Up!

DAX is for Analysis. Power Query is for Data Modeling


Proud to be a Super User!

MCSA: BI Reporting
Greg_Deckler
Super User
Super User

@txfrogg1982 - Depende, usted tiene que tener alguna manera de hacer referencia a él como un índice o algo o tal vez es el MIN o MAX de esa columna.

No es realmente suficiente información para seguir adelante, por favor primero compruebe si su problema es un problema común enumerado aquí: https://community.powerbi.com/t5/Community-Blog/Before-You-Post-Read-This/ba-p/1116882

Además, consulte este post sobre cómo obtener respuesta a su pregunta rápidamente: https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490

Las partes más importantes son:
1. Datos de muestra como texto, utilice la herramienta de tabla en la barra de edición
2. Salida esperada de los datos de muestra
3. Explicación en palabras de cómo obtener de 1. a 2.


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

Usé la función RANKX para obtener la columna Rank, por lo que "Columna A" y "Rank" es mi estado actual. Quiero una nueva columna (Columna B), donde sólo tengo "Datos 3" de "Columna A". Tengo problemas para escribir DAX que me llevará al estado deseado, "Columna B". Cualquier ayuda será muy apreciada.

Columna A Columna de rango B

Datos 1 1 Datos 3

Datos 2 2 Datos 3

Datos 3 3

Datos 1 1

Datos 2 2

Datos 3 3

Espero que esto dé un poco más de claridad.

Hola @txfrogg1982 ,

Según su descripción y la salida esperada, una cosa que no pude entender es que tiene el mismo valor para los datos 1,2,3, pero cómo podría la columna B mostrar solo los valores en las dos primeras filas.

Si este es el resultado esperado final, tal vez necesite una columna de índice, cree una columna de índice en el editor de consultas de energía, ciérrela y aplíquela, cree esta columna calculada:

Column B2 = 
IF(
    [Index] <= 2,
    CALCULATE(
        MAX('Table'[Column A]),
        FILTER(
            ALL('Table'),
            'Table'[Rank] = MAX('Table'[Rank])
        )
    ),
    BLANK()
)

Si las filas Datos 1 y Datos 2 tienen Datos 3, cree esta columna calculada sin columna de índice:

Column B = 
IF(
    [Rank] <> MAX('Table'[Rank]),
    CALCULATE(
        MAX('Table'[Column A]),
        FILTER(
            ALL('Table'),
            'Table'[Rank] = MAX('Table'[Rank])
        )
    ),
    BLANK()
)

rank.png

Adjunto un archivo de muestra en el siguiente, espera ayudarle.

Best Looks,
Yingjie Li

Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

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.