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

Conjunto de datos push - Los datos se ven wierd

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.

Dgreen23_0-1622060407347.png

Cualquier ayuda para obtener estos datos representados correctamente sería extremadamente útil!

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

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.

View solution in original post

7 REPLIES 7
Syndicate_Admin
Administrator
Administrator

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.

Syndicate_Admin
Administrator
Administrator

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.

@lbendlin ,

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?

Syndicate_Admin
Administrator
Administrator

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))

@lbendlin,

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

Dgreen23_0-1622567675245.png

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?

Syndicate_Admin
Administrator
Administrator

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
}
]

@lbendlin,

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?

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.