Desglose de datos más potente

Una de las características únicas de Looker es que se conecta directamente a tu base de datos. Esto significa que siempre puedes acceder a los datos más recientes y desglosarlos hasta el nivel más granular disponible. Por lo tanto, aunque puedes ver resúmenes anuales o mensuales, Looker también te ofrece la opción de desglosar la información por día, hora o segundo al instante.

En esta página se muestran ejemplos de cómo personalizar y aprovechar la función de desglose de datos para ofrecer a los usuarios experiencias analíticas más potentes. Entre ellos, se incluyen los siguientes:

  • Personalizar la forma en que se presentan los valores en las tablas de desglose básicas
  • Personalizar la visualización de desglose para crear una experiencia de desglose visual

Personalizar la forma en que se presentan los valores en las tablas de desglose básicas

La arquitectura moderna nativa de la Web de Looker te permite hacer mucho más que pasar de un nivel a otro más detallado. Puedes crear cualquier desglose personalizado con solo unos pocos parámetros.

En los siguientes ejemplos se muestra cómo puede personalizar la forma en que se presentan los datos en las tablas de desglose, por ejemplo:

  • Añadir límites de filas personalizados (hasta 5000 filas) a una tabla de desglose
  • Añadir ordenaciones a una tabla de desglose
  • Añadir desgloses a una tabla de desglose

Añadir límites de filas (hasta 5000 filas) a una tabla de desglose

Si añades límites de filas a una tabla de desglose, puedes controlar cómo se presentan los datos a los usuarios cuando desglosan los valores de las métricas. Por ejemplo, ¿qué ocurriría si quisiera mostrar solo los primeros 20 resultados de una tabla de desglose cuando un usuario desglosara el valor de la métrica Número de devoluciones? Puede usar el parámetro link y definir el subparámetro url en "{{ link }}&limit=20", como en el siguiente código de LookML:

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]
}

De esta forma, los usuarios pueden desglosar los 20 resultados principales seleccionando Explorar los 20 resultados principales en el menú de desglose de la medida Número de resultados:

Añadir ordenaciones a una tabla de desglose

Además de limitar los datos, también puede controlar cómo se ordenan en una tabla de desglose. Por ejemplo, ¿qué ocurre si quieres mostrar los 20 resultados por Precio de venta cuando un usuario desglosa el valor de la métrica Número de devoluciones? Puedes usar el parámetro link y asignar el valor "{{ link }}&sorts=order_items.sale_price" al subparámetro url. El siguiente código LookML combina la ordenación personalizada con un límite de filas personalizado:

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]
}

De esta forma, los usuarios pueden desglosar los 20 resultados principales por precio de venta seleccionando Explorar los 20 resultados principales por precio de venta en el menú de desglose de la medida Precio de venta:

Añadir desgloses a una tabla de desglose

Además de limitar y ordenar los datos, también puede dinamizar las dimensiones de una tabla de desglose. Por ejemplo, ¿qué ocurriría si quisiera añadir una tabla dinámica al campo Nivel de edad para mostrar el año y el nivel de porcentaje de margen bruto de cada grupo de edad cuando un usuario desglosara el valor de la métrica Número de pedidos? Puede usar el parámetro link y asignar el valor "&pivots=users.age_tier" al subparámetro url:

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} ;;
}

De esta forma, los usuarios pueden desglosar el año y el porcentaje de margen bruto de cada grupo de edad cuando seleccionan Precio de venta total por mes de cada nivel de edad en el menú de desglose de la métrica Número de pedidos:

Crear una experiencia de desglose visual

Las tablas de datos muestran los datos de forma eficaz, pero ¿qué ocurre si quieres visualizar los datos que ve un usuario cuando desglosa la información? Hay varias formas de mostrar los detalles de las visualizaciones además de las tablas de datos. Esta sección incluye los siguientes ejemplos:

  • Desglosar información con la función Exploración visual de Labs
  • Desglosar un gráfico de dispersión con un límite y una media móvil
  • Desglosar información de un gráfico de líneas apiladas con dinamizaciones
  • Desglosar información de una visualización personalizada
  • Desglosar una tabla de cálculo que tiene formato condicional

Desglosar información con la función Exploración visual de Labs

La función Desglose visual de Labs permite a los usuarios desglosar una exploración o un look. Con una personalización nula y un conjunto de desglose limitado, puedes mostrar los datos de desglose en diferentes tipos de visualización preseleccionados por Looker en función de los datos.

La función de Labs Desglose visual no es compatible con los paneles de control. En los paneles de control, puedes crear una experiencia de desglose visual con el parámetro link sin tener que habilitar la función Labs. En las secciones siguientes se muestran ejemplos de cómo crear una experiencia de desglose visual con el parámetro link.

Por ejemplo, para mostrar cuántos artículos se han vendido por día, puede crear una medida que desglose los campos Fecha de creación y Precio de venta total:

measure: count {
  type: count_distinct
  sql: ${id} ;;
  drill_fields: [created_date, total_sale_price]
}

El desglose visual es la opción más sencilla. Sin embargo, ¿qué ocurre si quieres controlar qué tipo de visualización se muestra a los usuarios cuando desglosan la información? En las siguientes secciones se ofrecen ejemplos de cómo personalizar aún más una visualización de desglose.

Desglosar un gráfico de dispersión con un límite y una media móvil

Puedes permitir que los usuarios desglosen la información hasta llegar a un gráfico de dispersión que incluya una línea de tendencia de media móvil. Por ejemplo, supongamos que quiere mostrar cuántos artículos se han vendido por día en un gráfico de dispersión con una media móvil de 30 días:

Para ello, puede especificar los ajustes de visualización en una URL mediante variables de Liquid. Estos ajustes controlan la visualización que aparece en el desglose:

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"
  }
}

Desglosar información de un gráfico de líneas apiladas con dinamizaciones

También puede permitir que los usuarios desglosen la información de un gráfico de líneas apiladas. Por ejemplo, un gráfico de líneas apiladas que muestre el Precio total de venta de cada Número de mes, con la información organizada por Año de creación:

El siguiente LookML especifica los ajustes de la visualización anterior:

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=
}

Desglosar información de una visualización personalizada

También puede permitir que los usuarios desglosen la información de una visualización personalizada:

Para ello, puede incluir la visualización personalizada en los ajustes de visualización que especifique para el parámetro 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"
  }
}

Desglosar una tabla de cálculo que tiene formato condicional

También puedes permitir que los usuarios desglosen una tabla de cálculo que muestre formato condicional:

Esto se puede definir en LookML de la siguiente manera:

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 }}"
  }
}