joshua1990
¡Hola todos!
Solo estoy luchando con mi modelo de datos.
En realidad, estoy trabajando en Excel/Power Pivot, pero estoy seguro de que puede aportar mi nueva perspectiva.
Tengo tres tablas:
1. BOM: enumera el artículo principal y secundario. Puede haber más de 1 hijo por padre.
Padre | Niño |
A | A1 |
A | A2 |
A | A3 |
B | B1 |
2. Tabla de Ventas: Ventas por Niño
Artículo (niño) | Ventas | Fecha |
A1 | 5000 | 01.12.2019 |
A2 | 500 | 01.12.2019 |
A2 | 500 | 02.12.2019 |
A3 | 500 | 01.12.2019 |
3. Maestro de artículos:
Artículo (Padre e hijo) | Escribe | Tamaño | Área | Departamento |
A | Metal | 550 | Fabricación | Montaje |
A1 | Metal | 500 | Fabricación | Montaje |
¿Cómo combinaría/enlazaría esas tablas?
Al final, necesito el Recuento de ventas por artículo en el nivel principal multiplicado por el tamaño del elemento principal.
Por ejemplo:
12.01.2019 5000 ventas en el artículo A1 = (5000/500 (Tamaño del artículo A1) ) * 550 = 5500
¿Cómo estás construyendo modelos de datos como ese?
¿Extendería el elemento maestro con la parte principal?
¿Dividiría el maestro de artículos en Padre de maestro de artículos y Maestro de artículos secundario?
Atentamente
v-chuncz-msft
@joshua1990
Puede usar LOOKUPVALUE para agregar columnas calculadas.
Column =
LOOKUPVALUE (
'Item Master'[Size],
'Item Master'[Article (Parent and Child)], 'Sales Table'[Article (child)]
)
Column 2 =
LOOKUPVALUE (
'Item Master'[Size],
'Item Master'[Article (Parent and Child)], LOOKUPVALUE ( BOM[Parent], BOM[Child], 'Sales Table'[Article (child)] )
)
v-chuncz-msft
@joshua1990
Puede usar LOOKUPVALUE para agregar columnas calculadas.
Column =
LOOKUPVALUE (
'Item Master'[Size],
'Item Master'[Article (Parent and Child)], 'Sales Table'[Article (child)]
)
Column 2 =
LOOKUPVALUE (
'Item Master'[Size],
'Item Master'[Article (Parent and Child)], LOOKUPVALUE ( BOM[Parent], BOM[Child], 'Sales Table'[Article (child)] )
)
mariusz
Hola @joshua1990
Puede usar Power Query y Merge Item Master en la tabla BO dos veces, una en Padre y luego en Hijo, luego expanda las columnas y prefije los nombres con Hijo y Padre.
Ahora puede cargar la tabla Mmedida (en mi ejemplo llamada Artículo) y crear una relación con Ventas en niño, luego puede usar la siguiente medida.
Measure = SUMX( Sales, ( Sales[Sales] / RELATED( Article[Child Size] ) ) * RELATED( Article[Parent Size] ) )
Código M para artículo (puede pegarlo en Consulta en blanco)
let
Source = BOM,
#"Merged Queries" = Table.NestedJoin(Source, {"Parent"}, #"Item Master", {"Article (Parent and Child)"}, "Parent ", JoinKind.LeftOuter),
#"Expanded Parent " = Table.ExpandTableColumn(#"Merged Queries", "Parent ", {"Type", "Size", "Area", "Department"}, {"Parent Type", "Parent Size", "Parent Area", "Parent Department"}),
#"Merged Queries1" = Table.NestedJoin(#"Expanded Parent ", {"Child"}, #"Item Master", {"Article (Parent and Child)"}, "Item Master", JoinKind.LeftOuter),
#"Renamed Columns" = Table.RenameColumns(#"Merged Queries1",{{"Item Master", "Child."}}),
#"Expanded Child." = Table.ExpandTableColumn(#"Renamed Columns", "Child.", {"Type", "Size", "Area", "Department"}, {"Child Type", "Child Size", "Child Area", "Child Department"})
in
#"Expanded Child."
mariusz
Si esta publicación ayuda, entonces por favor considere Aceptarlo como la solución.
laura_gb
El principio antiguo es nunca mezclar datos en una columna. Tiene una columna que contiene padre o hijo. Creo que eso significa que debe dividirse en 2 tablas de Maestro de elementos primarios y Maestro de elementos secundarios y luego es más fácil, pero obviamente tendrá información relacionada más compleja ya que los valores secundarios que supongo anularán los valores principales.
L
joshua1990
En respuesta a laura_gb
Gracias por tu respuesta laura!
¿Cómo los unirías? Quiero decir, ¿dónde está la clave entre el maestro de elementos secundario y principal? ¿Agregaría una columna en el elemento principal secundario con el elemento principal correspondiente y vincularía esa columna con el elemento principal principal?
¿Qué tipo de información necesitas?