Output nil no idea why

Do you guys know why Donated == nil bc I don’t see the problem?

local DataStoreService = game:GetService("DataStoreService")
local DonatedLeaderboard = DataStoreService:GetOrderedDataStore("Donated")

local function UpdateLeaderboard()
	print("leaderboardFires")
	local success, errormessage = pcall(function()
		local Data = DonatedLeaderboard:GetSortedAsync(false, 5)
		local DonatedPage = Data:GetCurrentPage()
		for Rank, data in ipairs(DonatedPage) do
			local userName = game.Players:GetNameFromUserIdAsync(tonumber(data.key))
			local Name = userName
			print(Name)
			local Donated = data.Value
			print(Donated)
			local isOnLeaderboard = false
			for i, v in pairs(game.Workspace.GlobalLeaderboard.LeaderboardGUI.Holder:GetChildren()) do
				if v.Player.Text == Name then
					print("Username Is already on leaderboard")
					isOnLeaderboard = true
					break
				end
			end
			print("about to print")
			if Donated ~= nil and isOnLeaderboard == false then
				print("test")
				local newLbFrame = game.ReplicatedStorage:WaitForChild("LeaderboardFrame"):Clone()
				newLbFrame.Player.Text = Name
				newLbFrame.Donated.Text = Donated
				newLbFrame.Rank.Text = "#"..Rank
				newLbFrame.Position = UDim2.new(0, 0, newLbFrame.Position.Y.Scale + (0.8 * #game.Workspace.GlobalLeaderboard.LeaderboardGUI.Holder:GetChildren()), 0)
				newLbFrame.Parent = game.Workspace.GlobalLeaderboard.LeaderboardGUI.Holder
			end
		end
	end)
	
	if not success then
		print(errormessage)
	end
		
	end

while true do
	for _, player in pairs(game.Players:GetPlayers()) do
	DonatedLeaderboard:SetAsync(player.UserId, player.leaderstats.Donated.Value)
	end
	for _, frame in pairs(game.Workspace.GlobalLeaderboard.LeaderboardGUI.Holder:GetChildren()) do
		frame:Destroy()
	end
	UpdateLeaderboard()
	print("Updated")
	wait(10)
end

The data.Value should be data.value