Turns out Tableau CAN read views. Maybe not materialized views. Anyway you have to grant privileges in views too, not just the underlying table. Why did Excel work? Simple. Excel isn't always clear which username it uses and I must have had the admin username stored. By the way, for those that don't know DAX, you don't know how lucky you are. Months of understanding dax, just to simulate window functions and lod functions, which anyone can pick up in a half of a day.