Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makale, bir Azure SQL veritabanıyla eşitlenirken Microsoft Learn Kurumsal Raporlama Hizmeti'ni sorgulamanıza yardımcı olur. Learn Kurumsal Raporlama hizmetinin ayrıntılarını veya kullanım örneklerini bilmiyorsanız, önce özelliğe genel bakış makalesini gözden geçirmenizi öneririz.
Microsoft Entra Nesne Kimliği aracılığıyla kullanıcı için ilerleme durumunu alma
Sütun, userId
Microsoft Entra Nesne Kimliği'ne değil Learn profili kullanıcı kimliğine başvurur. Microsoft Entra Nesne Kimliği kullanarak belirli bir kullanıcının ilerleme durumunu almak için kullanıcılara ve ilerleme tablolarına katılın.
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
Belirli bir Learn eğitim öğesi için tamamlanma yüzdesiyle ilerlemeyi alma
Tamamlanma yüzdesi, belirli Microsoft Learn eğitim öğeleri için ilerleme verileri alınırken hesaplanabilen öğesine göre durationInMinutes
hesaplanabilir.
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