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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register 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! Prices go up Feb. 11th.

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

Jan NL Carousel

Fabric Community Update - January 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors