1049 investors · Sensitive columns excluded · AP1-AP3 / KLP duplicate rows excluded · Data as of 2026-08-25
investors_rows = transpose(investors)
// --- Filter controls (ISC-123: ≥3 filters) ---
viewof country_filter = Inputs.select(
["(all)", ...new Set(investors_rows.map(d => d.country).filter(Boolean).sort())],
{label: "Country"}
)
viewof type_filter = Inputs.select(
["(all)", ...new Set(investors_rows.map(d => d.type).filter(Boolean).sort())],
{label: "Investor Type"}
)
viewof coverage_filter = Inputs.select(
["(all)", "Covered", "Target", "Not Covered", "(none)"],
{label: "CLI Coverage Status"}
)
filtered = investors_rows
.filter(d => country_filter === "(all)" || d.country === country_filter)
.filter(d => type_filter === "(all)" || d.type === type_filter)
.filter(d => {
if (coverage_filter === "(all)") return true;
if (coverage_filter === "(none)") return !d.cli_coverage || d.cli_coverage === "";
return d.cli_coverage === coverage_filter;
})
md`**${filtered.length} investors** match current filters`
Inputs.table(filtered, {
columns: ["name", "country", "type", "cli_coverage", "facts_AUM_usd_m", "appetite_geography"],
header: {
name: "Investor",
country: "Country",
type: "Type",
cli_coverage: "CLI Status",
facts_AUM_usd_m: "AUM (USD m)",
appetite_geography: "Geography Appetite"
},
rows: 25,
sort: "name"
})