Forum Discussion
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]
| Id | Tipo | Fecha de la carta | Fecha original | Desde la fecha | Hasta la fecha | Bandera |
| A | Orden | 29-Abr-20 | 17-Abr-20 | 13-Abr-20 | 31-Mayo-20 | Sí |
| A | Recordar | 28-Mayo | 29-Abr-20 | 25-Mayo-20 | Sí | |
| B | Orden | 11-Mayo-20 | 26-Mayo-20 | 23-Jun-20 | Sí | |
| B | Recordar | 09-Jun-20 | 11-Mayo-20 | 17-Jun-20 | Sí |
[Recuperar]
| Id | Tipo | Fecha de la carta | Fecha original | Desde la fecha | Hasta la fecha | Bandera | New To Date |
| A | Recordar | 28-Mayo-20 | 29-Abr-20 | 25-Mayo-20 | Sí | 31-Mayo-20 | |
| B | Recordar | 09-Jun-20 | 11-Mayo-20 | 17-Jun-20 | Sí | 21-Jun-20 |
13 Replies
- lbendlin
Super User
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.
- amitchandak
Super User
@jasontran, consulte si esto puede ayudar a
https://eriksvensen.wordpress.com/2019/02/28/powerquery-replicate-doing-an-excel-vlookup-in-m/
- AnonymousNot applicable
¿Cómo anidaría una declaración IF dentro de esto?
- lbendlin
Super 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
Community Support
Hola @jasontran
Valoraría la respuesta de lbendlin.
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.- AnonymousNot 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
Community 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