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

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
Syndicate_Admin
Administrator
Administrator

Generar lista de materiales recursiva

Tengo una tabla importada a PowerBI desde la que tiene la relación entre un número de pieza de lista de materiales de nivel superior "Material de lista de materiales" y números de pieza secundarios "Material componente". El desafío que tengo es que los números de pieza secundarios de "Componente" en sí mismos podrían ser "materiales de BOM", me gustaría ver una versión aplanada de la lista de materiales con todos los números de pieza de componente y los diferentes niveles representados.

El enfoque que estoy pensando en adoptar es rellenar una nueva tabla con una consulta del original, que incluye recursividad para llegar a una lista de materiales plana como se muestra a continuación.

tjgagner_0-1732125418387.png

¿Cómo puedo escribir una consulta que realice este tipo de recursividad?

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Gracias por la preocupación de lbendlin sobre este tema.

Hola, @tjgagner

Estaré encantado de ayudarte.

Tal vez pueda consultar mi DAX para crear una tabla de cálculo:

FlattenedBOM =
UNION (
    SELECTCOLUMNS (
        FILTER (
            'OriginalTable',
            'OriginalTable'[BOM Material]
                IN SELECTCOLUMNS ( 'OriginalTable', 'OriginalTable'[Component Material] )
                    = FALSE ()
        ),
        "BOM Material", [BOM Material],
        "Component Material", [Component Material],
        "Level", 1
    ),
    ADDCOLUMNS (
        SELECTCOLUMNS (
            FILTER (
                CROSSJOIN (
                    'OriginalTable',
                    SELECTCOLUMNS (
                        'OriginalTable',
                        "BOM Material2", 'OriginalTable'[BOM Material],
                        "Component Material2", 'OriginalTable'[Component Material]
                    )
                ),
                [BOM Material2] = [Component Material]
            ),
            [BOM Material],
            "Component Material", [Component Material2]
        ),
        "Level", 2
    )
)

Resultado:

vfenlingmsft_0-1732172501212.png


He adjuntado el pbix para este ejemplo a continuación, ¡espero que ayude!

Espero que mis sugerencias le den buenas ideas, si tiene más preguntas, aclare en una respuesta de seguimiento.
Saludos
Fen Ling,
Si esta publicación Ayuda, entonces por favor considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.

Gracias por su tiempo respondiendo a mi pregunta. Intenté usar esta consulta, pero me colgué en el paso de cálculo ("trabajando en ello"). Volveré a él, pero también intentaré la solución a la que se hace referencia @lbendlin.

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors
Top Kudoed Authors