Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more.
Get startedGrow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.
Hola
Soy muy nuevo en Power BI y trato de aprender en el trabajo
He heredado algunas consultas de Power BI que necesito actualizar, pero la persona que las escribió ya no está con la organización, por lo tanto, ¡¡me ayuda un poco!!
Estoy obteniendo datos de una base de datos de Assetic (Enterprise Asseet Management Software) y los estoy incorporando a Power BI
Este es el código que tengo:
dejar
Assetic base URL
asseticUrl = "https://*************.assetic.net",
GUID del perfil de búsqueda avanzada de Assetic
asseticSearchGuid = "*************",
Nombre de usuario de Assetic
asseticNombre de usuario = "****************",
Token de autorización de Assetic
asseticToken = "*************",
Credenciales básicas HTTP Base-64 codificadas
base64Auth = Binary.ToText(
Text.ToBinary(asseticUsername & ":" & asseticToken), BinaryEncoding.Base64
),
Encabezados HTTP
httpHeaders = [
ContentType = "Aplicación/JSON",
Autorización = "Básico" & base64Auth
],
Exportar resultados de perfil de búsqueda avanzada (POST /api/v2/search/{id}/export)
asseticTaskId = Json.Document(
Web.Contents(
asseticUrl,
[
Encabezados = httpHeaders,
RelativePath = "api/v2/search/" & asseticSearchGuid & "/export",
Contenido = Json.FromValue("{}")
]
)
),
Obtener el estado de la exportación (GET /api/v2/backgroundtask/{id})
getAsseticTask = () = > Json.Document(
Web.Contents(
asseticUrl,
[
Encabezados = httpHeaders,
RelativePath = "api/v2/backgroundworker/" & asseticTaskId,
IsRetry = verdadero
]
)
),
Devuelve true si la tarea de exportación se completa dentro de 'n' x 'm' secs
asseticTaskComplete = List.MatchesAny(
List.Repeat({5}, 30),
cada Function.InvokeAfter(() => getAsseticTask(), #duration(0, 0, 0, _)
)[Estado] = "Completado"
),
Espere hasta que se complete la exportación de los resultados
asseticTask = si asseticTaskComplete
entonces
getAsseticTask()
más
error ("La tarea de exportación de Assetic no pudo recuperar los resultados"),
Descargar documento (GET /api/v2/document/{documentId}/file)
asseticFileCsv = Csv.Document(
Web.Contents(
asseticUrl,
[
Encabezados = httpHeaders,
RelativePath = "api/v2/document/" & asseticTask[DocumentId] & "/file"
]
)
),
Promover la primera fila de valores como encabezados de columna
Source = Table.PromoteHeaders(asseticFileCsv)
en
Fuente
La parte del código con la que tengo problemas está en fuente roja. Necesito extender el límite de tiempo antes de que aparezca el mensaje de error "La tarea de exportación de Assetic no pudo recuperar los resultados"
¡Cualquier ayuda es apreciada!
Gracias
GT
Solved! Go to Solution.
List.Repeat({5}, 30),
each Function.InvokeAfter(() => getAsseticTask(), #duration(0, 0, 0, _)
Lo intenta 30 veces y espera cinco segundos entre intentos. Aumentaría un poco el valor de los segundos, ¿realmente necesita verificar cada cinco segundos?
Gracias Ibendlin
Intentaré aumentar el valor de los segundos. No estoy seguro de por qué se configuró en 5 segundos
Bien
GT
List.Repeat({5}, 30),
each Function.InvokeAfter(() => getAsseticTask(), #duration(0, 0, 0, _)
Lo intenta 30 veces y espera cinco segundos entre intentos. Aumentaría un poco el valor de los segundos, ¿realmente necesita verificar cada cinco segundos?