Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
jcoc_95
New Member

CONSULTAS POWER BI

Hola expertos :D. tengo un problema en CONSULTAS DE POWER BI  que no he podido resolver. les explico:

 

EJEMPLO :

TENGO TRES TABLAS

1. TABLA ORIGEN SAP :

CLIENTESKUCAJAS
CLIENTE A3013
CLIENTE A3025

 

2. TABLA ORIGEN VERTICA

CLIENTESKUSCAJAS
CLIENTE A3013
CLIENTE A3022
CLIENTE A3033
CLIENTE A3041

3. PLAN DE VISITAS

LO QUE QUIERO ES BUSCAR EL CLIENTE Y SKU EN AMBAS TABLAS Y TRAER LAS CAJAS

ES DECIR QUE ME APAREZCA ASI

CLIENTESKUSCAJAS ORIGEN SAPCAJAS ORIGEN VERTICA
CLIENTE A30133
CLIENTE A30252
CLIENTE A30330
CLIENTE A30410
    

PERO ME SALE ASI: es decir un DOS COLUMNAS CON SKU Y SOLO QUIERO UNA.

jcoc_95_1-1731022467943.png

 

SOLO QUIERO JUNTA LAS DOS COLUMNAS DE SKUS EN UNA SOLA COLUMNA PERO SIN QUE SE REPITAN LOS SKUS O SIN QUE FALTAN UNO DE OTRO.

 

ME PUEDEN AYUDAR?

1 ACCEPTED SOLUTION
Anonymous
Not applicable

Hi @jcoc_95 ,

 

Please try this M code;

let
    // Load the SAP source table
    SAPTable = Table.FromRecords({
        [CLIENTE = "CLIENTE A", SKU = 301, CAJAS = 3],
        [CLIENTE = "CLIENTE A", SKU = 302, CAJAS = 5]
    }),

    // Load the VERTICA source table
    VERTICATable = Table.FromRecords({
        [CLIENTE = "CLIENTE A", SKUS = 301, CAJAS = 3],
        [CLIENTE = "CLIENTE A", SKUS = 302, CAJAS = 2],
        [CLIENTE = "CLIENTE A", SKUS = 303, CAJAS = 3],
        [CLIENTE = "CLIENTE A", SKUS = 304, CAJAS = 1]
    }),

    // Rename columns in both tables to avoid name conflicts
    SAPRenamed = Table.RenameColumns(SAPTable, {{"CLIENTE","CLIENTE_SAP"},{"CAJAS", "CAJAS ORIGEN SAP Temp"}}),
    VERTICARenamed = Table.RenameColumns(VERTICATable, {{"CAJAS", "CAJAS ORIGEN VERTICA Temp"}}),

    // Merge tables using CLIENTE and SKU columns, with a full outer join to include all SKUs
    MergedTable = Table.Join(SAPRenamed, {"CLIENTE_SAP", "SKU"}, VERTICARenamed, {"CLIENTE", "SKUS"}, JoinKind.FullOuter),



    ReplacedColumn = Table.AddColumn(MergedTable,"CAJAS ORIGEN SAP",each if [CAJAS ORIGEN SAP Temp] <> null then [CAJAS ORIGEN SAP Temp] else  [CAJAS ORIGEN VERTICA Temp]),
    ReplacedColumn2 = Table.AddColumn(ReplacedColumn,"CAJAS ORIGEN VERTICA", each if [CAJAS ORIGEN SAP Temp] <> null then [CAJAS ORIGEN VERTICA Temp] else null),
    // Remove one of the duplicate CLIENTE columns after merging
    RemoveDuplicateColumn = Table.RemoveColumns(ReplacedColumn2, {"CLIENTE_SAP","SKU","CAJAS ORIGEN SAP Temp","CAJAS ORIGEN VERTICA Temp"})
        
    
in
    RemoveDuplicateColumn

vbofengmsft_0-1731043952427.png

 

Best Regards,

Bof

View solution in original post

1 REPLY 1
Anonymous
Not applicable

Hi @jcoc_95 ,

 

Please try this M code;

let
    // Load the SAP source table
    SAPTable = Table.FromRecords({
        [CLIENTE = "CLIENTE A", SKU = 301, CAJAS = 3],
        [CLIENTE = "CLIENTE A", SKU = 302, CAJAS = 5]
    }),

    // Load the VERTICA source table
    VERTICATable = Table.FromRecords({
        [CLIENTE = "CLIENTE A", SKUS = 301, CAJAS = 3],
        [CLIENTE = "CLIENTE A", SKUS = 302, CAJAS = 2],
        [CLIENTE = "CLIENTE A", SKUS = 303, CAJAS = 3],
        [CLIENTE = "CLIENTE A", SKUS = 304, CAJAS = 1]
    }),

    // Rename columns in both tables to avoid name conflicts
    SAPRenamed = Table.RenameColumns(SAPTable, {{"CLIENTE","CLIENTE_SAP"},{"CAJAS", "CAJAS ORIGEN SAP Temp"}}),
    VERTICARenamed = Table.RenameColumns(VERTICATable, {{"CAJAS", "CAJAS ORIGEN VERTICA Temp"}}),

    // Merge tables using CLIENTE and SKU columns, with a full outer join to include all SKUs
    MergedTable = Table.Join(SAPRenamed, {"CLIENTE_SAP", "SKU"}, VERTICARenamed, {"CLIENTE", "SKUS"}, JoinKind.FullOuter),



    ReplacedColumn = Table.AddColumn(MergedTable,"CAJAS ORIGEN SAP",each if [CAJAS ORIGEN SAP Temp] <> null then [CAJAS ORIGEN SAP Temp] else  [CAJAS ORIGEN VERTICA Temp]),
    ReplacedColumn2 = Table.AddColumn(ReplacedColumn,"CAJAS ORIGEN VERTICA", each if [CAJAS ORIGEN SAP Temp] <> null then [CAJAS ORIGEN VERTICA Temp] else null),
    // Remove one of the duplicate CLIENTE columns after merging
    RemoveDuplicateColumn = Table.RemoveColumns(ReplacedColumn2, {"CLIENTE_SAP","SKU","CAJAS ORIGEN SAP Temp","CAJAS ORIGEN VERTICA Temp"})
        
    
in
    RemoveDuplicateColumn

vbofengmsft_0-1731043952427.png

 

Best Regards,

Bof

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!

December 2025 Power BI Update Carousel

Power BI Monthly Update - December 2025

Check out the December 2025 Power BI Holiday Recap!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.