This is the script I was discussing in class that walks through the visualizations and finds what tables are being used:

from Spotfire.Dxp.Application.Visuals import VisualContent, VisualTypeIdentifiers


for t in Document.Data.Tables:

    tables[t.Name]=Falselocations = ""

for page in Document.Pages:

    for visual in page.Visuals:

        if visual.TypeId != VisualTypeIdentifiers.HtmlTextArea:

            vis = visual.As[VisualContent]()

            aTable = vis.Data.DataTableReference.Name

            aLocation = " -> ".join([aTable,page.Title,visual.Title])


            locations += "\n\t" + aLocation

print "Tables not being used:"

for t in sorted(tables):

    if not tables[t]:print "\t",t

print "\nTables being used:"

for t in sorted(tables):

    if tables[t]:print "\t",t

print "\nTables in used by:"

print locations