Queridos amigos, ya están disponibles el nuevo CURSO DE ESPECIALIZACIÓN EN DAX ASINCRÓNICO (Duración: 20 horas), con un 30% de descuento de lanzamiento. Pueden adquirirlo en la página web: menquisbi.com/curso/especializacion-en-lenguaje-dax-asincronico Para suscriptores de Argentina, pueden escribirme por WhatsApp para manejar un medio de pago alternativo: wa.me/51908805175
Gran video, muy bien explicado, cuidando los detalles para llevar de manera gráfica el 'paso a paso' del resultado obtenido. Gracias por subir contenidos de esta calidad.
Tenía pendiente ver tus últimos dos videos amigo, como siempre excelente!!! Para aquellos que les gusta ver los comentarios les recomiendo las asesorías privadas, me fueron de gran ayuda en algunas dudas específicas!!! Saludos
Muchas gracias MAESTRO Julio !! Te animo a seguir con estos videos, son de una verdadera y gran ayuda para los que intentamos aprender DAX ! Saludos desde Lleida (Catalunya / Spain)
Crack de cracks, definitivamente el mejor canal en español para aprender Dax 🔥 🔥 🔥 mucha gracias por todo tu contenido. Siempre esperé un canal que explicara paso por paso como se filtraban las tablas o los resultados de las tablas virtuales, pero solo encontraba en inglés.
Llegando tarde, pero seguro, excelente como siempre estimado, sobre todo lo relacionado a la formación de la tabla de búsqueda, pensaba🙄que era el índice lo que privaba, sin pierde como siempre, saludos 😊
Muchas gracias por la explicación Julio, siempre de manera clara. Quiero compartir esta medida que hice aplicando lo que has enseñado hasta el momento, esta medida muestra el ranking de los clientes por país y también muestra un ranking para los países poniendo a Perú en primer lugar y luego a Chile por tener mayor monto de ventas. Doble Ranking = VAR RankingClientePorPais = RANKX( ALLEXCEPT(dimClientes,dimClientes[Country Region]), [Monto de Ventas] ) VAR RankingPais = RANKX( ALLSELECTED(dimClientes[Country Region]), [Monto de Ventas] ) VAR Resultado = IF( ISINSCOPE(dimClientes[Nombre]), RankingClientePorPais, RankingPais ) VAR ResultadoMatriz = IF( ISINSCOPE(dimClientes[Country Region]), Resultado ) RETURN ResultadoMatriz Saludos y gracias nuevamente.
Julio, gracias, excelente explicación. Deberías enseñar cómo elaboras tu presentación. Ya que nos ayudaría a explicar tan dinámicamente como lo haces tú.
Muchas gracias por el apoyo Ricardo. Creo que puedo armar un video sobre como armo las explicaciones de las fórmulas. No tiene mucha ciencia, solo uso Excel y algunas macros para dinamizarlo. Saludos y un abrazo.
Gracias Julio por tu valioso aporte, deberias armar y comercializar libros digitales por temas, con esa forma sucinta de explicar. Por otro lado cuales son los beneficios por ser miembro de tu canal y cuál es el costo?.
Muchas gracias por tus comentarios y buenos deseos Milton, aprecio tu apoyo :'). Respecto a los miembros de canal, actualmente los beneficios son la posibilidad de votar el tema del siguiente video y tener acceso a los videos un día antes, así como agradecimientos al final de cada video. La verdad el tema de los miembros es solo opcional para aquellos que deseen apoyar económicamente al proyecto, para mi es mas que suficiente un link+comentario :). Quisiera que el contenido de DAX sea 100% gratuito, pero de calidad para todos. Saludos y un abrazo,
Excelente explicacion, una duda al utilizar el segundo argumento de Rankx , noto que utilizas la tabla completa, pero cual es mejor practica ALL(tabla completa) o ALL(tabla[columan])????
* Si tienes algun problema o consulta relacionada a Power BI, ya puedes acceder a consultas personalizadas en nuestro sitio web :) menquisbi.com/s/asesoria-personalizada * Ya está disponible nuestro primer curso de SQL :), puedes adquirirlo aquí: menquisbi.com/curso/sql-server-para-analisis-de-datos * Videos exclusivos para miembros del canal: th-cam.com/play/UUMOu25jQpvCNUgYV-Tl0iBnQg.html
Hola Julio, gracias por la explicación, una consulta en el minuto 11:34 cuando colocas la nota de que ocurriría lo mismo en las funciones VALUES o SUMMARIZE para crear la tabla, te refieres a que va a pasar lo mismo si uso la tabla dimClientes sin el ALL o con el ALL, gracias!
Hola Yessenia, gracias por tu comentarios. Buena pregunta, me refería que siempre que utilicemos funciones de tabla (como SUMMARIZE, VALUES, FILTER, etc.) para usarlo en el primer argumento, siempre vamos a tener el problema de que estas funciones consideran contexto de filtro, por lo que casi siempre nuestra tabla de búsqueda tendrá solo 1 fila. Entonces siempre debemos usar ALL (o alguna de sus variantes) dentro del primer argumento, para que nuestra tabla no tenga solo 1 fila (o menos filas de las que realmente queremos). Saludos.
Por supuesto que puedes (si deseas restringir los registros de la tabla de búsqueda en algún cálculo especifico), pero debes tener en cuenta que eso va a afectar el resultado de la función RANKX. Saludos
Hola Pablo, muchas gracias por tus comentarios. En realidad no siempre, hay veces en las que no deseamos considerar filtros externos. Asimismo, ALLSELECTED tiene un comportamiento especial (contexto de filtro sombra), que lo hace más difícil de utilizar en ciertos casos. Espero hacer un pronto un video al respecto. saludos.
Hola Julio, en el minuto 16: 30 explicas como funciona allexcept, pero creo haberte entendido en las lecciones previas que allexcept no RETORNA sino IGNORA todas las columnas excepto las específicadas y en el ejemplo acá es al contrario. Me podrías clarificar cómo funciona realmente?? gracias Maestro
Hola Braulio, espero que todo bien. Entiendo, lo que sucede es que toda la familia de funciones ALL* tienen doble naturaleza: como modificador de CALCULATE y como tabla. Cuando lo usamos dentro de CALCULATE si ignora filtros (no genera ninguna tabla, funciona como un modificador de filtro). Pero en el caso de RANKX y cualquier función que solicite una tabla, al usar ALL* estamos usando su segunda forma: la forma de tabla, y en ese caso ALLEXCEPT retorna todas columnas de una tabla excepto las especificadas. Es muy común que surgan confusiones al respecto, pero en el video sobre las funciones ALL, ALLEXCEPT, etc., señalo que existe una doble naturaleza, que hay que tomar en cuenta en algunos casos, como este. Saludos cordiales.
Excelente Video profesor. Pero antes de continuar al punto 3 (20:01). Me quedó la duda con Wendy y los demás. Porque al pasar la evaluación del segundo argumento en el contexto original. Wendy tiene como valor de 60. De modo que está próximo al 70. ¿Por qué no arroja el valor de 4, si es el mas próximo que hay en la tabla de búsqueda?
¡¡Hola!!, felicitaciones por el material. ¿Qué sucede con el ranking si aplicas ALL SELECTED y tienes un filtro en el lienzo u objeto visual? ALL SELECTED lo ignora o lo considera?
Hola Franco, muchas gracias por tus comentarios. ALLSELECTED solo ignora los filtros que esten dentro del objeto visual (filas, columnas, ejes, leyendas, etc). El resto de filtro si los va a considerar. Saludos
Igualmente Simón, te deseos unas felices fiestas y te mando un gran abrazo :). Jajaja, la verdad que sí, la próxima semana sigo subiendo videos (será sobre TOPN), no puedo parar, ahora estoy motivado y la clave para seguir es constancia. Saludos
Julio, estoy tratando de hacer el ranking para los meses con la medida de ventas, y utilizando la función RANKX, y no me funciona. ¿Cómo lo debería de solucionar? Muchas gracias
Hola Manuel, gracias por tu comentario. En realidad si te debería salir, solo no olvides usar la función ALL o ALLSELECTED según sea el caso y también ver cuál es el contexto de filtro dentro de cálculo que estás realizando. Saludos.
Queridos amigos, ya están disponibles el nuevo CURSO DE ESPECIALIZACIÓN EN DAX ASINCRÓNICO (Duración: 20 horas), con un 30% de descuento de lanzamiento.
Pueden adquirirlo en la página web: menquisbi.com/curso/especializacion-en-lenguaje-dax-asincronico
Para suscriptores de Argentina, pueden escribirme por WhatsApp para manejar un medio de pago alternativo: wa.me/51908805175
Muchas gracias profe, realmente estaba buscando a alguien que enseñe de verdad ❤ un abrazo desde Chile
Gracias por el apoyo Marcos :)
Saludos desde Perú.
Como siempre solo se puede decir una cosa, gracias por su esfuerzo.
Mil gracias por tu apoyo estimado Francisco :)
Un abrazo
Muchas gracias por tu dedicación al trabajo,que DIOS siempre este a tú lado ayundando a la 👪 👪, un abrazo desde Cuba.
Fernando!, te agradezco mucho tus bellas palabras :'). Igualmente, muchas bendiciones para ti y tu hogar.
Te mando un gran abrazo.
Saludos.
Gran video, muy bien explicado, cuidando los detalles para llevar de manera gráfica el 'paso a paso' del resultado obtenido. Gracias por subir contenidos de esta calidad.
Muchas gracias por tus gentiles palabras estimado.
Un gran abrazo :)
Muy buen canal, por fin explicaciones claras de que hace cada funcion, todo desmenuzado, gracias por tomarte tu tiempo
Te lo agradezco Vladimir.
Me alegro que mi contenido te sea de utilidad :')
Saludos.
Tenía pendiente ver tus últimos dos videos amigo, como siempre excelente!!! Para aquellos que les gusta ver los comentarios les recomiendo las asesorías privadas, me fueron de gran ayuda en algunas dudas específicas!!! Saludos
Joel!, muchísimas gracias por tu apoyo.
Te mando un gran abrazo!, felices fiestas :)
Muchas gracias MAESTRO Julio !! Te animo a seguir con estos videos, son de una verdadera y gran ayuda para los que intentamos aprender DAX ! Saludos desde Lleida (Catalunya / Spain)
Muchísimas gracias por tus palabras Merce :'), me alegro que mis contenido te esté siendo de utilidad :)
Saludos desde Perú, y felices fiestas.
Excelente explicacion Julio! Muchas Gracias!!
De las mas completas explicaciones en español para esta funcion, que suele dar mucha frustración al empezar a usarla.... Saludos Julio.
Saludos Cesar, mucha gracias por tus comentarios :)
Crack de cracks, definitivamente el mejor canal en español para aprender Dax 🔥 🔥 🔥
mucha gracias por todo tu contenido. Siempre esperé un canal que explicara paso por paso como se filtraban las tablas o los resultados de las tablas virtuales, pero solo encontraba en inglés.
Muchisimas gracias por tus palabras Kevin :'), me alegro mucho que mi contenido te sea de utilidad.
Saludos
Llegando tarde, pero seguro, excelente como siempre estimado, sobre todo lo relacionado a la formación de la tabla de búsqueda, pensaba🙄que era el índice lo que privaba, sin pierde como siempre, saludos 😊
Simón!, muchísimas gracias por tu apoyo amigo.
Saludos cordiales desde Perú :)
Muchas gracias por la explicación Julio, siempre de manera clara.
Quiero compartir esta medida que hice aplicando lo que has enseñado hasta el momento, esta medida muestra el ranking de los clientes por país y también muestra un ranking para los países poniendo a Perú en primer lugar y luego a Chile por tener mayor monto de ventas.
Doble Ranking =
VAR RankingClientePorPais =
RANKX(
ALLEXCEPT(dimClientes,dimClientes[Country Region]),
[Monto de Ventas]
)
VAR RankingPais =
RANKX(
ALLSELECTED(dimClientes[Country Region]),
[Monto de Ventas]
)
VAR Resultado =
IF(
ISINSCOPE(dimClientes[Nombre]),
RankingClientePorPais,
RankingPais
)
VAR ResultadoMatriz =
IF(
ISINSCOPE(dimClientes[Country Region]),
Resultado
)
RETURN ResultadoMatriz
Saludos y gracias nuevamente.
Me alegro que el vídeo te haya sido de utilidad Alejandro:)
Muchas también por el aporte.
Saludos cordiales
Gracias Julio, Explicacion extraordinariamente clara . Un afectuoso abrazo y mil gracias.
Muchas gracias por tu apoyo Walter :), lo aprecio bastante.
Saludos y un gran abrazo.
Muy bueno tocayo. He aprendido mucho con un solo vídeo
Me alegro que el video te haya sido de utilidad tocayo :)
Saludos cordiales.
Excelente explicación como siempre bacan 👌
Gracias por el apoyo estimado :)
Saludos
Julio, gracias, excelente explicación. Deberías enseñar cómo elaboras tu presentación. Ya que nos ayudaría a explicar tan dinámicamente como lo haces tú.
Muchas gracias por el apoyo Ricardo.
Creo que puedo armar un video sobre como armo las explicaciones de las fórmulas.
No tiene mucha ciencia, solo uso Excel y algunas macros para dinamizarlo.
Saludos y un abrazo.
Sin duda una gran explicación Julio que manera !! Saludos.
Sergio!, te agradezco mucho el apoyo brindando :)
Saludos y un abrazo.
Genial como siempre julio... un grande.
Muchísimas gracias por tus palabras Sergio :)
Saludos y un abrazo.
Impecable como siempre!!!! 👌
Muchas gracias por tu apoyo Mario :)
Un gran abrazo.
Saludos
¡Gracias!
Jairo!. Muchas gracias por tu generosidad amigo :')
Te mando un gran abrazo y saludos cordiales desde Lima, Perú.
Gracias Julio
Muchas gracias por tus comentarios Jose Luis :)
Saludos
Gracias Julio por tu valioso aporte, deberias armar y comercializar libros digitales por temas, con esa forma sucinta de explicar. Por otro lado cuales son los beneficios por ser miembro de tu canal y cuál es el costo?.
Muchas gracias por tus comentarios y buenos deseos Milton, aprecio tu apoyo :').
Respecto a los miembros de canal, actualmente los beneficios son la posibilidad de votar el tema del siguiente video y tener acceso a los videos un día antes, así como agradecimientos al final de cada video.
La verdad el tema de los miembros es solo opcional para aquellos que deseen apoyar económicamente al proyecto, para mi es mas que suficiente un link+comentario :).
Quisiera que el contenido de DAX sea 100% gratuito, pero de calidad para todos.
Saludos y un abrazo,
Thanks!
Juan Fernando!, muchas gracias por tu generosidad estimado. Me alegro mucho que mi contenido te sea útil.
Un gran abrazo desde Perú :)
Gracias por el video
Gracias por tus comentarios Raul :')
Saludos
Excelente explicacion, una duda al utilizar el segundo argumento de Rankx , noto que utilizas la tabla completa, pero cual es mejor practica ALL(tabla completa) o ALL(tabla[columan])????
* Si tienes algun problema o consulta relacionada a Power BI, ya puedes acceder a consultas personalizadas en nuestro sitio web :)
menquisbi.com/s/asesoria-personalizada
* Ya está disponible nuestro primer curso de SQL :), puedes adquirirlo aquí: menquisbi.com/curso/sql-server-para-analisis-de-datos
* Videos exclusivos para miembros del canal: th-cam.com/play/UUMOu25jQpvCNUgYV-Tl0iBnQg.html
Hola Julio, gracias por la explicación, una consulta en el minuto 11:34 cuando colocas la nota de que ocurriría lo mismo en las funciones VALUES o SUMMARIZE para crear la tabla, te refieres a que va a pasar lo mismo si uso la tabla dimClientes sin el ALL o con el ALL, gracias!
Hola Yessenia, gracias por tu comentarios.
Buena pregunta, me refería que siempre que utilicemos funciones de tabla (como SUMMARIZE, VALUES, FILTER, etc.) para usarlo en el primer argumento, siempre vamos a tener el problema de que estas funciones consideran contexto de filtro, por lo que casi siempre nuestra tabla de búsqueda tendrá solo 1 fila.
Entonces siempre debemos usar ALL (o alguna de sus variantes) dentro del primer argumento, para que nuestra tabla no tenga solo 1 fila (o menos filas de las que realmente queremos).
Saludos.
Es decir que no puedo usar una tabla filtrada con la función rankx? @@MenquisBI
Por supuesto que puedes (si deseas restringir los registros de la tabla de búsqueda en algún cálculo especifico), pero debes tener en cuenta que eso va a afectar el resultado de la función RANKX.
Saludos
Gracias por el vídeo. ¿No sería mejor usar por defecto ALLSELECTED en vez de ALL? Gracias,
Hola Pablo, muchas gracias por tus comentarios.
En realidad no siempre, hay veces en las que no deseamos considerar filtros externos.
Asimismo, ALLSELECTED tiene un comportamiento especial (contexto de filtro sombra), que lo hace más difícil de utilizar en ciertos casos. Espero hacer un pronto un video al respecto.
saludos.
gracias por la respuesta, @@MenquisBI. Investigaré sobre "contexto de filtro sombra".
Hola Julio, en el minuto 16: 30 explicas como funciona allexcept, pero creo haberte entendido en las lecciones previas que allexcept no RETORNA sino IGNORA todas las columnas excepto las específicadas y en el ejemplo acá es al contrario. Me podrías clarificar cómo funciona realmente?? gracias Maestro
Hola Braulio, espero que todo bien.
Entiendo, lo que sucede es que toda la familia de funciones ALL* tienen doble naturaleza: como modificador de CALCULATE y como tabla.
Cuando lo usamos dentro de CALCULATE si ignora filtros (no genera ninguna tabla, funciona como un modificador de filtro).
Pero en el caso de RANKX y cualquier función que solicite una tabla, al usar ALL* estamos usando su segunda forma: la forma de tabla, y en ese caso ALLEXCEPT retorna todas columnas de una tabla excepto las especificadas.
Es muy común que surgan confusiones al respecto, pero en el video sobre las funciones ALL, ALLEXCEPT, etc., señalo que existe una doble naturaleza, que hay que tomar en cuenta en algunos casos, como este.
Saludos cordiales.
@@MenquisBI Excelente maestro Julio. Muy claro ahora. Estoy a la espera de su anuncio respecto al curso avanzado de DAX por linkedin!
Excelente Video profesor. Pero antes de continuar al punto 3 (20:01). Me quedó la duda con Wendy y los demás. Porque al pasar la evaluación del segundo argumento en el contexto original. Wendy tiene como valor de 60. De modo que está próximo al 70. ¿Por qué no arroja el valor de 4, si es el mas próximo que hay en la tabla de búsqueda?
Hola Darwin, espero que todo bien.
Va a salir 4 porque en la tabla de búsqueda el 70 esta en la posición 3, no en la posición 4.
Saludos.
¡¡Hola!!, felicitaciones por el material. ¿Qué sucede con el ranking si aplicas ALL SELECTED y tienes un filtro en el lienzo u objeto visual? ALL SELECTED lo ignora o lo considera?
Hola Franco, muchas gracias por tus comentarios.
ALLSELECTED solo ignora los filtros que esten dentro del objeto visual (filas, columnas, ejes, leyendas, etc). El resto de filtro si los va a considerar.
Saludos
Por cierto, felices fiestas, y un año venturoso para todos los tuyos. Por si decides finalizar esta temporada 😅
Igualmente Simón, te deseos unas felices fiestas y te mando un gran abrazo :).
Jajaja, la verdad que sí, la próxima semana sigo subiendo videos (será sobre TOPN), no puedo parar, ahora estoy motivado y la clave para seguir es constancia.
Saludos
Julio, estoy tratando de hacer el ranking para los meses con la medida de ventas, y utilizando la función RANKX, y no me funciona. ¿Cómo lo debería de solucionar?
Muchas gracias
Hola Manuel, gracias por tu comentario.
En realidad si te debería salir, solo no olvides usar la función ALL o ALLSELECTED según sea el caso y también ver cuál es el contexto de filtro dentro de cálculo que estás realizando.
Saludos.