Optimierte Datenaufschlüsselung

Eine einzigartige Looker-Funktion ist die direkte Verbindung zu Ihrer Datenbank. So können Sie immer auf die neuesten Daten zugreifen und bis zur detailliertesten verfügbaren Ebene herunterbrechen. Neben den jährlichen oder monatlichen Zusammenfassungen bietet Looker auch die Möglichkeit, die Daten des Tages, der Stunde oder der Sekunde sofort anzuzeigen.

Auf dieser Seite finden Sie Beispiele dafür, wie Sie die Datenaufschlüsselung anpassen und nutzen können, um Ihren Nutzern leistungsstärkere Analysen zu bieten. Dazu gehören:

  • Darstellung von Werten in einfachen Aufschlüsselungsdatentabellen anpassen
  • Drilldown-Visualisierung anpassen, um eine visuelle Aufschlüsselung zu schaffen

Darstellung von Werten in einfachen Aufschlüsselungsdatentabellen anpassen

Mit der webbasierten, modernen Architektur von Looker können Sie weit mehr tun, als nur von einer Ebene zur nächstniedrigeren Ebene zu wechseln. Sie können einen benutzerdefinierten Drilldown-Pfad mit nur wenigen Parametern erstellen.

In den folgenden Beispielen wird gezeigt, wie Sie die Darstellung von Daten in Aufschlüsselungstabellen anpassen können:

  • Einer Aufschlüsselungstabelle benutzerdefinierte Zeilenlimits (bis zu 5.000 Zeilen) hinzufügen
  • Sortierungen zu einer Aufschlüsselungstabelle hinzufügen
  • Pivots zu einer Aufschlüsselungstabelle hinzufügen

Einer Aufschlüsselungstabelle Zeilenlimits (bis zu 5.000 Zeilen) hinzufügen

Wenn Sie einer Aufschlüsselungstabelle Zeilenlimits hinzufügen, können Sie steuern, wie die Daten Nutzern präsentiert werden, wenn sie Messwerte aufschlüsseln. Angenommen, Sie möchten in einer Aufschlüsselungstabelle nur die ersten 20 Ergebnisse anzeigen, wenn ein Nutzer den Messwert Zurückgegebene Anzahl aufschlüsselt? Sie können den Parameter link verwenden und den Unterparameter url wie im folgenden LookML-Code auf "{{ link }}&limit=20" festlegen:

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

So können Nutzer die Top-20-Ergebnisse aufschlüsseln, indem sie im Aufschlüsselungsmenü des Messwerts Returned Count die Option Explore Top 20 Results (Top-20-Ergebnisse ansehen) auswählen:

Sortierungen zu einer Aufschlüsselungstabelle hinzufügen

Sie können nicht nur die Daten begrenzen, sondern auch steuern, wie Daten in einer Aufschlüsselungstabelle sortiert werden. Was ist beispielsweise, wenn Sie die 20 Ergebnisse nach Sonderangebotspreis sortieren möchten, wenn ein Nutzer einen Messwert für die Anzahl der zurückgegebenen Elemente aufschlüsselt? Sie können den Parameter link verwenden und den Unterparameter url auf "{{ link }}&sorts=order_items.sale_price" festlegen. Im folgenden LookML-Code werden benutzerdefinierte Sortierung und benutzerdefiniertes Zeilenlimit kombiniert:

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

So können Nutzer die Top 20 nach Sonderangebotspreis analysieren, indem sie im Drilldown-Menü des Messwerts Sonderangebotspreis die Option Top 20 Ergebnisse nach Sonderangebotspreis analysieren auswählen:

Pivot-Tabellen Drilldown-Tabellen hinzufügen

Sie können Daten nicht nur einschränken und sortieren, sondern auch Pivot-Dimensionen in einer Aufschlüsselungstabelle verwenden. Angenommen, Sie möchten dem Feld Altersstufe einen Pivot hinzufügen, um das Jahr und die prozentuale Bruttomarge für jede Altersgruppe anzuzeigen, wenn ein Nutzer den Messwert Bestellanzahl aufschlüsselt? Sie können den Parameter link verwenden und den Unterparameter url auf "&pivots=users.age_tier" festlegen:

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

So können Nutzer im Drilldown-Menü des Messwerts Bestellmenge die Option Gesamtverkaufspreis nach Monat für jede Altersgruppe auswählen, um sich das Jahr und den Bruttomargenprozentsatz für jede Altersgruppe anzusehen:

Visuelle Aufschlüsselung erstellen

Datentabellen vermitteln Daten auf effektive Weise. Was aber, wenn Sie die Daten visualisieren möchten, die ein Nutzer sieht, wenn er einen Drilldown ausführt? Neben Datentabellen gibt es mehrere Möglichkeiten, Aufschlüsselungsdaten in Visualisierungen darzustellen. Dieser Abschnitt enthält die folgenden Beispiele:

  • Untersuchen mit der Labs-Funktion Visual Drilling
  • Ein Streudiagramm mit einem Grenzwert und einem gleitenden Durchschnitt aufschlüsseln
  • Auf ein gestapeltes Liniendiagramm mit Pivots eingehen
  • Auf eine benutzerdefinierte Visualisierung eingehen
  • Auf eine Tabellenberechnung mit bedingter Formatierung eingehen

Untersuchen mit der Labs-Funktion Visual Drilling

Mit der Labs-Funktion Visual Drilling können Nutzer ein Explore oder einen Look aufschlüsseln. Ohne Anpassungen und mit einem begrenzten Aufschlüsselungssatz können Sie Aufschlüsselungsdaten in verschiedenen Visualisierungstypen anzeigen, die von Looker basierend auf den Daten vorab ausgewählt werden.

Die Labs-Funktion Visual Drilling wird von Dashboards nicht unterstützt. Für Dashboards können Sie mit dem Parameter link eine visuelle Aufschlüsselung erstellen, ohne die Labs-Funktion aktivieren zu müssen. Die folgenden Abschnitte enthalten Beispiele dafür, wie Sie mithilfe des Parameters link eine visuelle Aufschlüsselung erstellen können.

Wenn Sie beispielsweise sehen möchten, wie viele Artikel pro Tag verkauft wurden, können Sie eine Messung erstellen, die die Felder Erstellungsdatum und Gesamtverkaufspreis aufschlüsselt:

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

Visuelle Drilldown-Vorgänge sind die einfachste Option. Wie gehen Sie jedoch vor, wenn Sie steuern möchten, welche Art von Visualisierung den Nutzenden beim Aufschlüsseln angezeigt wird? In den folgenden Abschnitten finden Sie Beispiele dazu, wie Sie eine Aufschlüsselungsvisualisierung weiter anpassen können.

Ein Streudiagramm mit einem Grenzwert und einem gleitenden Durchschnitt aufschlüsseln

Sie können Nutzern die Möglichkeit geben, zu einem Streudiagramm mit einer Trendlinie für den gleitenden Durchschnitt zu wechseln. Angenommen, Sie möchten in einem Streudiagramm mit einem gleitenden Durchschnitt über 30 Tage darstellen, wie viele Artikel pro Tag verkauft wurden:

Dazu können Sie die Visualisierungseinstellungen in einer URL mithilfe von Liquid-Variablen angeben. Mit diesen Einstellungen wird die Visualisierung festgelegt, die in der Aufschlüsselung angezeigt wird:

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

Auf ein gestapeltes Liniendiagramm mit Pivots eingehen

Sie können Nutzern auch die Möglichkeit geben, zu einem gestapelten Liniendiagramm zu wechseln, z. B. zu einem gestapelten Liniendiagramm, das den Gesamtverkaufspreis für jede Monatsnummer mit dem Erstellungsjahr als Pivot-Achse anzeigt:

Der folgende LookML-Code gibt die Einstellungen für die vorherige Visualisierung an:

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

Benutzerdefinierte Visualisierung aufschlüsseln

Sie können Nutzern auch erlauben, eine benutzerdefinierte Visualisierung aufzurufen:

Dazu können Sie die benutzerdefinierte Visualisierung in die Visualisierungseinstellungen aufnehmen, die Sie für den Parameter link angeben:

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

Aufschlüsseln einer Tabellenkalkulation mit bedingter Formatierung

Sie können Nutzern auch die Möglichkeit geben, zu einer Tabellenberechnung mit bedingter Formatierung zu wechseln:

Das kann in LookML so definiert werden:

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