case_sensitive (למידע נוסף)

בדף הזה מוסבר על הפרמטר case_sensitive שהוא חלק מכלי הניתוחים.

אפשר להשתמש ב-case_sensitive גם כחלק ממודל, כמו שמתואר בדף התיעוד של הפרמטר case_sensitive (למודלים).

אפשר להשתמש ב-case_sensitive גם כחלק ממאפיין, כמו שמתואר בדף התיעוד של הפרמטר case_sensitive (לשדות).

Usage

explore: explore_name {
  case_sensitive: yes
}
היררכיה
case_sensitive
ערך ברירת המחדל
yes, אם הניב של מסד הנתונים תומך בפרמטר

מקבל
ערך בוליאני (yes או no)

הגדרה

ההגדרה case_sensitive קובעת אם המסננים יטופלו כרגישים לאותיות רישיות ב-Explore נתון. כל המסננים שקשורים לניתוח המעמיק מושפעים, כולל אלה שנוספו בממשק המשתמש של ניתוח מעמיק, בממשק המשתמש של לוח הבקרה ובפרמטר filters.

כברירת מחדל, האפשרות case_sensitivity מופעלת והמסננים הם תלויי אותיות רישיות. עם זאת, יש ניבים של SQL שלא תומכים בפרמטר הזה, כפי שמתואר בקטע case_sensitive לא נתמך בחלק מהניבים של SQL בדף הזה.

case_sensitive פועל על ידי שינוי הפסוקית WHERE של ה-SQL שנוצר ב-Looker. כשהאפשרות case_sensitive מופעלת, המסננים מופיעים עם = או LIKE, למשל:

WHERE name = 'bob'
WHERE name LIKE '%bob%'

אם האפשרות case_sensitive מושבתת, המסננים מבוטאים באמצעות ILIKE (או מקבילה), למשל:

WHERE name ILIKE 'bob'

דוגמאות

להגדיר את כל המסננים כרגישים לאותיות רישיות במוצר:

explore: product {
  case_sensitive: yes
}

כדי להגדיר שכל המסננים לא יהיו תלויי-רישיות בדוח Customer ב-Explore:

explore: customer {
  case_sensitive: no
}

אתגרים נפוצים

חלק מהדיאלקטים של SQL לא תומכים ב-case_sensitive

כברירת מחדל, האפשרות case_sensitivity מופעלת והמסננים הם תלויי אותיות רישיות. אם דיאלקט ה-SQL שלכם לא תומך בפרמטר case_sensitive, רגישות האותיות תשתנה בהתאם להגדרת מסד הנתונים שלכם, ובדרך כלל לא תהיה רגישות לאותיות.

כדי ש-Looker יתמוך ב-case_sensitive בפרויקט Looker שלכם, הניב של מסד הנתונים שלכם צריך לתמוך בו גם כן. בטבלה הבאה מפורטים הניבים שכוללים תמיכה ב-case_sensitive בגרסה האחרונה של Looker:

דיאלקט נתמך?
Actian Avalanche
Amazon Athena
Amazon Aurora MySQL
Amazon Redshift
Amazon Redshift 2.1+
Amazon Redshift Serverless 2.1+
Apache Druid
Apache Druid 0.13.x - 0.17.x
Apache Druid 0.18+
Apache Hive 2.3+
Apache Hive 3.1.2+
Apache Spark 3+
ClickHouse
Cloudera Impala 3.1+
Cloudera Impala 3.1+ with Native Driver
Cloudera Impala with Native Driver
DataVirtuality
Databricks
Denodo 7
Denodo 8 & 9
Dremio
Dremio 11+
Exasol
Google BigQuery Legacy SQL
Google BigQuery Standard SQL
Google Cloud AlloyDB for PostgreSQL
Google Cloud PostgreSQL
Google Cloud SQL
Google Spanner
Greenplum
HyperSQL
IBM Netezza
MariaDB
Microsoft Azure PostgreSQL
Microsoft Azure SQL Database
Microsoft Azure Synapse Analytics
Microsoft SQL Server 2008+
Microsoft SQL Server 2012+
Microsoft SQL Server 2016
Microsoft SQL Server 2017+
MongoBI
MongoSQL
MySQL
MySQL 8.0.12+
Oracle
Oracle ADWC
PostgreSQL 9.5+
PostgreSQL pre-9.5
PrestoDB
PrestoSQL
SAP HANA
SAP HANA 2+
SingleStore
SingleStore 7+
Snowflake
Teradata
Trino
Vector
Vertica

חשוב לדעת

אפשר ליצור חיפוש תלוי אותיות רישיות ב-MySQL

אפשר ליצור חיפוש תלוי-רישיות ב-MySQL, למרות ש-MySQL לא תומך בפרמטר case_sensitive. ב-MySQL, סוגים מסוימים של נתונים – שנקראים מחרוזות בינאריות – מאחסנים טקסט כסדרה של מספרים. השימוש באותיות רישיות בטקסט משפיע על המספרים שבהם נעשה שימוש. לכן, אם תמירו את הטקסט למחרוזת בינארית, תוכלו לבצע חיפושים שרגישים לאותיות רישיות. לדוגמה:

dimension: will_NOT_be_case_sensitive {
  sql: ${TABLE}.something ;;
}

dimension: will_be_case_sensitive {
  sql: CAST(${TABLE}.something AS BINARY) ;;
}