in aspnet/Microsoft.Samples.XMLA.HTTP/Tester/Program.cs [94:123]
private static void DumpTables(string token, string endpoint)
{
client.BaseAddress = new Uri(endpoint);
client.DefaultRequestHeaders.Add("Authorization", $"bearer {token}");
var qry = @"
select TABLE_NAME
from $SYSTEM.DBSCHEMA_TABLES
where TABLE_SCHEMA <> '$SYSTEM'";
var tables = RunQueryJArray(qry).Result;
ParallelOptions opts = new ParallelOptions() { MaxDegreeOfParallelism = 1 };
for (int i = 0; i < 10; i++)
{
Parallel.ForEach(tables, opts, (row) =>
{
var tn = row["TABLE_NAME"].ToString();
if (tn[0] == '$')
return;
var sw = new Stopwatch();
var dax = $"evaluate('{tn}')";
Console.WriteLine($"Running [{dax}]");
sw.Start();
var r = RunQueryJArray(dax).Result;
Console.WriteLine($"Ran [{dax}], returned {r.Count} rows in {sw.ElapsedMilliseconds / 1000.0} sec");
});
}
}