Forum Discussion
Visualiza las edades
He buscado un poco y no puedo encontrar la respuesta a esta pregunta.
Tengo una mesa grande. Uno de los campos tiene una fecha de "primera búsqueda" con una fecha en el pasado. Podría ser hace 1 día, podría hace 1000 días. He duplicado esta columna y la he convertido a la edad, por lo que tengo una columna que muestra la edad, que es esencialmente el número de días entre el "primer hallazgo" y el día de hoy. La edad, simple.
Ahora quiero visualizar en un solo gráfico (probablemente solo un gráfico de barras) un valor total para lo siguiente
30-60 días de edad
60-180 días de edad
180-365 días de edad
365+ días de edad
Puedo hacer esto con filtros bastante simples si hago imágenes separadas, pero puedo averiguar cómo hacerlo en una imagen visual. ¿Alguna idea?
1 Reply
- Syndicate_Admin
Administrator
Hola @lfkent73
Hice esto en Power Query, pero también puede hacerlo en DAX si lo desea. Encuentro PQ un poco más fácil para esto.
Esta es la tabla con la que termino
Este es el código de consulta
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMtQ31DcyMDJSitUhgmOMjWOMzDFF5lhSlWNoQCbPECsvFgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"First Found" = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"First Found", type date}}), #"Added Custom" = Table.AddColumn(#"Changed Type", "Age", each Duration.TotalDays(Date.From(DateTime.LocalNow()) - [First Found])), #"Changed Type1" = Table.TransformColumnTypes(#"Added Custom",{{"Age", Int64.Type}}), #"Added Custom1" = Table.AddColumn(#"Changed Type1", "Age Bands", each if [Age] < 30 then "1-29" else if [Age] < 60 then "30-59" else if [Age] < 180 then "60-179" else if [Age] < 365 then "180-364" else "365+"), #"Merged Queries" = Table.NestedJoin(#"Added Custom1", {"Age Bands"}, #"Sort Order", {"Age Band"}, "Sort Order", JoinKind.LeftOuter), #"Expanded Sort Order" = Table.ExpandTableColumn(#"Merged Queries", "Sort Order", {"Sort Order"}, {"Sort Order"}) in #"Expanded Sort Order"Lo que he hecho es crear columnas personalizadas para la edad y las bandas de edad. La columna Orden de clasificación proviene de otra tabla creada específicamente para que pueda ordenar las bandas de edad de una manera predeterminada. Si intentara ordenar por los valores de texto de las bandas de edad, obtendría resultados no deseados. Esta es la tabla
Verás que las bandas de edad no se superponen, es decir, no puedes tener bandas como 30-60 y 60-180. Un valor de 60 no puede estar en 2 bandas.
Aquí está el gráfico de barras
Está ordenado en las bandas de edad, pero tienen una columna Ordenar por, que es la columna Orden de clasificación: lea más sobre esto aquí Ordenar una columna con un orden personalizado en Power BI - RADACAD
Saludos
Phil