Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code FABINSIDER for a $400 discount.
Register nowGet inspired! Check out the entries from the Power BI DataViz World Championships preliminary rounds and give kudos to your favorites. View the vizzies.
Estoy intentando crear datos de lluvia virtuales para múltiples "sitios" utilizando combinaciones proporcionales variables de tres pluviómetros.
Mis datos se guardan en algunas tablas / listas en los siguientes formatos:
Lista de sitios:
Tabla de distribución de estaciones (aún no procesada, sin tipos de datos seleccionados, etc.):
Datos diarios de lluvia y otoño (tabla resumida a partir de datos por hora):
Me gustaría definir los valores de lluvia en el formato:
Precipitaciones en el sitio z = (precipitaciones en el sitio z calibre 1 * proporción del medidor 1 para el sitio z) + (precipitaciones en el sitio z calibre 2 * proporción del medidor 2 para el sitio z) + (precipitaciones en el sitio z calibre 3 * proporción del medidor 3 para el sitio z)
Me gustaría tener valores diarios para trazar de modo que, dependiendo de una segmentación de sitios (de selección única), se grafiquen los "datos de lluvia virtual" apropiados.
El modelo de datos actual es pequeño 1 año de datos diarios, ~ 40 sitios y 16 pluviómetros. Si puedo encontrar una solución limpia, buscaré expandir esto a más de 150 sitios y más de 10 años de datos de lluvia (potencialmente a una resolución por hora).
Preferiría crear esto usando DAX, pero potencialmente podría usar una solución de Power Query que cree un nuevo conjunto de datos de lluvia que pueda vincular directamente a la lista de 'sitios'. Para una solución DAX, no puedo averiguar cómo relacionar la lista de sitios con las asignaciones de indicadores (¿necesito despivotar la segunda tabla a 3 columnas, ID de sitio, ID de medidor, proporción? ¿Entonces se te ocurre algún cálculo que haga la ecuación anterior?
Comenzaría transformando la tabla de distribución de la estación para que esté en un formato utilizable. Copie los pasos que comienzan con UnpivotColumns en la consulta.
let
Source = Table.FromRows(
Json.Document(
Binary.Decompress(
Binary.FromText(
"Xc+9CsIwFAXgV5FMCqU0/2ZUR8GlgkPpENs7SK9tqRbx7U1uqxSXe0JIvpwUBduNNcKbJYxLbrOQRwCEkDmPQ4XhXOYkJbcupJQyHkyNFpRS0XaqtTGsTAq2h7r1iDManRO8+m54rta5x67fRFmEMaFaLx4hSNEyVTozcYtM9FWDvoFZFf9VF8ZckDoKYamjpRtEHfy9v3Xt6gzD4KsJzEz86QUQ4XHtxqElV/46bt3k2y+sjebUUaotweUH",
BinaryEncoding.Base64
),
Compression.Deflate
)
),
let
_t = ((type nullable text) meta [Serialized.Text = true])
in
type table [
Source_Name = _t,
SAP_SITE_ID = _t,
First_Station_Name = _t,
Second_Station_Name = _t,
Third_Station_Name = _t,
First_Station_Number = _t,
Second_Station_Number = _t,
Third_Station_Number = _t,
First_State_Proportion = _t,
Second_State_Proportion = _t,
Third_State_Proportion = _t
]
),
ChangeType = Table.TransformColumnTypes(
Source,
{
{"Source_Name", type text},
{"SAP_SITE_ID", Int64.Type},
{"First_Station_Number", Int64.Type},
{"Second_Station_Number", Int64.Type},
{"Third_Station_Number", Int64.Type},
{"First_State_Proportion", type number},
{"Second_State_Proportion", type number},
{"Third_State_Proportion", type number}
}
),
UnpivotColumns = Table.UnpivotOtherColumns(
ChangeType,
{"Source_Name", "SAP_SITE_ID"},
"Attribute",
"Value"
),
SplitColumn = Table.SplitColumn(
UnpivotColumns,
"Attribute",
Splitter.SplitTextByEachDelimiter({"_"}, QuoteStyle.Csv, false),
{"Attribute.1", "Attribute.2"}
),
PivotColumns = Table.Pivot(
SplitColumn,
List.Distinct(SplitColumn[Attribute.2]),
"Attribute.2",
"Value"
),
RemoveColumn = Table.RemoveColumns(PivotColumns, {"Attribute.1"}),
FilterNull = Table.SelectRows(RemoveColumn, each ([Station_Number] <> null)),
ChangeType2 = Table.TransformColumnTypes(
FilterNull,
{{"Station_Name", type text}, {"Station_Number", type text}, {"State_Proportion", type number}}
)
in
ChangeType2
Deberá proporcionar datos de muestra para la tabla Lluvia diaria (no una captura de pantalla).
Hi, @OllieSvT
No está completamente seguro de cuál es su pregunta, ¿puede elaborar un poco más lo que está tratando de hacer?
Los datos de muestra y los resultados esperados ayudarían enormemente.
Saludos
Equipo de soporte de la comunidad _ Eason
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code FABINSIDER for a $400 discount!
Check out the February 2025 Power BI update to learn about new features.