es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Contar filas en todas las tablas en una medida en Power Bi.

En mi Power Bi me gustaría contar las filas de todas mis tablas y tener este resultado:

Nombre de la tabla Cantidad de filas
Table1 126
Table2 985
Table3 998

Mientras tenga pocas tablas, puedo hacer esto:

NEWTABLE = UNION(
  ROW("TableName","Table1", "Rowcount",ROWSCOUNT(Table1)),
  ROW("TableName","Table2", "Rowcount",ROWSCOUNT(Table2)),
  ...
)

Pero esto empieza a complicarse cuando tengo muchas tablas.
¿Hay alguna manera de hacerlo? ¿Algún tipo de bucle o algo así?
Gracias.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Sí, puedes utilizar la función “Obtener datos” en Power BI Desktop para obtener dinámicamente una lista de todas las tablas en tu modelo. Aquí están los pasos:

    1. En la pestaña de Inicio, haz clic en “Obtener datos” y selecciona “Consulta en blanco” del menú desplegable.
    2. En la ventana del “Editor de consultas”, ve a la pestaña “Vista” y haz clic en “Editor avanzado”.
    3. Reemplaza el código existente con el siguiente:
    let
        Source = #table(
            {"Nombre de la tabla", "Cantidad de filas"},
            List.Transform(
                List.RemoveMatchingItems(
                    Record.FieldNames(
                        #sections[Section1]{0}[Data]
                    ),
                    {"__Relationships", "__AnnotatedMeasures"}
                ),
                each {
                    _,
                    Table.RowCount(
                        #sections[Section1]{0}[Data]{_}[Table]
                    )
                }
            )
        )
    in
        Source
    
    1. Haz clic en “Aceptar” y cierra la ventana del “Editor de consultas”.
    2. En la ventana principal, añade una nueva visualización de tabla o matriz.
    3. Arrastra “Nombre de la tabla” y “Cantidad de filas” desde la consulta recién creada hacia la sección Valores de la visualización.
    4. Ahora deberías ver una lista dinámica de todas las tablas en tu modelo con sus respectivas cantidades de filas.

    Este código obtiene una lista de todas las tablas en tu modelo y sus correspondientes cantidades de filas. La función List.RemoveMatchingItems elimina cualquier tabla del sistema como “__Relationships” y “__AnnotatedMeasures”. Los nombres de las tablas restantes se transforman en una lista de registros utilizando List.Transform, donde cada registro contiene el nombre de la tabla y su cantidad de filas (que se obtiene utilizando la función Table.RowCount). Por último, la lista resultante de registros se transforma en una nueva tabla con dos columnas (“Nombre de la tabla” y “Cantidad de filas”).

    Nota: Esta solución puede no funcionar en todos los casos, ya que depende de la estructura del modelo de datos y la versión de Power BI Desktop.

Comments are closed.