case_sensitive (למודלים)

הדף הזה מתייחס לפרמטר case_sensitive שהוא חלק ממודל.

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

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

Usage

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

אמצעי תשלום מקובלים
ערך בוליאני (yes או no)

הגדרה

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

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

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

כש-case_sensitive: no, המסננים מבוטאים באמצעות ILIKE (או שווה ערך), למשל:

WHERE name ILIKE 'bob'

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

דוגמאות

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

connection: "connection_name"
include: "filename_or_pattern"
case_sensitive: yes
explore: explore_name {...}

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

connection: "connection_name"
include: "filename_or_pattern"
case_sensitive: no

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

חלק מהדיאלקטים של 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
ClickHouse 26+
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+
Dremio 26+ with Arrow Flight SQL
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

‫DataVirtuality מספקת שכבת נתונים סמנטית שמתחברת לניבים שונים של מסדי נתונים. אם Looker תומך ב-case_sensitive לדיאלקטים הבסיסיים, אז Looker תומך ב-case_sensitive ל-DataVirtuality שמתחבר לדיאלקטים האלה.

חשוב לדעת

אפשר ליצור חיפוש תלוי אותיות רישיות ב-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) ;;
}