¿Cómo trabajar con funciones de filtro en Power BI?
Explorar y acotar nuestro modelo de datos es una habilidad esencial en Power BI. Las funciones de filtro nos permiten precisamente eso: reducir universos y generar tablas calculadas adaptadas a las necesidades del negocio. A través de estas herramientas, podemos generar informes más precisos y personalizados. ¿Quieres saber cómo puedes lograrlo? ¡Sigue leyendo!
¿Cómo generar tablas calculadas con funciones de filtro?
En Power BI, las tablas calculadas son un componente esencial para maneje eficiente de datos. Puedes crear una tabla calculada restringiendo tu universo de datos mediante las funciones de filtro. Sigamos el siguiente ejemplo práctico:
Ingresar a Vista de Datos: A partir de aquí, observa la tabla DIN Fechas con columnas esenciales como Semestre.
Crear una nueva tabla: Emplea la herramienta de tablas para generar una tabla denominada "Tabla Semestre 1". Utiliza la fórmula FILTER para filtrar los datos:
Mediante este código, generamos una tabla nueva de "Dimensión de Fechas" pero exclusivamente para el Semestre 1, comprendiendo los meses de Enero a Junio.
¿Cómo filtrar datos de ventas por marca?
Las funciones de filtro no solo se limitan a las fechas. También puedes aplicarlas para obtener información específica por marcas o categorías. Por ejemplo, si quieres centrarte en las marcas más vendidas:
Generar una tabla de información: Ordena tus ventas por marca y observa las principales como Toyota y Suzuki.
Filtrar por top marcas: En la vista de datos, crea una nueva tabla para estas marcas:
Esto permite manejar un conjunto de datos más específico y pertinente.
¿Cómo acotar un canal de ventas específico?
A veces, necesitas focalizarte en ciertos canales de comunicación o venta. Identificar aquellos relacionados con 'publicidad' te permitirá centrar tus esfuerzos en estrategias de marketing adecuadas.
Usar una función de búsqueda: Genera una tabla personalizada con un filtro utilizando la función SEARCH:
Esta función busca la palabra "publicidad" en el campo canal, devolviendo resultados relevantes para optimizar campañas publicitarias.
¿Cuándo es útil usar funciones de filtro?
Las funciones de filtro son fundamentales para:
Reducir grandes volúmenes de datos a sets manejables y específicos.
Crear tablas personalizadas adaptadas a necesidades comerciales y analíticas.
Generar informes prácticos y precisos que realmente respondan a las preguntas del negocio.
¿Cómo aceptar un desafío de filtro con días laborales y de descanso?
Finalmente, aquí te propongo un reto para poner en práctica estos conocimientos: Construye una tabla de fechas exclusiva para fines de semana. Con la función de filtro, determina cuándo el día de la semana es sábado o domingo. No olvides compartir tus resultados y descubrimientos en la sección de comentarios para seguir aprendiendo juntos.
Recuerda que el dominio de funciones de filtro te proporciona el control necesario para transformar datos en respuestas. ¡Atrévete a sumergirte y explotar todo el potencial de Power BI!
Dim fecha weekend =FILTER('Dim fecha','Dim fecha'[Día Letra]="Sábado"||'Dim fecha'[Día Letra]="Domingo")
Tabla Fin de semana = FILTER(Dim_Fechas,Dim_Fechas[Número Día_Semana] = 7 || Dim_Fechas[Número Día_Semana] = 1 )
Asi genere un filtro de los fines de semana.
La función FILTER en DAX se utiliza para devolver una tabla que representa un subconjunto de otra tabla, evaluando una condición específica. Su sintaxis es:
FILTER(<tabla>,<expresión>)
Donde <tabla> es la tabla que deseas filtrar y <expresión> es una condición que cada fila debe cumplir.
Por otro lado, SEARCH se utiliza para encontrar una subcadena dentro de otra cadena y su sintaxis es:
SEARCH(<subcadena>,<cadena>,[<inicio>,<modo>])
Donde <subcadena> es lo que buscas, <cadena> es donde buscas, y los parámetros opcionales <inicio> y <modo> controlan la búsqueda.
Ambas funciones son útiles para crear tablas calculadas más específicas y enfocadas en las necesidades de análisis.
Hola, en el reto hice algo muy interesante que quiero compartirte.
Lo que hice es que creé valores en strings(letras) en lugar de enteros, ya que se me haria muy complicado escribir numeros por numero y caer en la equivocación en Febrero(que no tiene 30 dias) entonces, creee una nueva columna con la siguiente condicion.
Dia = FORMAT(Calendario[Date],"dddd")
esta instruccion me trae todos los dias desde Enero hasta la fecha pero en letras.
(no uses una columna dia numero ya que puede traerte informacion equivoca, si gustas, apoyate del calendario de la fecha y notaras la diferencia que usando day numero, te da un valor errado).
luego, cree una nueva tabla calculada asi:
Weekend = FILTER(Calendario, (Calendario[Dia] = "Friday" || Calendario[Dia] = "Saturday") && (Calendario[Year] = 2018 || Calendario[Year] = 2019 || Calendario[Year] = 2020 || Calendario[Year] = 2021))
que es donde sustraje solo los años.
si te preguntas que son esos signos(&&,||)
son simbolos logicos, and y or, en lugar de usar las palabras usé simbolo(es una buena practica me dijo un profesor).
espero te haya servido.
sigamos aprendiendo
Aproveché la columna que habíamos creado y usé un OR para tomar en cuenta el 6 y 7
Master
primero saque una columna para sacar los dias de la semana en numero 1,2,3....7 creando una nueva columna con la formula
dia semana = WEEKDAY(DIm_calendario[Date])
y luego aplique la formuladel filter con base a esa columna con la siguiente formula
fines de semana = FILTER(DIm_calendario,DIm_calendario[dia semana] >=6)
Pregunta en la Tabla Canal Publicidad = FILTER(dim_canal,SEARCH("publicidad",dim_canal[canal],1,0))
Comunidad al agregar el SEARCH hay alguna forma que pueda buscar la palabra deseada sin importar la ubicación agradezco su ayuda.
Tengo entendido que SEARCH busca el texto en la celda, lo que si escribes SEARCH("and",columna,1) y hay una fila que tiene el texto "como dijo pacho and josefina" dará TRUE y aparecerá en tu tabla
Cristian, buen dia hermano, en el contexto que creaste allí, solo aplica para los dia de la semana 6 y 7, pero los fines de semana son tambien en otros dias, lo consideraste allí?
y si lo hiciste, como lo hiciste?
saludos
Hola Jose, mira te comparto
Trimestre=SWITCH(TRUE(),// Evalúa que la expresión sea cierta en otras palabras es como un IF GlobalDim_Fechas[NumeroMes]=1||Dim_Fechas[NumeroMes]=2||Dim_Fechas[NumeroMes]=3,"Trimestre 1",// si cumple con que está dentro del mes 1 ,o, el 2 ,o, 3 entonces póngale Trimestre 1 si no continúe con la siguiente expresiónDim_Fechas[NumeroMes]=4||Dim_Fechas[NumeroMes]=5||Dim_Fechas[NumeroMes]=6,"Trimestre 2",Dim_Fechas[NumeroMes]=7||Dim_Fechas[NumeroMes]=2||Dim_Fechas[NumeroMes]=9,"Trimestre 3","Trimestre 4")// si no cumple con las primeras tres condiciones entonces ponga trimestre 4
espero haya sido claro