Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago

DAX > M Query - LOOKUPVALUE

¿Algún consejo sobre cómo convertir este DAX a M?

A continuación se muestra como se esperaba, pero necesito que la transformación se produzca en Power Query para llevar a cabo los pasos posteriores en la [Desde fecha] existente y generado [Nuevo hasta la fecha]


Nuevo a la fecha - SWITCH( TRUE(),
Recordar[Tipo]"Recuperar" && Recordar[Flag]<>BLANK(),
LOOKUPVALUE(Original[Hasta la fecha],
Original[Fecha de la carta],Recall[Fecha original],
Original[ID],Recall[ID],
BLANK()
),
BLANK()

)

Datos de muestra como se indica a continuación

[Original]

IdTipoFecha de la cartaFecha originalDesde la fechaHasta la fechaBandera
AOrden29-Abr-2017-Abr-2013-Abr-2031-Mayo-20
ARecordar28-Mayo29-Abr-2025-Mayo-20
BOrden11-Mayo-20 26-Mayo-2023-Jun-20
BRecordar09-Jun-2011-Mayo-2017-Jun-20

[Recuperar]

IdTipoFecha de la cartaFecha originalDesde la fechaHasta la fechaBanderaNew To Date
ARecordar28-Mayo-2029-Abr-2025-Mayo-20 31-Mayo-20
BRecordar09-Jun-2011-Mayo-2017-Jun-20 21-Jun-20

13 Replies

  • utilice Table.AddColumn() con una función personalizada como generador de columnas. Dentro de la función puede aplicar la búsqueda a la tabla de referencia.

    • Anonymous's avatar
      Anonymous
      Not applicable

      ¿Cómo anidaría una declaración IF dentro de esto?

      • lbendlin's avatar
        lbendlin
        Icon for Super User rankSuper User

        Anidar ifs en Power Query es muy simplista

        si esto entonces que otra cosa si este1 entonces que1 otra cosa si este2 entonces que2 más este3

  • v-juanli-msft's avatar
    v-juanli-msft
    Icon for Community Support rankCommunity Support

    Hola @jasontran

    Valoraría la respuesta de lbendlin.

    Capture5.JPG

    Dejar
    Origen: Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUQpKK7MyQEyjCx0fRMrdY0MQGXceCIijbFCEORJGpxUqxOtFKTsh6LXW9Sv9Sv9SvEstív9EConhHiMK2xAA", BinaryEncoding.Base64), Compression.Deflate)), let _t á ((tipo de texto que acepta valores NULL) meta [Serialized.Text ? true]) en la tabla de tipos [ID - _t, Tipo , _t, "Fecha de la carta" - _t _t, "Fecha original" - _t, "Desde la fecha _t _t"
    "Tipo de cambio" - Table.TransformColumnTypes(Source,"ID", escriba text, "Type", escriba text, "Letter Date", escriba date, "Original Date", escriba date,"From Date", escriba date,"To Date", "A Fecha", escriba text, ?"Flag", escriba text?),
    "Añadido Personalizado" - Table.AddColumn(-"Changed Type", "Custom", (x)->Table.SelectRows(Original,
    cada [ID]-x[ID] y [Fecha de la carta]-x[Fecha original])),
    "Expanded Custom" - Table.ExpandTableColumn('Added Custom", "Custom", ''To Date" '', '''Custom.To Date"')
    En
    "Expandido Personalizado"

    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's avatar
      Anonymous
      Not applicable

      He intentado aplicar la lógica a través de una columna personalizada, pero estoy recibiendo un error "Token Comma expected".

      (x) > Table.SelectRows(-"FV-ToDt",
      cada [ID de empleado] á x[[ID de empleado]
      y [Hasta la fecha]-x[Desde la fecha]
      )

      • v-juanli-msft's avatar
        v-juanli-msft
        Icon for Community Support rankCommunity Support

        Hola @jasontran

        (x) > Table.SelectRows(-"FV-ToDt",
        cada [ID de empleado] x[[ID de empleado]
        y [Hasta la fecha]-x[Desde la fecha]
        )

        [[ debe ser [.

        Saludos

        Maggie