Snowflake Cost Management

I would recommend following these guides when building it in Snowflake, a lot of the work should already be done for you. 

https://medium.com/snowflake/monitoring-snowflake-with-snowsight-e9990a2898f1 

https://medium.com/snowflake/monitoring-your-snowflake-organization-with-snowsight-b1acd470dc17

Keep in mind, Snowflake’s Snowsight feature is considered a very basic BI layer and would recommend Tableau if you need additional features.

Also, Tableau already has a pre-built dashboard- https://www.tableau.com/blog/monitor-understand-snowflake-account-usage

Snowflake: Get list of all DB and schemas

To get list of all Snowflake Databases:

show databases ;

To get list of all schemas in a database:

show schemas ; 

But issue with above is we cant get list of all schemas in the whole account or from all databases.

To get all schemas in an account, you can do this (note that it only reports on what the current role has privileges on):

show schemas in account;

If you want to filter the results, you can use the result_scan immediately after running the show, which is a metadata query. It may look something like this:

select "database_name" as DATABASE_NAME
"name" as SCHEMA_NAME
from table(result_scan(last_query_id()))
where SCHEMA_NAME not in ('INFORMATION_SCHEMA') -- optional filter(s)
;