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. Sie können sich also Jahres- oder Monatszusammenfassungen ansehen, aber auch sofort auf Tag, Stunde oder Sekunde hinunterzoomen.

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
  • Aufschlüsselungsvisualisierung anpassen, um eine visuelle Aufschlüsselung zu erstellen

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:

  • Benutzerdefinierte Zeilenlimits (bis zu 5.000 Zeilen) zu einer Drilldown-Tabelle hinzufügen
  • Sortierungen zu einer Drilldown-Tabelle hinzufügen
  • Pivot-Tabellen Drilldown-Tabellen hinzufügen

Zeilenlimits (bis zu 5.000 Zeilen) zu einer Drilldown-Tabelle hinzufügen

Wenn Sie einer Drilldown-Tabelle Zeilenlimits hinzufügen, können Sie festlegen, wie die Daten für Nutzer angezeigt werden, wenn sie nach Messwerten drillen. Was ist beispielsweise, wenn Sie nur die ersten 20 Ergebnisse in einer Aufschlüsselungstabelle anzeigen möchten, wenn ein Nutzer einen Messwert vom Typ Zurückgegebene Anzahl aufschlüsselt? Sie können den Parameter link verwenden und den Unterparameter url auf "{{ link }}&limit=20" festlegen, wie im folgenden LookML-Code:

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 Drilldown-Menü des Messwerts Zur Liste der Top 20-Ergebnisse auswählen:

Sortierungen zu einer Drilldown-Tabelle hinzufügen

Sie können nicht nur Daten einschränken, sondern auch festlegen, 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 einem Feld vom Typ Altersgruppe eine Pivot-Tabelle hinzufügen, um das Jahr und den Prozentsatz der Bruttomarge für jede Altersgruppe anzuzeigen, wenn ein Nutzer einen Messwert vom Typ Bestellmenge 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:

  • Aufschlüsselung mit der Labs-Funktion Visuelles Untersuchen
  • Auf einen Streudiagramm mit Grenzwert und gleitendem Durchschnitt eingehen
  • Auf ein gestapeltes Liniendiagramm mit Pivot-Tabellen eingehen
  • Auf eine benutzerdefinierte Visualisierung eingehen
  • Auf eine Tabellenberechnung mit bedingter Formatierung eingehen

Aufschlüsselung mit der Labs-Funktion Visuelles Untersuchen

Mit der Labs-Funktion Visual Drilling können Nutzer eine Explore-Datenanalyse 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 Visuelle Aufschlüsselung 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. In den folgenden Abschnitten finden Sie Beispiele dafür, wie Sie mit dem Parameter link eine visuelle Aufschlüsselung erstellen.

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

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

Die visuelle Aufschlüsselung ist die einfachste Option. Was aber, wenn Sie festlegen möchten, welche Art von Visualisierung Nutzern beim Aufschlüsseln angezeigt wird? In den folgenden Abschnitten finden Sie Beispiele dafür, wie Sie eine Drilldown-Visualisierung weiter anpassen können.

Auf einen Streudiagramm mit Grenzwert und gleitendem Durchschnitt eingehen

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 die Anzahl der verkauften Artikel nach Tag als Streudiagramm mit einem 30-Tage-Bewegungsdurchschnitt anzeigen:

Dazu können Sie die Visualisierungseinstellungen in einer URL mithilfe von Liquid-Variablen angeben. Mit diesen Einstellungen legen Sie fest, wie die Daten in der Aufschlüsselung dargestellt werden:

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 Pivot-Tabellen 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:

In der folgenden LookML-Datei sind die Einstellungen für die vorherige Visualisierung angegeben:

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

Auf eine benutzerdefinierte Visualisierung eingehen

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

Auf eine Tabellenberechnung mit bedingter Formatierung eingehen

Sie können Nutzern auch die Möglichkeit geben, eine Tabellenberechnung aufzurufen, in der bedingte Formatierung verwendet wird:

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