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.
Hola
Estoy en medio de la transformación de algunos datos para un informe simple (tabla y gráfico). Necesito cambiar un código de construcción de decir:
A1 a D1 en la "Columna de código de construcción" solo cuando en la columna "Nombre de la habitación" hay texto que contiene "Open Office". Esto no puede ser exactamente "Open Office" pero puede ser parte de ella, por ejemplo, "Open Office Waiting Room o "Open Office Storage Area" y así sucesivamente. Podría haber 20 variantes diferentes. Ejemplo de datos a continuación y resultado esperado.
Código de construcción | Nombre del edificio | Código de piso | Código de habitación | Nombre de la habitación | Resultado esperado en la columna de código de Buidling |
A1 | Edificio de pruebas | Lg | 101 | ||
A1 | Edificio de pruebas | Lg | 102 | Almacenamiento de Office abierta | D1 |
A1 | Edificio de pruebas | Lg | 103 | Oficina abierta | D1 |
A1 | Edificio de pruebas | Lg | 104 | Gran espacio de oficina abierta | D1 |
A1 | Edificio de pruebas | Lg | 105 | ||
A1 | Edificio de pruebas | Lg | 105.1 | ||
A1 | Edificio de pruebas | Lg | 105.2 | Sala de espera de oficina abierta | D1 |
A1 | Edificio de pruebas | Lg | 105.3 | Sala de espera de oficina abierta | D1 |
A1 | Edificio de pruebas | Lg | 105.4 | Aseos - Oficina Abierta | D1 |
A1 | Edificio de pruebas | Lg | 105.5 | Oficina abierta | D1 |
A1 | Edificio de pruebas | Lg | 106 | ||
A1 | Edificio de pruebas | Lg | 107 | ||
A1 | Edificio de pruebas | Lg | 108 | ||
A1 | Edificio de pruebas | Lg | 201 | ||
A1 | Edificio de pruebas | Lg | 201.1 | Tiny Open Office Space | D1 |
A1 | Edificio de pruebas | 1 | 201.2 | Utiliites | |
A1 | Edificio de pruebas | 1 | 201.3 | Utiliites | |
A1 | Edificio de pruebas | 1 | 105.3 | Cocina | |
A1 | Edificio de pruebas | 1 | 105.4 | Sala de Oración | |
A1 | Edificio de pruebas | 1 | 105.5 | ||
A1 | Edificio de pruebas | 1 | 106 | Mail Room | |
A1 | Edificio de pruebas | 2 | 107 | Armario de almacenamiento | |
A1 | Edificio de pruebas | 3 | 108 | Null | |
A1 | Edificio de pruebas | 4 | 201 | Null | |
A1 | Edificio de pruebas | 4 | 201.1 | Oficina Abierta de Tea Point | D1 |
A1 | Edificio de pruebas | 8 | 201.2 | ||
A1 | Edificio de pruebas | 10 | 201.3 | ||
A1 | Edificio de pruebas | 10 | 201.4 | Oficina | |
A3 | Edificio 3 | 11 | 201.5 | Oficina | |
A3 | Edificio 3 | 2 | 301 | Oficina | |
A3 | Edificio 3 | 4 | 301.1 | Armario de almacenamiento | |
A3 | Edificio 3 | 6 | 301.2 | Sala de espera | |
A3 | Edificio 3 | 2 | 301.3 |
¡Espero que esto tenga sentido! Soy un novato y realmente no sé cómo hacer el código para él!
Salud
Rob
Solved! Go to Solution.
@DavisBI Lo siento... la copia de formato de Excel estaba por todas partes. He hecho como **bleep** en su lugar.
Salud
Rob
Hola @rob1975 ,
Estos son los pasos que puede seguir:
1. Cree una columna calculcada.
Expected Result in Buidling Code Column = IF(CONTAINSSTRING('Table'[Room Name],"Open Office"),"D1",BLANK())
2. Resultado.
Puede descargar el archivo PBIX desde aquí.
Saludos
Liu Yang
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
@DavisBI Lo siento... la copia de formato de Excel estaba por todas partes. He hecho como **bleep** en su lugar.
Salud
Rob
Hola @rob1975
Este código hace lo que necesita. Copiar/pegarlo en una consulta en blanco o descargar este archivo PBIX
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("pZRBTsMwEEWvYmVdqiaOS7eFBQtArSCIRdWFFaZhJGNXibvobTgLJ8NOkyihje2KjZXI/3k8/0+y2UTLOJpEGVSa3B1QfKAszPvTg1nimd2KthO3KDHrag+SrHY7zIG8alXyArwcHXI/314itY+8LIAM6u157q/GQlph06CO2fRvz+8ctZGQF6W+AnD6P9z6kCkUoCty0/cigGXD0l5iHmLIbYho4RclIRNnRHVMGcrjNYMQN6zN7k2jQNRQuaauBeg1QBvvI+r8E6RfbMNcl/wIpSf+FnBPctyl9sxReI5MuvSaj5bcC1WBHidoF6U8CDGuS7s0g3SnQIGTtUKpw0Z60cvT4cesl2KAzF6oX9lirY7U3bdjwXxKezFae+CUpSdZbcGlGM6AeQPY88//HGPXaAzY/gI=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Building Code" = _t, #"Building Name" = _t, #"Floor Code" = _t, #"Room Code" = _t, #"Room Name" = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Building Code", type text}, {"Building Name", type text}, {"Floor Code", type text}, {"Room Code", type number}, {"Room Name", type text}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each if [Building Code] = "A1" and Text.Contains([Room Name], "Open Office") then "D1" else [Building Code]),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Building Code"}),
#"Reordered Columns" = Table.ReorderColumns(#"Removed Columns",{"Custom", "Building Name", "Floor Code", "Room Code", "Room Name"}),
#"Renamed Columns" = Table.RenameColumns(#"Reordered Columns",{{"Custom", "Building Code"}})
in
#"Renamed Columns"
saludos
Phil
Si respondí a su pregunta por favor marque mi post como la solución.
Si mi respuesta ayudó a resolver su problema, déle un kudos haciendo clic en Thumbs Up.
Proud to be a Super User!
Muchas gracias por este @DavisBI . Lo intenté, pero fracasé. Tal vez lo que publiqué no era exactamente la manera de explicarlo
Voy a poner el resultado que espero como lo hice arriba, pero un poco más claro. Tal vez no estoy a la mejor de estas cosas de codificación.
Salud
Rob
Antes | Después | |||||||||
Código de construcción | Nombre del edificio | Código de piso | Código de habitación | Nombre de la habitación | Código de construcción | Nombre del edificio | Código de piso | Código de habitación | Nombre de la habitación | |
A1 | Edificio de pruebas | Lg | 101 | A1 | Edificio de pruebas | Lg | 101 | |||
A1 | Edificio de pruebas | Lg | 102 | Almacenamiento de Office abierta | D1 | Edificio de pruebas | Lg | 102 | Almacenamiento de Office abierta | |
A1 | Edificio de pruebas | Lg | 103 | Oficina abierta | D1 | Edificio de pruebas | Lg | 103 | Oficina abierta | |
A1 | Edificio de pruebas | Lg | 104 | Gran espacio de oficina abierta | D1 | Edificio de pruebas | Lg | 104 | Gran espacio de oficina abierta | |
A1 | Edificio de pruebas | Lg | 105 | A1 | Edificio de pruebas | Lg | 105 | |||
A1 | Edificio de pruebas | Lg | 105.1 | A1 | Edificio de pruebas | Lg | 105.1 | |||
A1 | Edificio de pruebas | Lg | 105.2 | Sala de espera de oficina abierta | D1 | Edificio de pruebas | Lg | 105.2 | Sala de espera de oficina abierta | |
A1 | Edificio de pruebas | Lg | 105.3 | Sala de espera de oficina abierta | D1 | Edificio de pruebas | Lg | 105.3 | Sala de espera de oficina abierta | |
A1 | Edificio de pruebas | Lg | 105.4 | Aseos - Oficina Abierta | D1 | Edificio de pruebas | Lg | 105.4 | Aseos - Oficina Abierta | |
A1 | Edificio de pruebas | Lg | 105.5 | Oficina abierta | D1 | Edificio de pruebas | Lg | 105.5 | Oficina abierta | |
A1 | Edificio de pruebas | Lg | 106 | A1 | Edificio de pruebas | Lg | 106 | |||
A1 | Edificio de pruebas | Lg | 107 | A1 | Edificio de pruebas | Lg | 107 | |||
A1 | Edificio de pruebas | Lg | 108 | A1 | Edificio de pruebas | Lg | 108 | |||
A1 | Edificio de pruebas | Lg | 201 | A1 | Edificio de pruebas | Lg | 201 | |||
A1 | Edificio de pruebas | Lg | 201.1 | Tiny Open Office Space | D1 | Edificio de pruebas | Lg | 201.1 | Tiny Open Office Space | |
A1 | Edificio de pruebas | 1 | 201.2 | Utiliites | A1 | Edificio de pruebas | 1 | 201.2 | Utiliites | |
A1 | Edificio de pruebas | 1 | 201.3 | Utiliites | A1 | Edificio de pruebas | 1 | 201.3 | Utiliites | |
A1 | Edificio de pruebas | 1 | 105.3 | Cocina | A1 | Edificio de pruebas | 1 | 105.3 | Cocina | |
A1 | Edificio de pruebas | 1 | 105.4 | Sala de Oración | A1 | Edificio de pruebas | 1 | 105.4 | Sala de Oración | |
A1 | Edificio de pruebas | 1 | 105.5 | A1 | Edificio de pruebas | 1 | 105.5 | |||
A1 | Edificio de pruebas | 1 | 106 | Mail Room | A1 | Edificio de pruebas | 1 | 106 | Mail Room | |
A1 | Edificio de pruebas | 2 | 107 | Armario de almacenamiento | A1 | Edificio de pruebas | 2 | 107 | Armario de almacenamiento | |
A1 | Edificio de pruebas | 3 | 108 | Null | A1 | Edificio de pruebas | 3 | 108 | Null | |
A1 | Edificio de pruebas | 4 | 201 | Null | A1 | Edificio de pruebas | 4 | 201 | Null | |
A1 | Edificio de pruebas | 4 | 201.1 | Oficina Abierta de Tea Point | D1 | Edificio de pruebas | 4 | 201.1 | Oficina Abierta de Tea Point | |
A1 | Edificio de pruebas | 8 | 201.2 | A1 | Edificio de pruebas | 8 | 201.2 | |||
A1 | Edificio de pruebas | 10 | 201.3 | A1 | Edificio de pruebas | 10 | 201.3 | |||
A1 | Edificio de pruebas | 10 | 201.4 | Oficina | A1 | Edificio de pruebas | 10 | 201.4 | Oficina | |
A3 | Edificio 3 | 11 | 201.5 | Oficina | A3 | Edificio 3 | 11 | 201.5 | Oficina | |
A3 | Edificio 3 | 2 | 301 | Oficina | A3 | Edificio 3 | 2 | 301 | Oficina | |
A3 | Edificio 3 | 4 | 301.1 | Armario de almacenamiento | A3 | Edificio 3 | 4 | 301.1 | Armario de almacenamiento | |
A3 | Edificio 3 | 6 | 301.2 | Sala de espera | A3 | Edificio 3 | 6 | 301.2 | Sala de espera | |
A3 | Edificio 3 | 2 | 301.3 | A3 | Edificio 3 | 2 | 301.3 |
Hola, @rob1975
Puede utilizar CONTAINSSTRING()
Result =
IF(
CONTAINSSTRING('Sheet1'[Building Name],"Open Office")
,"D1"
,BLANK()
)
Resultado como se muestra a continuación:
Marque este post como solución si esto ayuda, gracias!
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
1 | |
1 | |
1 |