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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Estrategia de diseño para datos de IoT

Tengo datos que se parecen a la siguiente tabla. Estos son datos de AC/Iluminación. Tengo datos numéricos y de texto mezclados en la columna Valor. Alrededor de 100 mm de filas en nuestra tabla hoy y a largo plazo obtendrán hasta 2.4 mil millones o más a medida que pongamos más edificios en línea. En el caso de blower-2 tenemos un estado de texto y también algunos valores numéricos. Tenga en cuenta que hay una gran cantidad de combinaciones de dispositivos / medidas y no tengo una lista de las cuales son numéricas o textuales.

¿Cómo se manejaría esto con Power BI con los datos de una tabla SQL? ¿Preprocesaría en un esquema en estrella usando T-SQL o una herramienta ETL? ¿La tabla de hechos tendría un número numérico y también un campo "textual" con un FK a un DIM_DeviceStatus? ¿Funcionaría bien esto una vez que las cosas estén dentro del power bi? También podría considerar pasar de SQL a otro almacén de datos en Azure si eso funciona mejor.

La mayoría de los ejemplos en línea tienen un hecho numérico O de texto que se convierte en un FK, sin encontrar estudios de casos en este escenario.

TimestampEdificioDispositivoNombre de la medidaValor (varchar)
1/1/2022 12:00:00 Edificio 1 Espacio-1 Temperatura 74.2
1/1/2022 12:00:00Edificio 1Espacio-2Temperatura72.1
1/1/2022 12:00:00Edificio 2Soplador-2 EstadoApagado
1/1/2022 12:00:00Edificio 2Soplador-2Estado1

Gracias por sus consejos.

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Gracias por su respuesta. Sí, soy consciente de que esto es texto y no podrá usarse como medida, que es realmente la raíz de mi problema y la razón por la que hago la pregunta con orientación sobre cómo separar los datos numéricos y textuales. Los datos se almacenan en sql Server y establecer una conexión no es un problema.

@samgreene1 ,

Creé un archivo pbix de muestra (ver archivo adjunto) para usted, verifique si eso es lo que desea.

1. Copie la tabla en el Editor de Power Query

2. Agregue una columna personalizada para obtener el valor numérico y el valor de texto de forma específica en estas dos tablas

= Text.Select([#"Value (varchar)"],{"0".."9","."})
= Text.Select([#"Value (varchar)"],{"a".."z","A".."Z"})

3. Filtrar el valor de la columna personalizada no es nulo

4. Eliminar columna de valor

yingyinr_0-1653372877989.png

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMtQ31DcyMDJSMDSyMjAAokMLDi1Q0lFyKs3MScnMS1cwhAoEFyQmp+oCeQpQgZDU3ILUosSS0qJUsKACWNTcRM8Iwo7VQTcdxVi4kUaoZoHMMNIzJKAdpMkpJ788tUjXCOK8EqDuYiDDPy2NBL3IOoF2xgIA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Timestamp = _t, Building = _t, Device = _t, MeasureName = _t, #"Value (varchar)" = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Timestamp", type datetime}, {"Building", type text}, {"Device", type text}, {"MeasureName", type text}, {"Value (varchar)", type text}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Col_Number", each Text.Select([#"Value (varchar)"],{"0".."9","."})),
    #"Filtered Rows" = Table.SelectRows(#"Added Custom", each [Col_Number] <> ""),
    #"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Value (varchar)"})
in
    #"Removed Columns"

Si lo anterior no puede ayudarlo a obtener el resultado deseado, proporcione algunos datos de muestra en sus tablas (excluir datos confidenciales ) con formato de texto y su resultado esperado con lógica de backend y ejemplos especiales. Es mejor si puede compartir un archivo pbix simplificado. Puede consultar el siguiente enlace para cargar el archivo a la comunidad. Gracias.

Cómo subir PBI en la comunidad

Saludos

Syndicate_Admin
Administrator
Administrator

@samgreene1 ,

En primer lugar, debe quedar claro que la columna que contiene valores de texto y valores numéricos solo se reconocerá como tipo de texto cuando se cargue en Power BI. Además, una columna solo puede tener un tipo de datos, no es posible cambiar entre varios tipos de datos en una columna. ¿Su origen de datos es SQL? Si es así, puede consultar el siguiente documento para conectarse a SQL en Power BI Desktop.

Conectarse a la base de datos de SQL Server desde Power Query Desktop

Cómo conectar Power BI a una base de datos de SQL Server

yingyinr_0-1653287775739.png

Además, teniendo en cuenta que su volumen de datos es relativamente grande, le sugerimos que consulte el siguiente enlace para diseñar y optimizar su modelo de datos primero.

Diseñar un modelo de datos en Power BI

Power BI - Modelado de datos

Optimización del modelo de datos

Saludos

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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