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.
He creado un conjunto de datos push y lo he conseguido la mayor parte de la forma en que funciona y formateado. El problema que tengo es que los datos publicados en él parece que están sosteniendo el encabezado delante del valor, que no queremos.
Cualquier ayuda para obtener estos datos representados correctamente sería extremadamente útil!
Solved! Go to Solution.
Lo ideal es que el origen de datos tenga cosas como LIMIT y OFFSET que pueda usar para paginar. Si no es así, haga la paginación en Powershell.
Lo ideal es que el origen de datos tenga cosas como LIMIT y OFFSET que pueda usar para paginar. Si no es así, haga la paginación en Powershell.
Haga su ejecución de la paginación del molino - por ejemplo, filas de 5K a la vez.
Pero tengo la sensación de que está abusando de los conjuntos de datos push por algo para lo que no fueron diseñados.
Soy lo suficientemente nuevo en esto, no estoy seguro de cómo funcionaría uno corriente. ¿Simplemente haría varias instrucciones get y de alguna manera seleccionaría filas de arriba hacia abajo ignorando una parte de las devoluciones?
No me preocuparía por el identificador de registro, debería funcionar sin eso. Lo que parece que falta es un campo de marca de tiempo UTC. Esto es obligatorio para los conjuntos de datos de inserción.
Este es un ejemplo de uso de Powershell (lo uso para supervisar el estado de los miembros del clúster de puerta de enlace)
#capture stats
$mem = (Get-Counter '\Memory\Available MBytes').CounterSamples.CookedValue
$proc = (Get-Counter '\Processor(_Total)\% Processor Time').CounterSamples.CookedValue
$disk = (Get-Counter '\LogicalDisk(C:)\% free space').CounterSamples.CookedValue
$date = (Get-Date).ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:00.000Z')
$payload = @{
"Host" = $env:computername
"Timestamp" = $date
"Available Memory in MB" = $mem
"Processor Load %" = $proc
"% Free on C:" = $disk
}
#enforce TLS1.2
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
#push URL
$endpoint = "https://api.powerbi.com/beta/<tenant id>/datasets/<dataset id>/rows?key=<push key>"
Invoke-RestMethod -Method Post -Uri "$endpoint" -Body (ConvertTo-Json @($payload))
No estoy del todo seguro de que se requiera un UTC en este caso. Tengo el siguiente código que funciona bien con una sola entrada y los datos ahora parecen venir de la manera que debería:
$headers = Nuevo-Objeto "System.Collections.Generic.Dictionary[[String],[String]]"
$headers. Add("Autorización", "Su Autorización")
$response = Invoke-RestMethod 'Where the data is' -Method 'GET' -Headers $headers
Escritura-Salida ""
Escritura-Salida ""
$headers 2 = Nuevo-Objeto "System.Collections.Generic.Dictionary[[String],[String]]"
$headers 2. Add("Content-Type", "application/json")
$body de salida de escritura
$response 2 = Invoke-RestMethod 'Where the data needs to go' -Method 'POST' -Headers $headers 2 -Body (ConvertTo-Json @($response.value))
$response 2 | ConvertTo-Json
El problema ahora es que el conjunto de datos que voy a empujar es aproximadamente 24k líneas vale la pena. Power Bi tiene una limitación de 10k líneas por publicación y solo 5 publicaciones en cola a la vez. ¿Cuál crees que sería la mejor manera de dividir mi respuesta del método Invoke get?
Muestre el JSON que está usando para insertar una fila en el conjunto de datos. Debería verse así:
[
{
"host" :"AAAAA555555",
"temperature" :98.6,
"humidity" :98.6,
"timestamp" :"AAAAA555555",
"utc" :"2021-05-30T22:43:38.298Z",
"pressure" :98.6
}
]
Actualmente, Invoke-Restmethod Get llama a los datos y, a continuación, pasa por el proceso ConvertTo-Json antes de volver a pasarse como Invoke-Restmethod Post. Los datos se ven así actualmente y falta el primer y último corchete que tiene el suyo:
{
"JobOpDtl_Company01": "x",
"ResourceGroup_JCDept": x,
"ResourceTimeUsed1_ResourceGrpID": x,
"ResourceTimeUsed1_ResourceID": x,
"Calculated_RegionCode": "x",
"JobOpDtl_JobNum01": "x",
"JobHead_PartNum": "x",
"JobHead_RevisionNum": "x",
"Calculated_Op": x,
"JobOper_OpCode": "x",
"JobHead_ProdQty": "x",
"JobOper_QtyCompleted": "x",
"Calculated_piecesRemaining": "x",
"JobOper_EstSetHours": "x",
"JobOper_ActSetupHours": "x",
"JobOper_EstProdHours": "x",
"JobOper_ActProdHours": "x",
"JobHead_ReqDueDate": "x",
"JobOper_DueDate": "x",
"JobOper_StartDate": "x",
"JobHead_SchedCode": "x",
"Calculated_PriorOp": x,
"ResourceTimeUsed4_ResourceGrpID": x,
"Calculated_NextOp": x,
"ResourceTimeUsed5_ResourceGrpID": x,
"Customer_Name": "x",
"Vendor_Name": x,
"Calculated_DaysInDepartment": "x"
}
¿Cómo haríamos para que el corchete de apertura y cierre entre los datos?
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |