- 5 minutes to read

Log View Grouping Tab

The Grouping tab is the last of five tabs when you add or manage a Log View. It turns a list of events into one row per business transaction, such as one order with all its steps. Grouped Log Views are what BPM tracking, Non-Events monitoring, and the runtime diagrams build on.

Understanding the Grouping tab

graph LR EV["fa:fa-bolt Events that match the search"] --> GB["fa:fa-layer-group Group by
one row per value,
such as the order id"] GB --> PG["fa:fa-filter Post-group filter
keep the groups whose events
match: Latest, First, Any, All, None"] PG --> R["fa:fa-list One row per transaction"] style EV fill:#9E59BB,color:#fff style GB fill:#3F827B,color:#fff style PG fill:#E47528,color:#fff style R fill:#2678BD,color:#fff

Group by (teal) makes the rows; the post-group filter (orange) decides which rows stay.

Group the Log View Contoso: Order-to-Cash on the Application interchange id, then save and show it, animated walkthrough (7.12)
Animated walkthrough: one Group by, and the Log View shows one row per order.

  1. Open the Grouping tab and click Add Group by.
  2. Open the field list, type part of the name, and pick the field (Application interchange id).
  3. Click Save and show. The Log View lists one row per order, each with the number of its events.

Group by options

From top to bottom, the tab holds:

  • Display group summary - Shows a summary row for each group.
  • Lock group by - Locks the grouping: the Grouping panel of the search shows no Group by fields, so nobody can change or remove them, administrators included. The result stays grouped by the fields you set. The card header says which applies: Locked: Users can't modify these fields in the log view, or Unlocked.
  • Group by - Group the result by up to four fields. Each group is one combination of their values, shown together in the group header; see Group on several fields. Click Add Group by for another field; the button disappears at four. The second to fourth field each have a remove button.
  • Sort Events by descending - Lists the events inside each group newest first; unchecked, oldest first. The order of the groups themselves doesn't change.
  • Newest Event in group header - The group header shows the Log Date Time of the group's newest event; unchecked, of its oldest.
  • Group count filter - Lists only the groups with that many events. Set From and To in the number boxes, or drag the slider between them; use the boxes for high numbers. With both at 0, the filter is off.
  • Post-group filter - Keeps the groups whose events match a condition; see Post-group filter.

Grouping tab with Group by, Sort Events by descending, Newest Event in group header, the Group count filter slider, and the Post-group filter card (7.12)
The Grouping tab.

Turn on Sort Events by descending and Newest Event in group header, keep only groups with 14 events, then open a complete order, animated walkthrough (7.12)
Animated walkthrough: only the complete orders are left, and each one lists its events newest first.

  1. On the Grouping tab of Contoso: Order-to-Cash, check Sort Events by descending and Newest Event in group header.
  2. Under Group count filter, type 14 in both boxes; the slider follows.
  3. Click Save and show, and search the last year.
  4. Only the complete orders are listed: 14 events each, every header showing its newest event.
  5. Open an order. Its events are listed newest first, with Order Invoiced on top.

Group on several fields

Group by several fields, and each group is one combination of their values. The group header shows all of them, such as US · Springfield · 62701 · Contoso Corporation, and opens straight to its events. The groups don't nest: you can't open a country to see its cities. For orders, group by Country, City, ZIP, and Customer Name to see where the orders come from, or by Customer Name and then the order id to see each customer's orders.

graph LR EV["fa:fa-bolt Order Received events"] --> G1["fa:fa-layer-group US · Springfield · 62701
Contoso Corporation"] EV --> G2["fa:fa-layer-group US · Springfield · 62704
Fabrikam Inc."] EV --> G3["fa:fa-layer-group US · Seattle · 98101
Northwind Traders"] EV --> G4["fa:fa-layer-group SE · Stockholm · 111 51
Tailspin Toys"] style EV fill:#9E59BB,color:#fff style G1 fill:#2678BD,color:#fff style G2 fill:#2678BD,color:#fff style G3 fill:#2678BD,color:#fff style G4 fill:#2678BD,color:#fff

Four Group by fields make one group (blue) per combination of Country, City, ZIP, and Customer Name. The events (purple) come from the Order-to-Cash demo data.

Search the Log View Contoso: Orders by place, grouped on Country, City, ZIP, and Customer Name, and open one combination, animated walkthrough (7.12)
Animated walkthrough: six groups for six customers, each one combination of the four values.

  1. The Grouping tab of Contoso: Orders by place groups by O2C - Country, O2C - City, O2C - ZIP, and O2C - Customer Name.
  2. Click Show and search today's orders: six groups, one per combination.
  3. Open US · Springfield · 62701 · Contoso Corporation. It lists that customer's two orders from that address.

The Order-to-Cash demo data has six customers in four cities and two countries, with the Search Fields to set this up.

A Group by field always shows its value in the Log View; see Which Search Field Values a Log View Shows.

Design for runtime inspection

Grouped Log Views work best for runtime inspection when the group is one business transaction and the related events have clear Repository context:

  • group by a stable business identifier or interchange identifier
  • expose Search Fields that help users find the right transaction quickly
  • keep Services, Contracts, and Systems current in the Repository Model
  • check that a sample group tells a clean story before you publish the Log View

Read the full design guidance for runtime inspection, and see how users open the result in Inspect grouped Log Views as runtime diagrams.

Post-group filter

New 6.0

The post-group filter keeps the groups whose events match a condition, so you can ask questions such as:

Post-Group Op Example question
Any Which parcels have been in Oslo?
All Which parcels never left Oslo?
First Which parcels started in Oslo?
Latest Which parcels are in Oslo now?
None Which parcels have never been to Oslo?

Post-group filter with the Post-Group Op column and the Latest, First, Any, All, and None options (7.12)
The Post-Group Op decides how the filter applies to the events in each group.

The filter you set here is the default: users find it filled in on the search page and can change it there. Unlike Lock group by, there is no lock for it.

Add a post-group filter with Post-Group Op None on the invoice Message Type, then search one customer's orders of today, animated walkthrough (7.12)
Animated walkthrough: which orders never got an invoice? One question about the whole group.

  1. On the Grouping tab of Contoso: Order-to-Cash, grouped on the Application interchange id, click Edit on Post-group filter.
  2. Click Add new clause, pick the field Message Type, the Post-Group Op None, the operator =, and the value O2C.Order.Invoice/1.0.
  3. Click Confirm and close, then Save and show.
  4. Search today's orders of customer CUST-004. Only ORD-10010 is left: the order that never got an invoice.

Important

Post-group operations can mean a lot of disk IO on the SQL Server instance. Narrow the search with the shortest time range you can.

Next Steps