diff --git a/app/views/data_explorer/time_series/_results.html.erb b/app/views/data_explorer/time_series/_results.html.erb
index 2a87d35..bee3e42 100644
--- a/app/views/data_explorer/time_series/_results.html.erb
+++ b/app/views/data_explorer/time_series/_results.html.erb
@@ -21,7 +21,9 @@
<%= render "data_explorer/time_series/results/table/metric_headers" %>
- <%= render "data_explorer/time_series/results/table/comparison_headers" %>
+ <% if @composition.comparisons.size > 0 %>
+ <%= render "data_explorer/time_series/results/table/comparison_headers" %>
+ <% end %>
diff --git a/app/views/data_explorer/time_series/results/table/_group_row.html.erb b/app/views/data_explorer/time_series/results/table/_group_row.html.erb
deleted file mode 100644
index 9e79ca0..0000000
--- a/app/views/data_explorer/time_series/results/table/_group_row.html.erb
+++ /dev/null
@@ -1,92 +0,0 @@
-
- <%# First cell in the row is a header with the group member name %>
-
- scope="row"
- <%= html_attributes(rowspan: 2 + (@composition.results.group_2_unique_members || []).size) %>>
-
- <% label = @composition.results.group_member_label(@composition.groups[0], group_1_member) %>
- <%= Labeler.label(label, @composition.groups[0]) %>
- |
-
- Total |
-
- <% @composition.results.granularity_unique_members.each do |granularity_member| %>
- <% @composition.metrics.each do |metric| %>
- <% @composition.comparisons.each do |comparison| %>
- <% comparison.lookback.times do |i| %>
- <%# if +comparison.lookback+ is 3, +lookback+ should be -3, -2, %>
- <%# and -1 for the loops. So when i=0, lookback=-3, and i=1 l=-2 %>
- <% lookback = -(comparison.lookback - i) %>
- <% value = @composition.results.get_value_comparison(comparison, lookback, metric, granularity_member, group_1_member) %>
-
- >
- <%= number_with_delimiter(value) %>
- |
- <% end %>
- <% end %>
-
- <% value = @composition.results.get_value(metric, granularity_member, group_1_member) %>
-
- >
- <%= number_with_delimiter(value) %>
- |
- <% end %>
- <% end %>
-
-
-<% @composition.results.group_2_unique_members&.each do |group_2_member| %>
-
- <%= @composition.results.group_member_label(@composition.groups[1], group_2_member) %> |
-
- <% @composition.results.granularity_unique_members.each do |granularity_member| %>
- <% @composition.metrics.each do |metric| %>
- <% @composition.comparisons.each do |comparison| %>
- <% comparison.lookback.times do |i| %>
- <%# if +comparison.lookback+ is 3, +lookback+ should be -3, -2, %>
- <%# and -1 for the loops. So when i=0, lookback=-3, and i=1 l=-2 %>
- <% lookback = -(comparison.lookback - i) %>
- <% value = @composition.results.get_value_comparison(comparison, lookback, metric, granularity_member, group_1_member, group_2_member) %>
-
- >
- <%= number_with_delimiter(value) %>
- |
- <% end %>
- <% end %>
-
- <% value = @composition.results.get_value(metric, granularity_member, group_1_member, group_2_member) %>
-
- >
- <%= number_with_delimiter(value) %>
- |
- <% end %>
- <% end %>
-
-<% end %>
-
-
- UNKNOWN |
-
- <% @composition.results.granularity_unique_members.each do |granularity_member| %>
- <% @composition.metrics.each do |metric| %>
- <% @composition.comparisons.each do |comparison| %>
- <% comparison.lookback.times do |i| %>
- <%# if +comparison.lookback+ is 3, +lookback+ should be -3, -2, %>
- <%# and -1 for the loops. So when i=0, lookback=-3, and i=1 l=-2 %>
- <% lookback = -(comparison.lookback - i) %>
- <% value = @composition.results.get_value_comparison(comparison, lookback, metric, granularity_member, group_1_member, nil) %>
-
- >
- <%= number_with_delimiter(value) %>
- |
- <% end %>
- <% end %>
-
- <% value = @composition.results.get_value(metric, granularity_member, group_1_member, nil) %>
-
- >
- <%= number_with_delimiter(value) %>
- |
- <% end %>
- <% end %>
-
diff --git a/app/views/data_explorer/time_series/results/table/_group_rows.html.erb b/app/views/data_explorer/time_series/results/table/_group_rows.html.erb
index f7a472a..d04466f 100644
--- a/app/views/data_explorer/time_series/results/table/_group_rows.html.erb
+++ b/app/views/data_explorer/time_series/results/table/_group_rows.html.erb
@@ -1 +1,103 @@
-<%= render partial: "data_explorer/time_series/results/table/group_row", collection: @composition.results.group_1_unique_members, as: :group_1_member %>
+<% @composition.results.group_1_unique_members&.each do |group_1_member| %>
+ <% label_displayed = false %>
+
+ <% @composition.results.group_2_unique_members&.each do |group_2_member| %>
+ <%
+ values = []
+ @composition.results.granularity_unique_members.each do |granularity_member|
+ @composition.metrics.each do |metric|
+ @composition.comparisons.each do |comparison|
+ comparison.lookback.times do |i|
+ lookback = -(comparison.lookback - i)
+ value = @composition.results.get_value_comparison(comparison, lookback, metric, granularity_member, group_1_member, group_2_member)
+
+ values << value
+ end
+ end
+
+ values << @composition.results.get_value(metric, granularity_member, group_1_member, group_2_member)
+ end
+ end
+ %>
+
+ <% unless values.compact.size == 0 %>
+
+
+ scope="row">
+
+ <% label = @composition.results.group_member_label(@composition.groups[0], group_1_member) %>
+
+ <% unless label_displayed %>
+ <%= Labeler.label(label, @composition.groups[0]) %>
+ <% label_displayed = true %>
+ <% end %>
+ |
+
+ scope="row">
+
+ <%= @composition.results.group_member_label(@composition.groups[1], group_2_member) %>
+ |
+
+ <% @composition.results.granularity_unique_members.each do |granularity_member| %>
+ <% @composition.metrics.each do |metric| %>
+ <% @composition.comparisons.each do |comparison| %>
+ <% comparison.lookback.times do |i| %>
+ <%# if +comparison.lookback+ is 3, +lookback+ should be -3, -2, %>
+ <%# and -1 for the loops. So when i=0, lookback=-3, and i=1 l=-2 %>
+ <% lookback = -(comparison.lookback - i) %>
+ <% value = @composition.results.get_value_comparison(comparison, lookback, metric, granularity_member, group_1_member, group_2_member) %>
+
+
+ <%= html_attributes("data-raw-value": value) %>>
+ <%= number_with_delimiter(value) %>
+ |
+ <% end %>
+ <% end %>
+
+ <% value = @composition.results.get_value(metric, granularity_member, group_1_member, group_2_member) %>
+
+
+ <%= html_attributes("data-raw-value": value) %>>
+ <%= number_with_delimiter(value) %>
+ |
+ <% end %>
+ <% end %>
+
+ <% end %>
+ <% end %>
+
+
+
+ scope="row">
+
+ <% label = @composition.results.group_member_label(@composition.groups[0], group_1_member) %>
+ <%= Labeler.label(label, @composition.groups[0]) %>
+ |
+ UNKNOWN |
+
+ <% @composition.results.granularity_unique_members.each do |granularity_member| %>
+ <% @composition.metrics.each do |metric| %>
+ <% @composition.comparisons.each do |comparison| %>
+ <% comparison.lookback.times do |i| %>
+ <%# if +comparison.lookback+ is 3, +lookback+ should be -3, -2, %>
+ <%# and -1 for the loops. So when i=0, lookback=-3, and i=1 l=-2 %>
+ <% lookback = -(comparison.lookback - i) %>
+ <% value = @composition.results.get_value_comparison(comparison, lookback, metric, granularity_member, group_1_member, nil) %>
+
+ >
+ <%= number_with_delimiter(value) %>
+ |
+ <% end %>
+ <% end %>
+
+ <% value = @composition.results.get_value(metric, granularity_member, group_1_member, nil) %>
+
+ >
+ <%= number_with_delimiter(value) %>
+ |
+ <% end %>
+ <% end %>
+
+<% end %>