Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek vám pomůže, jak provádět dotazy na službu Microsoft Learn Organizational Reporting Service při synchronizaci do databáze Azure SQL. Pokud nejste obeznámeni s podrobnostmi služby Learn Organizational Reporting nebo s tím, jak může být využita, doporučujeme, abyste si nejprve přečetli článek s přehledem funkcí .
Získání průběhu pro uživatele prostřednictvím ID objektu Microsoft Entra
Sloupec userId odkazuje na ID uživatele profilu Learn, nikoli ID objektu Microsoft Entra. Pokud chcete načíst průběh pro konkrétního uživatele pomocí ID objektu Microsoft Entra, připojte uživatele a tabulky průběhu.
DECLARE @aadObjectId VARCHAR(50)
SELECT users.AADObjectId, progress.*
FROM users_TENANT_ID_HERE users
JOIN progress_TENANT_ID_HERE progress ON users.userId = progress.userId
WHERE users.AADObjectId = @aadObjectId
Získání průběhu s procentem dokončení pro konkrétní trénovací položku Learn
Procento dokončení se dá vypočítat na základě durationInMinutes, který lze určit při získávání údajů o průběhu pro konkrétní výukové položky Microsoft Learn.
DECLARE @sourceType NVARCHAR(50)
DECLARE @sourceUid NVARCHAR(300)
-- If querying for a specific user:
-- DECLARE @aadObjectId VARCHAR(50)
SELECT
users.AADObjectId,
@sourceUid AS SourceUid,
@sourceType AS SourceType,
progress.XPReason,
progress.XP,
progress.AwardedOn,
CASE
WHEN progress.AwardedOn IS NOT NULL THEN
(
SELECT 1
)
WHEN @sourceType = 'LearningPath' THEN
(
-- User completed minutes of learning path
SELECT SUM(m.durationInMinutes)
FROM HierarchyLearningPathModule lpm
JOIN HierarchyModule m ON m.moduleUid = lpm.ModuleUid
JOIN progress_TENANT_ID_HERE p ON p.SourceUid = lpm.ModuleUid
WHERE lpm.LearningPathUid = @sourceUid
AND p.userId = users.userId
AND p.SourceType = 'Module'
AND p.XPReason = 'points.module.basic.completed'
) / CAST(
(
-- Total duration of learning path
SELECT lp.durationInMinutes
FROM HierarchyLearningPath lp
WHERE lp.LearningPathUid = @sourceUid
) AS DECIMAL(5, 2))
WHEN @sourceType = 'Module' THEN
(
-- User completed minutes of module
SELECT SUM(unit.durationInMinutes)
FROM progress_TENANT_ID_HERE p
JOIN HierarchyUnit unit ON unit.unitUid = p.SourceUid
AND unit.moduleUid = @sourceUid
AND p.userId = users.userId
AND p.SourceType = 'Unit'
AND p.XPReason = 'points.unit.basic.completed'
) / CAST(
(
-- Total duration of module
SELECT m.durationInMinutes
FROM HierarchyModule m
WHERE m.moduleUid = @sourceUid
) AS DECIMAL(5, 2))
END AS PercentComplete
FROM users_TENANT_ID_HERE users
LEFT JOIN progress_TENANT_ID_HERE progress
ON users.userId = progress.userId
AND progress.SourceType = @sourceType
AND progress.SourceUid = @sourceUid
-- If querying for a specific user:
-- WHERE users.AADObjectId = @aadObjectId