hedtorresca commited on
Commit
e7f7ab3
1 Parent(s): 776f39e

Delete src/notebooks/Test_3 (1) (2).qmd

Browse files
Files changed (1) hide show
  1. src/notebooks/Test_3 (1) (2).qmd +0 -237
src/notebooks/Test_3 (1) (2).qmd DELETED
@@ -1,237 +0,0 @@
1
- ---
2
- title: "Seguimiento Cifras Consumo Individual"
3
- author: "Equipo IDN - Cristhian Buitrago"
4
- format:
5
- revealjs:
6
- self-contained: true
7
- theme: simple
8
- css: styles.css
9
- editor: visual
10
- ---
11
-
12
- ## Proceso
13
-
14
- Actualmente el equipo de IDN - Gerencia de Soluciones - Subdirección Comercial consolida la información de Consumo Individual y Empresarial, ésto se realiza de acuerdo con la información que se tiene disponible en SAP4HANA.
15
-
16
- La recopilación de este proceso se realiza de forma mensual, mes vencido y con un plazo de entrega de los equipos BI de la caja de máximo el día 25 de cada mes.
17
-
18
- La metodología empleada para la recopilación de la información fue construida por el equipo BI.
19
-
20
- El presente reporte ilustra el seguimiento general de cifras de Consumo Individual por UES.
21
-
22
-
23
- ```{r setup, include=FALSE}
24
- knitr::opts_chunk$set(echo = TRUE)
25
-
26
- source('./Setup.R')
27
-
28
- # **NIT: `r NIT` - `r nombreEmpresa`**
29
-
30
- ```
31
-
32
-
33
- ```{r cargue_bases, eval=TRUE, message=FALSE, warning=FALSE, include=FALSE, paged.print=FALSE}
34
-
35
- Afiliados <- readRDS(file = './Consolidada Personas/Consol_Afiliados_MHE_2021_2024.rds')
36
- Empresas <- readRDS(file = './Consolidada Empresas/Consol_Empresas_MHE_2021_2024.rds')
37
-
38
- ```
39
-
40
- ```{r filtro_empresa,echo=FALSE}
41
-
42
- NIT <- "NIT8600073861"
43
- MES <- as.Date.character('2024-04-01')
44
-
45
- Data_Empresa <- Afiliados %>%
46
- filter(id_empresa == NIT) %>%
47
- mutate(Date = make_date(Year, Month, 1))
48
-
49
- ```
50
-
51
- ```{r variables_basicas,echo=FALSE}
52
-
53
- # Num.afiliados
54
- # Num.afiliados_cat_a
55
- # Num.afiliados_cat_b
56
- # Num.afiliados_cat_c
57
- # Num.afiliados_basico
58
- # Num.afiliados_medio
59
- # Num.afiliados_joven
60
- # Num.afiliados_alto
61
- # Salario_Promedio
62
- # RazonSocial
63
-
64
- RazonSocial <- unique(Data_Empresa$RazonSocial)
65
- NIT <- unique(Data_Empresa$id_empresa)
66
-
67
- ## Variables auxiliares
68
-
69
- last_date <- max(Data_Empresa$Date)
70
-
71
- ```
72
-
73
- ```{r calculo_salarios, echo=FALSE, message=FALSE, warning=FALSE, paged.print=FALSE}
74
-
75
- library(scales)
76
-
77
- salario_promedio <- Data_Empresa %>%
78
- filter(Date > last_date %m-% months(36)) %>% # Filtrar los últimos 36 meses
79
- group_by(Periodo = case_when(
80
- Date > last_date %m-% months(12) ~ "Últimos 12 meses",
81
- Date > last_date %m-% months(24) ~ "Últimos 24 meses",
82
- TRUE ~ "Últimos 36 meses"
83
- )) %>%
84
- summarise(Salario_Promedio = mean(Salario), .groups = 'drop')
85
-
86
- # Formatear como valor monetario en millones
87
- Salario.Prom.12 <- dollar(salario_promedio$Salario_Promedio[salario_promedio$Periodo == "Últimos 12 meses"] / 1e6, accuracy = 0.01, suffix = "M")
88
- Salario.Prom.24 <- dollar(salario_promedio$Salario_Promedio[salario_promedio$Periodo == "Últimos 24 meses"] / 1e6, accuracy = 0.01, suffix = "M")
89
- Salario.Prom.36 <- dollar(salario_promedio$Salario_Promedio[salario_promedio$Periodo == "Últimos 36 meses"] / 1e6, accuracy = 0.01, suffix = "M")
90
-
91
-
92
- ```
93
-
94
- ```{r Salarios_Promedio_date, message=FALSE, warning=FALSE, include=FALSE, paged.print=FALSE}
95
-
96
- Data_Empresa$Date <- as.Date(Data_Empresa$Date)
97
-
98
- Salario_Promedio_Fecha <- Data_Empresa %>%
99
- group_by(Date) %>%
100
- summarise(Promedio_Salarial = mean(Salario, na.rm = TRUE), .groups = 'drop') %>%
101
- mutate(Promedio_Salarial_Formateado = dollar(Promedio_Salarial / 1e6, accuracy = 0.01, suffix = "M")) %>%
102
- arrange(Date)
103
-
104
- # Verificar la estructura de los datos ordenados
105
- print(Salario_Promedio_Fecha)
106
- ```
107
-
108
- ```{r plot_salarios_mes, message=FALSE, warning=FALSE, include=FALSE, paged.print=FALSE}
109
-
110
- library(ggplot2)
111
-
112
- library(ggplot2)
113
- library(plotly)
114
- library(scales)
115
-
116
- # Crear el gráfico con ggplot
117
- ggplot_Salarios <- ggplot(Salario_Promedio_Fecha, aes(x = Date, y = Promedio_Salarial, group = 1)) + # 'group = 1' fuerza a ggplot a considerar todo como un solo grupo
118
- geom_line(color = "blue", size = 1) +
119
- geom_point(color = "red", size = 2, aes(text = paste("Fecha:", format(Date, "%d-%m-%Y"), "<br>Salario Promedio:", Promedio_Salarial_Formateado))) +
120
- labs(x = "Fecha", y = "Promedio Salarial (Millones $)", title = "Promedio Salarial por Fecha", subtitle = "Evolución del salario promedio a lo largo del tiempo") +
121
- theme_minimal() +
122
- theme(plot.title = element_text(hjust = 0.5))
123
-
124
-
125
- library(plotly)
126
-
127
- # Convertir ggplot a plotly
128
- Plot_Salarios_Interactive <- ggplotly(ggplot_Salarios, tooltip = "text")
129
-
130
- # Ajustar el formato de fecha en el eje x
131
- Plot_Salarios_Interactive <- Plot_Salarios_Interactive %>%
132
- layout(xaxis = list(tickformat = "%d-%m-%Y"))
133
-
134
-
135
- ```
136
-
137
-
138
- ```{r num.promedio_afiliados,echo=FALSE}
139
-
140
- # Contar afiliados únicos por mes y año
141
- Afiliados_Mes <- Data_Empresa %>%
142
- group_by(Year, Month) %>%
143
- summarise(Afiliados_Unicos = n_distinct(id_persona), .groups = 'drop')
144
-
145
- Afiliados_Promedio <- Data_Empresa %>%
146
- filter(Date > last_date %m-% months(36)) %>% # Filtrar los últimos 36 meses
147
- group_by(Periodo = case_when(
148
- Date > last_date %m-% months(12) ~ "Últimos 12 meses",
149
- Date > last_date %m-% months(24) ~ "Últimos 24 meses",
150
- TRUE ~ "Últimos 36 meses"
151
- )) %>%
152
- summarise(Afiliados_Promedio = mean(n_distinct(id_persona)), .groups = 'drop')
153
-
154
- Afiliados.Prom.12 <- Afiliados_Promedio$Afiliados_Promedio[Afiliados_Promedio$Periodo=='Últimos 12 meses']
155
- Afiliados.Prom.24 <- Afiliados_Promedio$Afiliados_Promedio[Afiliados_Promedio$Periodo=='Últimos 36 meses']
156
- Afiliados.Prom.36 <- Afiliados_Promedio$Afiliados_Promedio[Afiliados_Promedio$Periodo=='Últimos 36 meses']
157
-
158
- # Edad Promedio
159
-
160
- Edad_Promedio <- Data_Empresa %>%
161
- filter(Date > last_date %m-% months(36)) %>% # Filtrar los últimos 36 meses
162
- group_by(Periodo = case_when(
163
- Date > last_date %m-% months(1) ~ "Último Mes",
164
- Date > last_date %m-% months(12) ~ "Últimos 12 meses",
165
- Date > last_date %m-% months(24) ~ "Últimos 24 meses",
166
- TRUE ~ "Últimos 36 meses"
167
- )) %>%
168
- summarise(Edad_Promedio = mean(Edad), .groups = 'drop')
169
-
170
- Edad.Prom.1 <- round(Edad_Promedio$Edad_Promedio[Edad_Promedio$Periodo == "Último Mes"],1)
171
- Edad.Prom.12 <- round(Edad_Promedio$Edad_Promedio[Edad_Promedio$Periodo == "Últimos 12 meses"],1)
172
- Edad.Prom.24 <- round(Edad_Promedio$Edad_Promedio[Edad_Promedio$Periodo == "Últimos 24 meses"],1)
173
- Edad.Prom.36 <- round(Edad_Promedio$Edad_Promedio[Edad_Promedio$Periodo == "Últimos 36 meses"],1)
174
-
175
- ```
176
-
177
- ```{r genero, echo=FALSE, message=FALSE, warning=FALSE, paged.print=FALSE}
178
-
179
- Genero_Distribucion <- Data_Empresa %>%
180
- group_by(Date, Genero) %>%
181
- summarise(Count = n_distinct(id_persona), .groups = 'drop') %>%
182
- group_by(Date) %>%
183
- mutate(Total = sum(Count),
184
- Porcentaje = (Count / Total) * 100,
185
- Porcentaje_Formateado = paste0(format(round(Porcentaje, 1), nsmall = 1), "%"),
186
- Tooltip = paste(format(Date, "%d-%m-%Y"), "\nGénero: ", Genero, "\n", Porcentaje_Formateado, " (", Count, " personas)"))
187
-
188
-
189
- ```
190
-
191
- ```{r plot_genero, message=FALSE, warning=FALSE, include=FALSE, paged.print=TRUE}
192
-
193
- # Crear el gráfico con ggplot
194
- ggplot_Generos <- ggplot(Genero_Distribucion, aes(x = Date, y = Porcentaje, fill = Genero, text = Tooltip)) +
195
- geom_bar(stat = "identity", position = "fill") +
196
- scale_fill_brewer(palette = "Set1") +
197
- labs(x = "Fecha",
198
- y = "Porcentaje",
199
- title = "Distribución Porcentual por Género",
200
- subtitle = "Distribución de género por fecha",
201
- fill = "Género") +
202
- theme_minimal() +
203
- theme(plot.title = element_text(hjust = 0.5))
204
-
205
- # Convertir ggplot a plotly con la configuración correcta de tooltips
206
- Plot_Generos_Interactive <- plotly::ggplotly(ggplot_Generos, tooltip = "text")
207
-
208
- # Ajustar formato de fecha en eje x y personalizar la presentación
209
- # Plot_Generos_Interactive <- Plot_Generos_Interactive %>%
210
- # layout(xaxis = list(tickformat = "%d-%m-%Y"))
211
- #
212
-
213
- ```
214
-
215
- # Datos básicos de la empresa
216
-
217
- - Razón Social: `r RazonSocial`
218
- - Empresa: `r NIT`
219
- - Mes en estudio: `r MES`
220
- - Afiliados Promedio (12 meses): `r Afiliados.Prom.12`
221
- - Afiliados Promedio (24 meses): `r Afiliados.Prom.24`
222
- - Salario Promedio (12 meses): `r Salario.Prom.12`
223
- - Salario Promedio (24 meses): `r Salario.Prom.24`
224
- - Edad Promedio: `r Edad.Prom.1`
225
-
226
- # Promedio Salarial en el tiempo
227
-
228
- ```{r show_plot_salarios, echo=FALSE, message=FALSE, warning=FALSE, paged.print=FALSE}
229
-
230
- # Visualizar el gráfico interactivo
231
- Plot_Salarios_Interactive
232
-
233
-
234
- ```
235
-
236
-
237
-