Show empty channel in imported data as (not set)

This commit is contained in:
Uku Taht 2024-11-13 11:05:58 +02:00
parent da0b9403e4
commit 81fe57d82b
2 changed files with 31 additions and 0 deletions

View File

@ -231,6 +231,18 @@ defmodule Plausible.Stats.Imported.SQL.Expression do
})
end
defp select_group_fields(q, "visit:channel", key, _query) do
select_merge_as(q, [i], %{
key =>
fragment(
"if(empty(?), ?, ?)",
i.channel,
@not_set,
i.channel
)
})
end
defp select_group_fields(q, "event:page", key, _query) do
select_merge_as(q, [i], %{key => i.page, time_on_page: sum(i.time_on_page)})
end

View File

@ -381,6 +381,24 @@ defmodule PlausibleWeb.Api.StatsController.ImportedTest do
"totalUsers" => "1",
"screenPageViews" => "1"
}
},
%{
dimensions: %{
"sessionManualAdContent" => "",
"sessionCampaignName" => "",
"date" => "20210101",
"sessionGoogleAdsKeyword" => "",
"sessionMedium" => "(none)",
"sessionSource" => "(direct)",
"sessionDefaultChannelGroup" => ""
},
metrics: %{
"bounces" => "1",
"userEngagementDuration" => "60",
"sessions" => "1",
"totalUsers" => "1",
"screenPageViews" => "1"
}
}
],
site.id,
@ -398,6 +416,7 @@ defmodule PlausibleWeb.Api.StatsController.ImportedTest do
|> Enum.sort()
assert results == [
%{"name" => "(not set)", "visitors" => 1},
%{"name" => "Direct", "visitors" => 2},
%{"name" => "Organic Search", "visitors" => 3},
%{"name" => "Paid Search", "visitors" => 2}