May 29 2023 11:33 PM
Getting the error
Sorry, something went wrong The column cannot be added because the total size of the columns in this list exceeds the limit. Please delete some other columns first.
When creating new Person type column in Sharepoint Online.
I have checked the total bytes of all columns and they do not exceed the size limit mentioned in docs. I have also deleted two additional Person type columns from list and one multiline column. The error is not going away.
Are there any settings in Sharepoint I can check? Or any more reasons for this error.
May 30 2023 12:38 AM
If you're receiving the error message "The column cannot be added because the total size of the columns in this list exceeds the limit. Please delete some other columns first" when trying to create a new Person type column in SharePoint Online, there are a few possible reasons and solutions you can try:
List View Threshold: SharePoint Online has a list view threshold that limits the total number of columns or the total size of all columns in a list. This threshold is set by default to 8,000 bytes. If the total size of all columns in the list exceeds this limit, you won't be able to add additional columns. In this case, you can try one or more of the following solutions:
Hidden or System Columns: Hidden or system columns in the list, such as "Created By" or "Modified By," also contribute to the overall size limit. Ensure that you haven't exceeded the size limit considering these columns as well.
Indexed Columns: Indexed columns in SharePoint can increase the size of the list, as they require additional storage. If you have indexed columns in the list, try removing the indexing on any unnecessary columns.
Site Collection Administrator: Check if you have the necessary permissions to add columns to the list. Ensure that you have the appropriate access and permissions.
May 31 2023 06:04 AM
May 31 2023 06:59 AM
In SharePoint Online, there is no built-in feature to directly retrieve the current list size in bytes, including system columns and indexed columns, from the system. However, you can use the SharePoint Online Management Shell, a PowerShell module, to retrieve some information about the list and its columns.
Here's an example of how you can use PowerShell to get the size of a SharePoint Online list:
Connect-SPOService -Url https://your-domain-admin.sharepoint.com
Replace "your-domain-admin" with the appropriate URL for your SharePoint Online site.
$web = Get-SPOSite -Identity https://your-domain.sharepoint.com/sites/your-site
$list = Get-SPOList -Web $web -Identity "Your List Name"
$size = 0
$list.Fields | ForEach-Object {
$fieldSize = $_.SchemaXml.Length
$size += $fieldSize
}
Write-Host "List Size (Bytes): $size"
Replace "https://your-domain.sharepoint.com/sites/your-site" with the URL of your SharePoint Online site and "Your List Name" with the name of your list.
This script retrieves the list object, iterates through each field in the list, and calculates the size based on the length of the SchemaXml property of each field. The total size is then displayed in bytes.
Please note that this script considers only the SchemaXml length of the fields, which may not provide an exact representation of the total size, as there could be additional factors contributing to the list size. However, it can give you a rough estimate of the list size based on the field schema lengths.
Third-party tools are also available that provide advanced reporting and analytics for SharePoint Online. These tools can provide insight into list sizes, including system columns and indexed columns. Popular options include ShareGate, AvePoint, and SysKit.
I hope this helps in retrieving the list size information.
May 31 2023 07:28 AM - edited May 31 2023 07:31 AM
SolutionHi @parthup ,
each SharePoint list item can max. occupy 8,000 bytes per row (see software boundaries here: https://learn.microsoft.com/en-us/sharepoint/install/software-boundaries-and-limits#list-and-library.... 300 Bytes are reserved, so you can use 7,700 bytes
You can get all columns from your list if you use the SharePoint REST api in your browser. Simply open
<Yoursiteurl>/_api/web/lists/getbytitle('<your list name>')/fields
and save the XML. You can transfrom that result into an Excel file using Power Query
Now you can count the fields and determine their type (i.e. using the field "TypeAsString" Property).
For the size of each field type refer to this table
https://learn.microsoft.com/en-us/sharepoint/install/software-boundaries-and-limits#Column
Sum that up to calculate your list size.
Best Regards,
Sven
May 31 2023 07:28 AM - edited May 31 2023 07:31 AM
SolutionHi @parthup ,
each SharePoint list item can max. occupy 8,000 bytes per row (see software boundaries here: https://learn.microsoft.com/en-us/sharepoint/install/software-boundaries-and-limits#list-and-library.... 300 Bytes are reserved, so you can use 7,700 bytes
You can get all columns from your list if you use the SharePoint REST api in your browser. Simply open
<Yoursiteurl>/_api/web/lists/getbytitle('<your list name>')/fields
and save the XML. You can transfrom that result into an Excel file using Power Query
Now you can count the fields and determine their type (i.e. using the field "TypeAsString" Property).
For the size of each field type refer to this table
https://learn.microsoft.com/en-us/sharepoint/install/software-boundaries-and-limits#Column
Sum that up to calculate your list size.
Best Regards,
Sven