Looker se distingue par sa capacité à se connecter directement à votre base de données. Cela signifie que vous pouvez toujours accéder aux données les plus récentes et afficher le détail jusqu'au niveau le plus précis disponible. Vous pouvez donc consulter des résumés annuels ou mensuels, mais Looker vous permet également d'accéder instantanément au jour, à l'heure ou à la seconde.
Cette page fournit des exemples de personnalisation et d'exploitation du forage de données pour créer des expériences analytiques plus puissantes pour vos utilisateurs, y compris :
- Personnaliser la présentation des valeurs dans les tableaux de données d'analyse de base
- Personnaliser la visualisation de l'analyse pour créer une expérience d'analyse visuelle
Personnaliser la présentation des valeurs dans les tableaux de données d'analyse de base
L'architecture moderne native de Looker vous permet de faire bien plus que passer d'un niveau au niveau le plus précis. Vous pouvez créer n'importe quel chemin d'analyse personnalisé avec seulement quelques paramètres.
Les exemples suivants montrent comment personnaliser la présentation des données dans les tableaux croisés dynamiques, y compris :
- Ajouter des limites de lignes personnalisées (jusqu'à 5 000 lignes) à un tableau d'analyse
- Ajouter des tri à un tableau d'analyse
- Ajouter des tableaux croisés dynamiques à un tableau d'analyse
Ajouter des limites de lignes (jusqu'à 5 000 lignes) à un tableau croisé dynamique
Ajouter des limites de lignes à un tableau d'analyse vous permet de contrôler la façon dont les données sont présentées aux utilisateurs lorsqu'ils explorent les valeurs de mesure. Par exemple, que faire si vous souhaitez n'afficher que les 20 premiers résultats d'une table croisée dynamique lorsqu'un utilisateur explore une valeur de mesure Nombre de résultats renvoyés ? Vous pouvez utiliser le paramètre link
et définir le sous-paramètre url
sur "{{ link }}&limit=20"
, comme dans le code LookML suivant :
measure: returned_count { type: count_distinct sql: ${id} ;; filters: [is_returned: "yes"] drill_fields: [detail*] link: { label: "Explore Top 20 Results" url: "{{ link }}&limit=20" } } set: detail { fields: [id, order_id, status, created_date, sale_price, products.brand, products.item_name, users.email] }
Cela permet aux utilisateurs d'afficher les 20 premiers résultats en sélectionnant Explorer les 20 premiers résultats dans le menu d'analyse de la mesure Nombre renvoyé:
Ajouter des tris à un tableau d'analyse
En plus de limiter les données, vous pouvez également contrôler la manière dont elles sont triées dans un tableau croisé dynamique. Par exemple, si vous souhaitez afficher les 20 résultats par Prix soldé lorsqu'un utilisateur explore une valeur de mesure Nombre de résultats renvoyés ? Vous pouvez utiliser le paramètre link
et définir le sous-paramètre url
sur "{{ link }}&sorts=order_items.sale_price"
. Le code LookML suivant associe un tri personnalisé à une limite de lignes personnalisée:
measure: returned_count { type: count_distinct sql: ${id} ;; filters: [is_returned: "yes"] drill_fields: [detail*] link: { label: "Explore Top 20 Results by Sale Price" url: "{{ link }}&sorts=order_items.sale_price+desc&limit=20" } } set: detail { fields: [id, order_id, status, created_date, sale_price, products.brand, products.item_name, users.email] }
Les utilisateurs peuvent ainsi examiner les 20 premiers résultats par prix de vente en sélectionnant Explorer les 20 premiers résultats par prix de vente dans le menu d'analyse de la mesure Prix de vente :
Ajouter des tableaux croisés dynamiques à un tableau d'analyse
En plus de limiter et de trier les données, vous pouvez également faire pivoter des dimensions dans un tableau croisé dynamique. Par exemple, imaginons que vous souhaitiez ajouter un tableau croisé dynamique à un champ Tranche d'âge pour afficher l'année et le niveau de marge brute pour chaque tranche d'âge lorsqu'un utilisateur détaille une valeur de mesure Nombre de commandes ? Vous pouvez utiliser le paramètre link
et définir le sous-paramètre url
sur "&pivots=users.age_tier"
:
measure: order_count { type: count_distinct drill_fields: [created_year, item_gross_margin_percentage_tier, users.age_tier, total_sale_price] link: { label: "Total Sale Price by Month for Each Age Tier" url: "{{link}}&pivots=users.age_tier" } sql: ${order_id} ;; }
Cela permet aux utilisateurs d'afficher le détail de l'année et du pourcentage de marge brute pour chaque tranche d'âge lorsqu'ils sélectionnent Prix de vente total par mois pour chaque tranche d'âge dans le menu d'analyse de la mesure Nombre de commandes:
Créer une expérience de forage visuel
Les tableaux de données transmettent des données de manière efficace, mais que se passe-t-il si vous souhaitez visualiser les données qu'un utilisateur voit lorsqu'il analyse ? Il existe plusieurs façons d'afficher des données détaillées dans des visualisations en plus des tableaux de données. Cette section inclut les exemples suivants :
- Analyser des données avec la fonctionnalité de laboratoire Analyse visuelle
- Analyser un graphique en nuage de points avec une limite et une moyenne mobile
- Afficher la vue détaillée d'un graphique en courbes empilées avec tableaux croisés dynamiques
- Explorer une visualisation personnalisée
- Explorer un calcul de table avec mise en forme conditionnelle
Analyser des données avec la fonctionnalité de laboratoire Analyse visuelle
La fonctionnalité Labs Visual Drilling (Analyse visuelle) permet aux utilisateurs d'explorer une exploration ou une présentation. Vous n'avez aucune personnalisation et vous disposez d'un ensemble d'analyse limité, ce qui vous permet d'afficher les données d'analyse dans différents types de visualisation présélectionnés en fonction des données fournies par Looker.
La fonctionnalité de laboratoire Analyse visuelle n'est pas compatible avec les tableaux de bord. Pour les tableaux de bord, vous pouvez créer une expérience de drill-down visuel avec le paramètrelink
sans avoir à activer la fonctionnalité Labs. Les sections suivantes fournissent des exemples de création d'une expérience de forage visuel à l'aide du paramètrelink
.
Par exemple, pour afficher le nombre d'articles vendus par jour, vous pouvez créer une mesure qui détaille les champs Date de création et Prix de vente total:
measure: count { type: count_distinct sql: ${id} ;; drill_fields: [created_date, total_sale_price] }
L'analyse visuelle est l'option la plus simple. Mais que se passe-t-il si vous souhaitez contrôler le type de visualisation présenté aux utilisateurs lorsqu'ils explorent le graphique ? Les sections suivantes fournissent des exemples illustrant comment personnaliser davantage une visualisation d'analyse.
Analyser un graphique en nuage de points avec une limite et une moyenne mobile
Vous pouvez permettre aux utilisateurs d'accéder à un graphique à nuage de points qui inclut une ligne de tendance de moyenne mobile. Par exemple, supposons que vous souhaitiez afficher le nombre d'articles vendus par jour sous forme de graphique à nuage de points avec une moyenne mobile sur 30 jours :
Pour ce faire, vous pouvez spécifier des paramètres de visualisation dans une URL à l'aide de variables Liquid. Ces paramètres permettent de contrôler la visualisation qui s'affiche dans l'analyse:
measure: count { type: count_distinct sql: ${id} ;; drill_fields: [created_date, total_sale_price] link: { label: "Show as scatter plot" url: " {% assign vis_config = '{ \"stacking\" : \"\", \"show_value_labels\" : false, \"label_density\" : 25, \"legend_position\" : \"center\", \"x_axis_gridlines\" : true, \"y_axis_gridlines\" : true, \"show_view_names\" : false, \"limit_displayed_rows\" : false, \"y_axis_combined\" : true, \"show_y_axis_labels\" : true, \"show_y_axis_ticks\" : true, \"y_axis_tick_density\" : \"default\", \"y_axis_tick_density_custom\": 5, \"show_x_axis_label\" : false, \"show_x_axis_ticks\" : true, \"x_axis_scale\" : \"auto\", \"y_axis_scale_mode\" : \"linear\", \"show_null_points\" : true, \"point_style\" : \"circle\", \"ordering\" : \"none\", \"show_null_labels\" : false, \"show_totals_labels\" : false, \"show_silhouette\" : false, \"totals_color\" : \"#808080\", \"type\" : \"looker_scatter\", \"interpolation\" : \"linear\", \"series_types\" : {}, \"colors\": [ \"palette: Santa Cruz\" ], \"series_colors\" : {}, \"x_axis_datetime_tick_count\": null, \"trend_lines\": [ { \"color\" : \"#000000\", \"label_position\" : \"left\", \"period\" : 30, \"regression_type\" : \"average\", \"series_index\" : 1, \"show_label\" : true, \"label_type\" : \"string\", \"label\" : \"30 day moving average\" } ] }' %} {{ link }}&vis_config={{ vis_config | encode_uri }}&toggle=dat,pik,vis&limit=5000" } }
Explorer un graphique linéaire empilé avec des pivots
Vous pouvez également permettre aux utilisateurs d'afficher un graphique en courbes empilé, par exemple un graphique en courbes empilées qui affiche le prix total de vente pour chaque numéro de mois, pivoté par année de création:
Le code LookML suivant spécifie les paramètres de la visualisation précédente :
measure: total_sale_price { type: sum value_format_name: usd sql: ${sale_price} ;; drill_fields: [total_sale_price, created_month_name, created_year] link: { label: "Show as stacked line" url: " {% assign vis_config = '{ \"stacking\" : \"normal\", \"legend_position\" : \"right\", \"x_axis_gridlines\" : false, \"y_axis_gridlines\" : true, \"show_view_names\" : false, \"y_axis_combined\" : true, \"show_y_axis_labels\" : true, \"show_y_axis_ticks\" : true, \"y_axis_tick_density\" : \"default\", \"show_x_axis_label\" : true, \"show_x_axis_ticks\" : true, \"show_null_points\" : false, \"interpolation\" : \"monotone\", \"type\" : \"looker_line\", \"colors\": [ \"#5245ed\", \"#ff8f95\", \"#1ea8df\", \"#353b49\", \"#49cec1\", \"#b3a0dd\" ], \"x_axis_label\" : \"Month Number\" }' %} {{ link }}&vis_config={{ vis_config | encode_uri }}&sorts=order_items.created_year+asc,order_items.created_month_name+asc&pivots=order_items.created_year&toggle=dat,pik,vis&limit=500&column_limit=15" } # NOTE the &pivots= }
Afficher le détail d'une visualisation personnalisée
Vous pouvez également autoriser les utilisateurs à accéder à une visualisation personnalisée:
Pour ce faire, vous pouvez inclure la visualisation personnalisée dans les paramètres de visualisation que vous spécifiez pour le paramètre link
:
measure: average_shipping_time { type: average value_format_name: decimal_2 sql: ${shipping_time} ;; drill_fields: [products.category, users.age_tier, average_shipping_time] link: { label: "See as custom viz (heatmap)" url: " {% assign vis_config = '{ \"minColor\" : \"#d6d6d6\", \"maxColor\" : \"#9a33e3\", \"dataLabels\" : false, \"custom_color_enabled\" : false, \"custom_color\" : \"forestgreen\", \"show_single_value_title\": true, \"show_comparison\" : false, \"comparison_type\" : \"value\", \"comparison_reverse_colors\": false, \"show_comparison_label\" : true, \"show_view_names\" : true, \"show_row_numbers\" : true, \"truncate_column_names\" : false, \"hide_totals\" : false, \"hide_row_totals\" : false, \"table_theme\" : \"editable\", \"limit_displayed_rows\" : false, \"enable_conditional_formatting\": false, \"conditional_formatting_include_totals\": false, \"conditional_formatting_include_nulls\": false, \"type\" : \"highcharts_heatmap\", \"stacking\" : \"\", \"show_value_labels\" : false, \"label_density\" : 25, \"legend_position\" : \"center\", \"x_axis_gridlines\" : false, \"y_axis_gridlines\" : true, \"y_axis_combined\" : true, \"show_y_axis_labels\" : true, \"show_y_axis_ticks\" : true, \"y_axis_tick_density\" : \"default\", \"y_axis_tick_density_custom\": 5, \"show_x_axis_label\" : true, \"show_x_axis_ticks\" : true, \"x_axis_scale\" : \"auto\", \"y_axis_scale_mode\" : \"linear\", \"ordering\" : \"none\", \"show_null_labels\" : false, \"show_totals_labels\" : false, \"show_silhouette\" : false, \"totals_color\" : \"#808080\", \"series_types\" : {}, \"hidden_fields\" : [ \"order_items.count\", \"order_items.total_sale_price\" ] }' %} {{ link }}&vis_config={{ vis_config | encode_uri }}&sorts=products.category+asc,users.age_tier+asc&toggle=dat,pik,vis&limit=5000" } }
Explorer un calcul de table avec mise en forme conditionnelle
Vous pouvez également autoriser les utilisateurs à afficher le détail d'un calcul de table qui affiche une mise en forme conditionnelle:
Vous pouvez le définir dans LookML comme suit :
measure: total_sale_price { type: sum value_format_name: usd sql: ${sale_price} ;; drill_fields: [created_month, users.gender, total_sale_price] link: { label: "Table Calc & Total" url: " {% assign table_calc = '[ { \"table_calculation\": \"percent_of_total\", \"label\": \"Percent of Total\", \"expression\": \"${order_items.total_sale_price:row_total} / sum(${order_items.total_sale_price:row_total})\", \"value_format\": null, \"value_format_name\": \"percent_2\", \"_kind_hint\": \"supermeasure\", \"_type_hint\": \"number\" }, { \"table_calculation\": \"growth_rate\", \"label\": \"Growth Rate\", \"expression\": \"${order_items.total_sale_price} / offset(${order_items.total_sale_price},1) - 1\", \"value_format\": null, \"value_format_name\": \"percent_2\", \"_kind_hint\": \"measure\", \"_type_hint\": \"number\" }]' %} {% assign vis_config = '{ \"type\": \"table\", \"show_view_names\": false, \"show_row_numbers\": false, \"truncate_column_names\": false, \"table_theme\": \"gray\", \"enable_conditional_formatting\": true, \"conditional_formatting\": [ { \"type\": \"low to high\", \"value\": null, \"background_color\": null, \"font_color\": null, \"palette\": { \"name\": \"Custom\", \"colors\": [ \"#FFFFFF\", \"#6e00ff\" ]}, \"bold\": false, \"italic\": false, \"strikethrough\": false, \"fields\": [ \"growth_rate\" ]},{ \"type\": \"low to high\", \"value\": null, \"background_color\": null, \"font_color\": null, \"palette\": { \"name\": \"Custom\", \"colors\": [ \"#FFFFFF\", \"#88ff78\" ]}, \"bold\": false, \"italic\": false, \"strikethrough\": false, \"fields\": [ \"percent_of_total\" ]}]}' %} {{link}}&total=on&row_total=right&dynamic_fields={{ table_calc |replace(') ', '' | encode_uri }}&pivots=users.gender&vis_config={{ vis_config |replace(') ', '' | encode_uri }}" } }