Rank all groups across HR attributes on a selected Viva Insights metric
Source:R/create_rank.R
create_rank.Rd
This function scans a standard Person query output for groups with high levels of a given Viva Insights Metric. Returns a plot by default, with an option to return a table with all groups (across multiple HR attributes) ranked by the specified metric.
Usage
create_rank(
data,
metric,
hrvar = extract_hr(data, exclude_constants = TRUE),
mingroup = 5,
return = "table",
mode = "simple",
plot_mode = 1
)
Arguments
- data
A Standard Person Query dataset in the form of a data frame.
- metric
Character string containing the name of the metric, e.g. "Collaboration_hours"
- hrvar
String containing the name of the HR Variable by which to split metrics. Defaults to
"Organization"
. To run the analysis on the total instead of splitting by an HR attribute, supplyNULL
(without quotes).- mingroup
Numeric value setting the privacy threshold / minimum group size. Defaults to 5.
- return
String specifying what to return. This must be one of the following strings:
"plot"
(default)"table"
See
Value
for more information.- mode
String to specify calculation mode. Must be either:
"simple"
"combine"
- plot_mode
Numeric vector to determine which plot mode to return. Must be either
1
or2
, and is only used whenreturn = "plot"
.1
: Top and bottom five groups across the data population are highlighted2
: Top and bottom groups per organizational attribute are highlighted
Value
A different output is returned depending on the value passed to the return
argument:
"plot"
: 'ggplot' object. A bubble plot where the x-axis represents the metric, the y-axis represents the HR attributes, and the size of the bubbles represent the size of the organizations. Note that there is no plot output ifmode
is set to"combine"
."table"
: data frame. A summary table for the metric.
See also
Other Visualization:
afterhours_dist()
,
afterhours_fizz()
,
afterhours_line()
,
afterhours_rank()
,
afterhours_summary()
,
afterhours_trend()
,
collaboration_area()
,
collaboration_dist()
,
collaboration_fizz()
,
collaboration_line()
,
collaboration_rank()
,
collaboration_sum()
,
collaboration_trend()
,
create_bar()
,
create_bar_asis()
,
create_boxplot()
,
create_bubble()
,
create_dist()
,
create_fizz()
,
create_inc()
,
create_line()
,
create_line_asis()
,
create_period_scatter()
,
create_sankey()
,
create_scatter()
,
create_stacked()
,
create_tracking()
,
create_trend()
,
email_dist()
,
email_fizz()
,
email_line()
,
email_rank()
,
email_summary()
,
email_trend()
,
external_dist()
,
external_fizz()
,
external_line()
,
external_rank()
,
external_sum()
,
hr_trend()
,
hrvar_count()
,
hrvar_trend()
,
keymetrics_scan()
,
meeting_dist()
,
meeting_fizz()
,
meeting_line()
,
meeting_rank()
,
meeting_summary()
,
meeting_trend()
,
one2one_dist()
,
one2one_fizz()
,
one2one_freq()
,
one2one_line()
,
one2one_rank()
,
one2one_sum()
,
one2one_trend()
Other Flexible:
create_bar()
,
create_bar_asis()
,
create_boxplot()
,
create_bubble()
,
create_density()
,
create_dist()
,
create_fizz()
,
create_hist()
,
create_inc()
,
create_line()
,
create_line_asis()
,
create_period_scatter()
,
create_sankey()
,
create_scatter()
,
create_stacked()
,
create_tracking()
,
create_trend()
Examples
pq_data_small <- dplyr::slice_sample(pq_data, prop = 0.1)
# Plot mode 1 - show top and bottom five groups
create_rank(
data = pq_data_small,
hrvar = c("FunctionType", "LevelDesignation"),
metric = "Emails_sent",
return = "plot",
plot_mode = 1
)
# Plot mode 2 - show top and bottom groups per HR variable
create_rank(
data = pq_data_small,
hrvar = c("FunctionType", "LevelDesignation"),
metric = "Emails_sent",
return = "plot",
plot_mode = 2
)
# Return a table
create_rank(
data = pq_data_small,
metric = "Emails_sent",
return = "table"
)
#> # A tibble: 18 × 4
#> hrvar group Emails_sent n
#> <chr> <chr> <dbl> <int>
#> 1 LevelDesignation Manager 62.3 9
#> 2 SupervisorIndicator Manager 62.3 9
#> 3 FunctionType Sales 60.4 5
#> 4 Organization Finance 50.3 19
#> 5 FunctionType Customer_Service 48.3 7
#> 6 FunctionType Analytics 47.7 9
#> 7 FunctionType G_and_A 41.6 5
#> 8 Organization Sales and Marketing 40.2 19
#> 9 FunctionType Marketing 40 9
#> 10 FunctionType R_and_D 38.5 9
#> 11 Organization HR 37.9 15
#> 12 LevelDesignation Senior IC 37.5 16
#> 13 FunctionType Engineering 36.5 19
#> 14 LevelDesignation Support 35.3 32
#> 15 SupervisorIndicator Individual Contributor 34.8 56
#> 16 Organization Product 34.5 15
#> 17 LevelDesignation Junior IC 27.1 8
#> 18 FunctionType IT 25.9 5
# \donttest{
# Return a table - combination mode
create_rank(
data = pq_data_small,
metric = "Emails_sent",
mode = "combine",
return = "table"
)
#> # A tibble: 48 × 4
#> hrvar group Emails_sent n
#> <chr> <chr> <dbl> <int>
#> 1 Combined [LevelDesignation] Manager [SupervisorIndicator] … 62.3 9
#> 2 Combined [LevelDesignation] Senior IC [SupervisorIndicator… 37.5 16
#> 3 Combined [LevelDesignation] Support [SupervisorIndicator] … 35.3 32
#> 4 Combined [LevelDesignation] Junior IC [SupervisorIndicator… 27.1 8
#> 5 Combined [LevelDesignation] Senior IC [Organization] Produ… 39.8 5
#> 6 Combined [LevelDesignation] Support [Organization] HR 39.4 10
#> 7 Combined [LevelDesignation] Senior IC [Organization] Finan… 38.9 5
#> 8 Combined [LevelDesignation] Support [Organization] Finance 35.6 7
#> 9 Combined [LevelDesignation] Support [Organization] Product 35.2 7
#> 10 Combined [LevelDesignation] Support [Organization] Sales a… 30.2 8
#> # ℹ 38 more rows
# }