Skip to content

Instantly share code, notes, and snippets.

View daanalytics's full-sized avatar
🎯
Focusing

Daan Bakboord daanalytics

🎯
Focusing
View GitHub Profile
@daanalytics
daanalytics / create_pii_name_tag.sql
Created April 20, 2023 14:10
Create PII Name Tag - Object Tagging
-- pii_name_tag
CREATE OR REPLACE TAG frostbyte_tasty_bytes.raw_customer.pii_name_tag
ALLOWED_VALUES 'First Name', 'Last Name'
COMMENT = 'PII Tag for Name Columns'
;
@daanalytics
daanalytics / ass_customer_loyalty.sql
Created April 14, 2023 14:26
Associate Semantic Categories to Customer Loyalty table (Tasty Bytes)
CALL ASSOCIATE_SEMANTIC_CATEGORY_TAGS(
'customer_loyalty',
EXTRACT_SEMANTIC_CATEGORIES('customer_loyalty')
);
@daanalytics
daanalytics / flatten_esc_customer_loyalty.sql
Created April 14, 2023 12:25
Flatten Extract Semantic Categories from Customer Loyalty table (Tasty Bytes)
select f.key::varchar as column_name
, f.value:"privacy_category"::varchar as privacy_category
, f.value:"semantic_category"::varchar as semantic_category
, f.value:"extra_info":"probability"::number(10,2) as probability
, f.value:"extra_info":"alternates"::variant as alternates
from table(FLATTEN(EXTRACT_SEMANTIC_CATEGORIES('customer_loyalty')::VARIANT)) AS f
;
@daanalytics
daanalytics / esc_customer_loyalty.json
Created April 14, 2023 12:19
Output (partly...) Extract Semantic Categories from Customer Loyalty table (Tasty Bytes)
{
"BIRTHDAY_DATE": {
"extra_info": {
"alternates": [],
"probability": "1.00"
},
"privacy_category": "QUASI_IDENTIFIER",
"semantic_category": "DATE_OF_BIRTH"
...
...
@daanalytics
daanalytics / esc_customer_loyalty.sql
Created April 14, 2023 11:50
Extract Semantic Categories from Customer Loyalty table (Tasty Bytes)
select EXTRACT_SEMANTIC_CATEGORIES('customer_loyalty') as esc_customer_loyalty
;
@daanalytics
daanalytics / SF_SpecAcPyPacks.sql
Last active April 5, 2023 08:10
Select specific Anaconda Python Packages
SELECT *
FROM information_schema.packages
WHERE language = 'python'
AND package_name in ('faker', 'pandas')
;
@daanalytics
daanalytics / SF_AcPyPacks.sql
Created April 5, 2023 08:02
Select distinct Anaconda Python packages
SELECT distinct package_name
FROM information_schema.packages
WHERE language = 'python'
;
@daanalytics
daanalytics / QueryDQTab.py
Created March 30, 2023 14:44
Querying the Data Quality Table
# Where clause for the Fully Qualified Table Name
wc_full_qual_table_name = database_name + '.' + schema_name + '.' + table_name
sql_quality_metrics = f"""SELECT *
FROM QUALITY_ASSURANCE.QUALITY_CHECK.DATA_QUALITY_METRICS
WHERE FULL_QUAL_TABLE_NAME = '{wc_full_qual_table_name}'
; """
st.write("Data Quality Metrics for table: " + table_name)
@daanalytics
daanalytics / ExQAProc.py
Created March 30, 2023 14:33
Execute Quality Assurance Procedure
# Call Snowflake Procedure when button is clicked
if st.sidebar.button('Run Quality Assurance'):
cursor = ctx.cursor()
cursor.execute(f"CALL QUALITY_ASSURANCE.QUALITY_CHECK.DATA_QUALITY('{database_name}', '{schema_name}', '{table_name}')")
st.sidebar.success('Procedure has been executed successfully.')
cursor.close()
@daanalytics
daanalytics / QASideBarTextInputs.py
Created March 30, 2023 14:09
Sidebar Text inputs for Quality Assurance
# Select Map type to show
st.sidebar.title("Select a table to examine")
# Set Variables for Snowflake Procedure
database_name = st.sidebar.text_input('Database Name')
schema_name = st.sidebar.text_input('Schema Name')
table_name = st.sidebar.text_input('Table Name')