Queridos amigos, ya están disponibles las inscripciones nuestro CURSO DE DAX EN VIVO (Inicio: 19 OCTUBRE 2024): Pueden registrarse a través de este link: menquisbi.com/e/especializacion-en-lenguaje-dax-edicion-iii-en-vivo Para mayor información, puedes escribirnos por WhatsApp: wa.me/51908805175
Debo comentarte Julio, eres un profesor de una calidad espectacular, tienes una dosificación del contenido ⭐⭐⭐⭐⭐⭐, no hay nada igual en hispanohablantes. Mucha salud y éxitos en tu andar por este mundo.
He visto muchos canales de PBI y puedo decir con seguridad que este está entre los 3 que mejor explica los conceptos, muchas gracias. Ojalá puedas hacer muchos mas videos y de power query tambien. Saludos!
Muchas gracias por tus comentarios :) De todas maneras, el mundo de Power Query es muy interesante, también haremos un serie de videos sobre ese tema. Saludo.
Buenas tardes. Soy cientifico de datos desde hace 10 años y solo puedo felicitarte por la calidad de la información que nos brindas. Ojalá cuando empecé a aprender DAXme hubiera encontrado con un curso de esta calidad y sobretodo la guia que brindas de como aprender, la importancia de los contextos, etc. Te pediría que sigas con este curso y si puedes lo lleves al máximo nivel ya que es una joya para adquirir conocimientos y como fuente de consulta posterior. Un abrazo y gran trabajo
Excelente video. La explicación fue super detallada. Hacia mucha falta un video con este nivel de contenido tan profundo. De los mejores canales dedicados a Power BI y DAX que he visto. No dejes de sacar mas videos.
Hola Julio! Muchas gracias por las explicaciones en este vídeo! 👏Pude entenderlas sin problema. Agradezco que uses muchos ejemplos y repitas los temas para entenderlos efectivamente. Hay temas de otros vídeos que no entendía y ahora viéndolos nuevamente se entiende mucho mejor! Muchas gracias! Saludos desde Buenos Aires! 🤓
Chamo, por fin entendí lo del término Linaje, pensaba que treatas era para forzar una relacción con una tabla del modelo que tuviera el mismo contexto o dato, buena esa gracias, excelente explicación A1
Muchas gracias tu esfuerzo y por la explicación que nos brindas, es un gran aporte el que realizas y con contenido excelente. Uno de los mejores canales para explicación de DAX
Definitivamente tus cursos son de otro nivel. Tenia un inconveniente con una tabla sin relación pero con esto creo que lo puedo solucionar. muchísimas gracias. Para sacarle el mayor provecho creo que me tocaría ver todos los vídeos una vez termine.
Excelente video, una vez mas el mejor contenido de power bi. hace un tiempo tuve que usar treatas y fue una solucion. Muchos pensaran que es raro usarlas pero algunos modelos siempre están pidiendo cambios y agregar y quitar cosas más de alguna vez treatas es un buen as bajo la manga
Muchas gracias Pablo. Totalmente de acuerdo, TREATAS, al ser una función nueva, también esta bastante bien optimizada, así que también es útil para optimizar código DAX. De igual manera, veremos algunos ejemplos extra de TREATAS en el futuro, aún necesito introducir funciones adicionales. Saludos
Excelente explicación como siempre. Muchas gracias por compartir tu conocimiento. Por mi parte quisiera aprender a usar las funciones de inteligencia de tiempo y así poder calcular indicadores diferentes a los del año en curso, por ejemplo, la rotación del año anterior o la rotación de este año respecto al anterior o casos con indicadores como Sellout, ticket promedio, etc.
Gracias por tus comentarios Emerson. De todas maneras, de la inteligencia de tiempo creo que ya se ha hablado bastante en otros canales, pero me gustaría brindar algunos detalles extra que les podrían ser de utilidad. Espero tener listo el material pronto :): Saludos.
Hola muy buen día a todos los lectores en línea, perfecta esta información, muy didáctica como siempre, con respecto al termino de filtro de forma arbitraria mas diría un filtro caprichoso. una solicitud, me gustaria que nos explicara cuando su agenda y calendario lo permita la funcion WINDOW WINDOW ( from[, from_type], to[, to_type][, ][, ][, ][, ][, ] ) Le agradeceriaa. un saludo para todos sus seguidores aqui desde Garzón Colombia.
Hola Vicente, gracias por tus comentarios. La funciones de ventana (o WINDOWS Functions en inglés), son definitivamente las funciones más complejas de todo DAX. En realidad usarlas no es complicado, pero si entender exactamente el cálculo que realizan. Para poder entenderlas hay varios temas previos que debemos conocer, pero si o si te aseguro que llegaremos a verlas a detalle. Saludos desde Perú.
Otro excelente video... Perfecta explicación! Estoy totalmente de acuerdo que este canal está entre los mejores de DAX. Nuevamente gracias y felicitaciones por el crecimiento que has tenido. Saludos desde Uruguay!
Excelente, como siempre. Me he dado cuenta de que la parte que más me gusta es la que empieza por "¿por qué está funcionando, Julio?. Estoy deseando que llegues a la parte de "simulación" (what if), pero con el enfoque que sueles dar a tus ejemplos. Me imagino que será mucho más constructivo que "si incremento las ventas un 10%...". Muchísimas gracias.
jajaja muchas gracias José, esa parte también es la que más me gusta explicar. Si espero armar el tema de Parámetros What if pronto, pero creo que hay varios temas previos que debemos conocer antes. Saludos.
* 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
Hay casos donde esta función es muy útil, pero no se puede decir que TREATAS es la función más usada de todo DAX jeje, pero si es bueno aprenderlo. Saludos
Perefecta explicacion, como sugerencia es si puEde explicar la procedencia de los nombre de la funcion , es decir de donde provien la palabra de la funcion TREATAS
Gracias por tu comentario. mmm, en realidad no recomiendo guiarse del nombre de la función para entender lo que hace, puede provocar confusión. Un ejemplo clásico es la función ALL: Aunque su traducción es "Todo", en realidad lo que hace es QUITAR los filtros, no necesariamente retornar todos los elementos. Por ese motivo no utilizo ese enfoque. Saludos.
Excelente, solo debes corregir los nombres de la columna al aplicar al forzar el linaje. Me gustaria un video con sp con parametros dinamicos, es decir que se actualicen a demanda del usuario. Gracias
Hola Julio, de antemano darte las gracias por compartir tu conocimiento con nosotros . Eres un gran profesor y enseñas con una facilidad impresionante. Tengo una pregunta que me surge de esta clase, aparte de ADDCOLUMNS, Existen otras funciones que eliminen el linaje de datos de una tabla? Muchas gracias y saludos.
Hola David, muchas gracias por tus comentarios :) Hasta donde tengo entendido, la funciones UNION Y UNIONALL eliminan el linaje, siempre y cuando las columnas que se unen tengan linajes distintos. También, en el caso de INTERESCT, siempre se mantiene el linaje de la primera tabla, el de la segunda se pierde. Esas son las funciones que se me ocurren ahora, pero creo que hay algunos casos puntales más. Saludos.
En la parte de Presupuesto, en el caso de que estaba tabla tuviera por ejemplo en vez de ene-18 el valor 01/01/2018, de esta forma crees conveniente relacionarla con la dimension de fecha, y con la tabla de productos? Gracias.
Hola Julio! agradezco mucho tus videos, es solo que yo no sé nada de DAX y me está costando un poco seguirte, quizás tienes un curso o video en el que expliques DAX como básico o desde 0?
@@ivanaojeda9800 Ivana, como estás? Te entiendo, debo admitir que TreatAs es una función que debí haber lanzado en una etapa posterior del curso, al ser más avanzada. En unos días lanzare mi curso asíncronico en DAX, ahi desarrollaré todos los temas desde cero :) Saludos
Hola, una pregunta. Si en el capitulo de "Construccion de indicadores avanzados. Caso venta primer dia." Pongo en dax directamente la variable "resultado" sin poner la variable "productosyprimerfecha" es lo mismo, no?
Hola Axel gracias por tus comentarios. No. Porque la variable "resultado" hace referencia a la variable "productosyprimerafecha", si haces eso saldrá error. Pero creo que te refieres a colocar TODA la expresión de la variable "productosyprimerafecha", dentro de la variable "resultado". Si te refieres a eso, entonces si, es totalmente válido. Yo lo separo para que se pueda leer mejor el código, y me ayuda en temas de depuración. Saludos.
Gracias por la claridad. He encontrado que Treatas() conceptualmente no es que convierta la tabla externa o no conectada al linaje de la tabla destino del segundo argumento, sino que actua como un filtro de la columna destino que si tiene linaje y/o conexiones con las tablas de las que quiero obtener las medidas. Si hubiera un cambio de linaje se podría poner un valor arbitrario (por ejemplo un valor no existente en la tabla destino) a cualquier columna como si fuera un dato original, pero esto no ocurre. De manera que Treatas actua solo como un filtro. Es correcto?
Buenas noches, Julio En el video comentas que al utilizar ADDCOLUMNS y generar una nueva columna calculada se pierde el linaje de datos. ¿porque funciona esta formula ? o la perdida del linaje solo se aplica si es una tabla calculada y no si es una tabla virtual Monto Venta Primer Dia Producto = CALCULATE( [Monto de Venta]; ADDCOLUMNS( VALUES(fctVentas[ID_Producto]); "Primera Fecha" ; FIRSTDATE(fctVentas[Fecha Orden]) ) ) Muchas gracias
Hola Ivan. Que te sale cuando usas esa medida? Te debería salir el mismo valor que la medida original Monto de Venta, debido a lo que expliqué en el video. Saludos.
Buenos días Julio. Si no vi mal, me devuelve los datos del ejercicio, la suma del monto de la primera venta de cada uno de los productos. Como si no perdiera linaje Saludos
@@ivanmeseguer6621 justo hice la prueba y me sale el valor del monto normal, sin linaje. Si deseas me puede enviar por correo en pbix con tu resultado, pero veo que con ADDCOLUMNS si se pierde el valor. Saludos.
Hola Julio, excelente video una consulta, intente hacer el el TREATAS del caso presupuesto en sola función sin embargo observo que cada campo debe ser referenciado y para el caso del monto presupuesto no existe un simil, así que me quedo la duda de como se puede hacer en un solo comando, entiendo que igual la solución de tomar los campos por separados es la más viable y fácil de comprender, un saludo!
Hola John, muchas gracias por tus comentarios. Disculpa, no me queda 100% claro que te refieres con que no existe un simil en la tabla de presupuesto. Saludos.
Hola Julio, claro lo que quería hacer era aplicar el TREATAS como en los primeros ejemplos de tal forma que : TREATAS(fctPresupuesto,dimCalendario[Mes Año],,dimProducto[Categoria]) con el objetivo de no aplicar dos veces la función pero me retorno el mensaje que debe contener 3 referencias ya que la tabla de presupuesto contiene 3 campos y en este caso "Monto Presupuesto" no tiene un campo simil al que dar el linaje de datos y por eso la solución óptima es aplicar TREATAS dos veces para los dos campos en cuestión.
@@johnsantamaria260 Sigo sin tenerlo claro John, en realidad la función TREATAS si te permite hacer referencia a 3 campos (o al número de campos que desees). El monto presupuesto no es un campo al cual dar linaje, sino simplemente el indicador que deseas cuantificar. Saludos.
Hola Juan, gracias por tus comentarios. Creo que te refieres a que no estan en una misma columna, sino en varias columnas (una por cada mes). En este caso no es recomendable hacer una relación, sino transformar previamente los datos (anular dinamización de columnas), con Power Query.
Como sería el uso de Treatas en caso que quiera tener lo siguiente: (Color: Azul y Pais: Cualquiera) o (Color: Rojo y País: China) ? País Cualquiera significa que va a tomar lo que sea de Color Azul sin importar el páis dentro del contexto de filtro.
Hola Jorge, gracias por tus comentarios. Es una buena pregunta, lo que habría que hacer es crear una tabla virtual con las combinaciones de Color y Pais (podemos usar SUMMARIZE o CROSSJOIN). Luego a esta tabla virtual la filtramos según las condiciones que me comentas: (Color = Azul) || (Color = Rojo && Pais = China), y finalmente aplicamos esta tabla virtual al filtro de CALCULATE. Saludos.
Al hilo de otros comentarios que han aparecido: la parte de Power Query no me seduce demasiado. Quizá porque la sintaxis sea muy complicada para mí. Aunque viendo lo visto, no me sorprendería lo más mínimo que consiguieras hacer que hasta yo lo entendiese (no es que sea muy torpe, pero tampoco soy una lumbrera).
El paradigma es diferente (también la finalidad es muy distinta), pero la sintaxis "me mata" (lo más probable es que no he dado nadie como tú para tener una base suficiente para empezar)@@MenquisBI
Buenas tardes Julio, se que el tema es utilizar la funcion TREATAS pero consideras esta medida adecuada? Monto de Venta Filtro Temporada = CALCULATE( [Monto de Venta]; FILTER( SUMMARIZE(fctVentas;dimProducto[Color];dimCliente[Pais]); (dimProducto[Color]="Azul" && dimCliente[Pais]="United States") || (dimProducto[Color]="Rojo" && dimCliente[Pais]="Australia") ) ) Pongo como pais "Australia" ya que en los BIs descargados los únicos paises en la tabla dimClientes son "United States" y "Australia" no "China". Muchas gracias
Yo te puedo decir que agregas muchos comentarios que no vienen al caso, te preguntas y te contestas, en momentos nos regañas de algo que ya me enseñaste y la verdad es el segundo video que veo de tu canal. Te recomiendo ver a veas al profesor Alberto Ferrari.
Hola Telesforo, gracias por tus comentarios. Te agradezco los comentarios estimado. Para serte sincero he visto prácticamente todas una cada una de las clases del profesor Alberto Ferrari jeje, nunca me voy a cansar de decir que el y Marco Russo son los mejores docente de DAX. Habiendo dicho eso, yo he desarrollado mi propio estilo de enseñanza, y creo que a la gran mayoría de mis alumnos les gusta y les permite entender conceptos complejos con facilidad. No siempre va a ser el gusto de todos, pero eso es normal. Si quisieras darle una segunda oportunidad a mi contenido te recomendaría que vieras esta serie en orden, es decir desde el primero al ultimo video. Creo que así podrías sacarle el máximo provecho y todo estaría mucho mas claro. Saludos cordiales.
Queridos amigos, ya están disponibles las inscripciones nuestro CURSO DE DAX EN VIVO (Inicio: 19 OCTUBRE 2024):
Pueden registrarse a través de este link: menquisbi.com/e/especializacion-en-lenguaje-dax-edicion-iii-en-vivo
Para mayor información, puedes escribirnos por WhatsApp: wa.me/51908805175
Debo comentarte Julio, eres un profesor de una calidad espectacular, tienes una dosificación del contenido ⭐⭐⭐⭐⭐⭐, no hay nada igual en hispanohablantes. Mucha salud y éxitos en tu andar por este mundo.
Muchísimas gracias por tus palabras Fernando :').
Te mando un gran abrazo.
Saludos.
He visto muchos canales de PBI y puedo decir con seguridad que este está entre los 3 que mejor explica los conceptos, muchas gracias. Ojalá puedas hacer muchos mas videos y de power query tambien. Saludos!
Muchas gracias por tus comentarios :)
De todas maneras, el mundo de Power Query es muy interesante, también haremos un serie de videos sobre ese tema.
Saludo.
Completamente de acuerdo
Puedes, los otros dos, y si sabes alguien igual de bueno en python? 🥺
Buenas tardes. Soy cientifico de datos desde hace 10 años y solo puedo felicitarte por la calidad de la información que nos brindas. Ojalá cuando empecé a aprender DAXme hubiera encontrado con un curso de esta calidad y sobretodo la guia que brindas de como aprender, la importancia de los contextos, etc.
Te pediría que sigas con este curso y si puedes lo lleves al máximo nivel ya que es una joya para adquirir conocimientos y como fuente de consulta posterior.
Un abrazo y gran trabajo
Muchas gracias por tus buenos deseos Ivan :), me motivan a seguir mejorando la calidad de los videos.
Saludos.
Excelente video. La explicación fue super detallada. Hacia mucha falta un video con este nivel de contenido tan profundo. De los mejores canales dedicados a Power BI y DAX que he visto. No dejes de sacar mas videos.
Muchas gracias por el apoyo Sebastián.
Claro, ya estoy terminando de editar el nuevo video :), sale muy pronto.
Saludos.
Hola Julio! Muchas gracias por las explicaciones en este vídeo! 👏Pude entenderlas sin problema. Agradezco que uses muchos ejemplos y repitas los temas para entenderlos efectivamente. Hay temas de otros vídeos que no entendía y ahora viéndolos nuevamente se entiende mucho mejor! Muchas gracias! Saludos desde Buenos Aires! 🤓
Lucia!, mil gracias por tus gentiles palabras 🤗.
Me alegro mucho que el video te haya sido de utilidad.
Te mando un gran abrazo.
Excelente explicacion y recursos utilizados. Gracias por compartir
Muchas gracias por tu apoyo Raúl :)
Saludos.
Muy buena la explicación, muy didáctica. Felicidades Julio
Muchas gracias por tu apoyo Gonzalo :)
Saludos cordiales.
Que calidad para enseñar, con lo que muestras sobre lo que hace por fuera queda clarisimo las posibles aplicaciones.
Muchas gracias por tus comentarios Víctor :), me alegro que el video te sea de utilidad.
Saludos.
Darte las gracias, Julio,de lo mejor que he visto de PBI. Por favor sigue subiendo contenido.
Me alegro que el video te haya sido de utilidad estimado :)
Saludos cordiales y un abrazo
Chamo, por fin entendí lo del término Linaje, pensaba que treatas era para forzar una relacción con una tabla del modelo que tuviera el mismo contexto o dato, buena esa gracias, excelente explicación A1
Muchas gracias por el apoyo :), me alegro que te haya sido de utilidad.
Saludos.
Muchas gracias tu esfuerzo y por la explicación que nos brindas, es un gran aporte el que realizas y con contenido excelente. Uno de los mejores canales para explicación de DAX
Muchas gracias por tu apoyo Marc :).
Saludos
Definitivamente tus cursos son de otro nivel. Tenia un inconveniente con una tabla sin relación pero con esto creo que lo puedo solucionar. muchísimas gracias. Para sacarle el mayor provecho creo que me tocaría ver todos los vídeos una vez termine.
Muchas gracias por tus comentarios Juan Fernando :)
Me alegro que mi contenido te sea de utilidad
Saludos
Excelente video, una vez mas el mejor contenido de power bi. hace un tiempo tuve que usar treatas y fue una solucion. Muchos pensaran que es raro usarlas pero algunos modelos siempre están pidiendo cambios y agregar y quitar cosas más de alguna vez treatas es un buen as bajo la manga
Muchas gracias Pablo.
Totalmente de acuerdo, TREATAS, al ser una función nueva, también esta bastante bien optimizada, así que también es útil para optimizar código DAX.
De igual manera, veremos algunos ejemplos extra de TREATAS en el futuro, aún necesito introducir funciones adicionales.
Saludos
excelente contenido amigo Menquis BI, gracias esperamos mas videos
Muchas gracias Giancarlos :)
Saludos.
Tremenda Explicación una vez +..... gracias Julio...Gracias por la explicacion realmente a otro Nivel ... Mil Gracias
Muchas gracias por tus comentarios Walter :)
Saludos y un gran abrazo.
De nuevo muchas gracias por su tiempo
Excelente explicación como siempre. Muchas gracias por compartir tu conocimiento.
Por mi parte quisiera aprender a usar las funciones de inteligencia de tiempo y así poder calcular indicadores diferentes a los del año en curso, por ejemplo, la rotación del año anterior o la rotación de este año respecto al anterior o casos con indicadores como Sellout, ticket promedio, etc.
Gracias por tus comentarios Emerson.
De todas maneras, de la inteligencia de tiempo creo que ya se ha hablado bastante en otros canales, pero me gustaría brindar algunos detalles extra que les podrían ser de utilidad. Espero tener listo el material pronto :):
Saludos.
Hola muy buen día a todos los lectores en línea, perfecta esta información, muy didáctica como siempre, con respecto al termino de filtro de forma arbitraria mas diría un filtro caprichoso. una solicitud, me gustaria que nos explicara cuando su agenda y calendario lo permita la funcion WINDOW WINDOW ( from[, from_type], to[, to_type][, ][, ][, ][, ][, ] ) Le agradeceriaa. un saludo para todos sus seguidores aqui desde Garzón Colombia.
Hola Vicente, gracias por tus comentarios.
La funciones de ventana (o WINDOWS Functions en inglés), son definitivamente las funciones más complejas de todo DAX.
En realidad usarlas no es complicado, pero si entender exactamente el cálculo que realizan.
Para poder entenderlas hay varios temas previos que debemos conocer, pero si o si te aseguro que llegaremos a verlas a detalle.
Saludos desde Perú.
Otro excelente video... Perfecta explicación!
Estoy totalmente de acuerdo que este canal está entre los mejores de DAX. Nuevamente gracias y felicitaciones por el crecimiento que has tenido.
Saludos desde Uruguay!
Muchas gracias Pablo!
Un abrazo desde Perú.
Excelente, como siempre.
Me he dado cuenta de que la parte que más me gusta es la que empieza por "¿por qué está funcionando, Julio?.
Estoy deseando que llegues a la parte de "simulación" (what if), pero con el enfoque que sueles dar a tus ejemplos. Me imagino que será mucho más constructivo que "si incremento las ventas un 10%...".
Muchísimas gracias.
jajaja muchas gracias José, esa parte también es la que más me gusta explicar.
Si espero armar el tema de Parámetros What if pronto, pero creo que hay varios temas previos que debemos conocer antes.
Saludos.
Otra obra maestra....
Excelente videos, gracias por tu dedicación
Te lo agradezco mucho Arlex.
Saludos y un abrazo.
Yo utilizo esa función para mis Metas de venta diaria
Esa es una buena forma de darle uso practico a esa función Marco.
Saludos.
* 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
Alternativa con Transición
Monto Primer Dia Producto =
SUMX(
dimProducto;
CALCULATE([Monto de Venta];FIRSTDATE(fctVentas[Fecha Orden]))
)
Que crack, espero que siga sacando videos
genial esta función !! Gracias
Gracias Julio bien interesante esta funcion ,si te soy sincero no la conocia voy a marcar este video para mis consultas...saludos
Hay casos donde esta función es muy útil, pero no se puede decir que TREATAS es la función más usada de todo DAX jeje, pero si es bueno aprenderlo.
Saludos
Perefecta explicacion, como sugerencia es si puEde explicar la procedencia de los nombre de la funcion , es decir de donde provien la palabra de la funcion TREATAS
Gracias por tu comentario.
mmm, en realidad no recomiendo guiarse del nombre de la función para entender lo que hace, puede provocar confusión.
Un ejemplo clásico es la función ALL: Aunque su traducción es "Todo", en realidad lo que hace es QUITAR los filtros, no necesariamente retornar todos los elementos.
Por ese motivo no utilizo ese enfoque.
Saludos.
Excelente, solo debes corregir los nombres de la columna al aplicar al forzar el linaje. Me gustaria un video con sp con parametros dinamicos, es decir que se actualicen a demanda del usuario. Gracias
Gracias por tus comentarios Carlos :). Lo tomo en cuenta.
Saludos.
Hola Julio, de antemano darte las gracias por compartir tu conocimiento con nosotros . Eres un gran profesor y enseñas con una facilidad impresionante. Tengo una pregunta que me surge de esta clase, aparte de ADDCOLUMNS, Existen otras funciones que eliminen el linaje de datos de una tabla?
Muchas gracias y saludos.
Hola David, muchas gracias por tus comentarios :)
Hasta donde tengo entendido, la funciones UNION Y UNIONALL eliminan el linaje, siempre y cuando las columnas que se unen tengan linajes distintos.
También, en el caso de INTERESCT, siempre se mantiene el linaje de la primera tabla, el de la segunda se pierde.
Esas son las funciones que se me ocurren ahora, pero creo que hay algunos casos puntales más.
Saludos.
En la parte de Presupuesto, en el caso de que estaba tabla tuviera por ejemplo en vez de ene-18 el valor 01/01/2018, de esta forma crees conveniente relacionarla con la dimension de fecha, y con la tabla de productos? Gracias.
Hola Julio! agradezco mucho tus videos, es solo que yo no sé nada de DAX y me está costando un poco seguirte, quizás tienes un curso o video en el que expliques DAX como básico o desde 0?
@@ivanaojeda9800 Ivana, como estás?
Te entiendo, debo admitir que TreatAs es una función que debí haber lanzado en una etapa posterior del curso, al ser más avanzada.
En unos días lanzare mi curso asíncronico en DAX, ahi desarrollaré todos los temas desde cero :)
Saludos
@@MenquisBI genial voy a estar súper pendiente, muchas gracias!
Hola, una pregunta. Si en el capitulo de "Construccion de indicadores avanzados. Caso venta primer dia." Pongo en dax directamente la variable "resultado" sin poner la variable "productosyprimerfecha" es lo mismo, no?
Hola Axel gracias por tus comentarios.
No. Porque la variable "resultado" hace referencia a la variable "productosyprimerafecha", si haces eso saldrá error.
Pero creo que te refieres a colocar TODA la expresión de la variable "productosyprimerafecha", dentro de la variable "resultado". Si te refieres a eso, entonces si, es totalmente válido. Yo lo separo para que se pueda leer mejor el código, y me ayuda en temas de depuración.
Saludos.
Gracias por la claridad. He encontrado que Treatas() conceptualmente no es que convierta la tabla externa o no conectada al linaje de la tabla destino del segundo argumento, sino que actua como un filtro de la columna destino que si tiene linaje y/o conexiones con las tablas de las que quiero obtener las medidas. Si hubiera un cambio de linaje se podría poner un valor arbitrario (por ejemplo un valor no existente en la tabla destino) a cualquier columna como si fuera un dato original, pero esto no ocurre. De manera que Treatas actua solo como un filtro. Es correcto?
Gracias por tus comentarios Jorge.
Disculpa estimado, la verdad no me queda 100% clara tu observación.
Saludos
Buenas noches, Julio
En el video comentas que al utilizar ADDCOLUMNS y generar una nueva columna calculada se pierde el linaje de datos.
¿porque funciona esta formula ? o la perdida del linaje solo se aplica si es una tabla calculada y no si es una tabla virtual
Monto Venta Primer Dia Producto =
CALCULATE(
[Monto de Venta];
ADDCOLUMNS(
VALUES(fctVentas[ID_Producto]);
"Primera Fecha" ; FIRSTDATE(fctVentas[Fecha Orden])
)
)
Muchas gracias
Hola Ivan.
Que te sale cuando usas esa medida? Te debería salir el mismo valor que la medida original Monto de Venta, debido a lo que expliqué en el video.
Saludos.
Buenos días Julio. Si no vi mal, me devuelve los datos del ejercicio, la suma del monto de la primera venta de cada uno de los productos. Como si no perdiera linaje
Saludos
@@ivanmeseguer6621 justo hice la prueba y me sale el valor del monto normal, sin linaje. Si deseas me puede enviar por correo en pbix con tu resultado, pero veo que con ADDCOLUMNS si se pierde el valor.
Saludos.
Hola Julio, excelente video una consulta, intente hacer el el TREATAS del caso presupuesto en sola función sin embargo observo que cada campo debe ser referenciado y para el caso del monto presupuesto no existe un simil, así que me quedo la duda de como se puede hacer en un solo comando, entiendo que igual la solución de tomar los campos por separados es la más viable y fácil de comprender, un saludo!
Hola John, muchas gracias por tus comentarios.
Disculpa, no me queda 100% claro que te refieres con que no existe un simil en la tabla de presupuesto.
Saludos.
Hola Julio, claro lo que quería hacer era aplicar el TREATAS como en los primeros ejemplos de tal forma que : TREATAS(fctPresupuesto,dimCalendario[Mes Año],,dimProducto[Categoria]) con el objetivo de no aplicar dos veces la función pero me retorno el mensaje que debe contener 3 referencias ya que la tabla de presupuesto contiene 3 campos y en este caso "Monto Presupuesto" no tiene un campo simil al que dar el linaje de datos y por eso la solución óptima es aplicar TREATAS dos veces para los dos campos en cuestión.
@@johnsantamaria260 Sigo sin tenerlo claro John, en realidad la función TREATAS si te permite hacer referencia a 3 campos (o al número de campos que desees).
El monto presupuesto no es un campo al cual dar linaje, sino simplemente el indicador que deseas cuantificar.
Saludos.
Se podra crear una relacion de fechas con una tabla en donde los meses son encabezados de columnas (no estan todas en una misma fila)?
Hola Juan, gracias por tus comentarios.
Creo que te refieres a que no estan en una misma columna, sino en varias columnas (una por cada mes).
En este caso no es recomendable hacer una relación, sino transformar previamente los datos (anular dinamización de columnas), con Power Query.
Como sería el uso de Treatas en caso que quiera tener lo siguiente: (Color: Azul y Pais: Cualquiera) o (Color: Rojo y País: China) ? País Cualquiera significa que va a tomar lo que sea de Color Azul sin importar el páis dentro del contexto de filtro.
Hola Jorge, gracias por tus comentarios.
Es una buena pregunta, lo que habría que hacer es crear una tabla virtual con las combinaciones de Color y Pais (podemos usar SUMMARIZE o CROSSJOIN).
Luego a esta tabla virtual la filtramos según las condiciones que me comentas: (Color = Azul) || (Color = Rojo && Pais = China), y finalmente aplicamos esta tabla virtual al filtro de CALCULATE.
Saludos.
Esta funcion TREATAS funciona tambien en power pivot de excel?
Hola Juan Fernando.
Lamentablemente no, hay algunas funciones de DAX que no están en Power Pivot, el es caso de TREATAS.
Saludos.
Al hilo de otros comentarios que han aparecido: la parte de Power Query no me seduce demasiado. Quizá porque la sintaxis sea muy complicada para mí.
Aunque viendo lo visto, no me sorprendería lo más mínimo que consiguieras hacer que hasta yo lo entendiese (no es que sea muy torpe, pero tampoco soy una lumbrera).
Trataré de hacerlo lo mas entendible posible Jose :), es mi opinión M es mucho más fácil que DAX.
Saludos.
El paradigma es diferente (también la finalidad es muy distinta), pero la sintaxis "me mata" (lo más probable es que no he dado nadie como tú para tener una base suficiente para empezar)@@MenquisBI
Buenas tardes Julio, se que el tema es utilizar la funcion TREATAS pero consideras esta medida adecuada?
Monto de Venta Filtro Temporada =
CALCULATE(
[Monto de Venta];
FILTER(
SUMMARIZE(fctVentas;dimProducto[Color];dimCliente[Pais]);
(dimProducto[Color]="Azul" && dimCliente[Pais]="United States") ||
(dimProducto[Color]="Rojo" && dimCliente[Pais]="Australia")
)
)
Pongo como pais "Australia" ya que en los BIs descargados los únicos paises en la tabla dimClientes son "United States" y "Australia" no "China".
Muchas gracias
Es correcto, pero ahí es código fijo, en lugar de usar una tabla que te brinden con el filtro.
Saludos.
Gracias, Julio
Por que en el ejemplo de filtro de forma arbitraria te sale 196 para Mar-18 ? , por que aplicando filtro de color y pais sale 626 en realidad 🤔
Gracias por tus comentarios estimado.
Disculpa, no me queda clara tu consulta, podrías mayor detalle del caso y del minuto del video?
Saludos
Yo te puedo decir que agregas muchos comentarios que no vienen al caso, te preguntas y te contestas, en momentos nos regañas de algo que ya me enseñaste y la verdad es el segundo video que veo de tu canal. Te recomiendo ver a veas al profesor Alberto Ferrari.
Hola Telesforo, gracias por tus comentarios.
Te agradezco los comentarios estimado. Para serte sincero he visto prácticamente todas una cada una de las clases del profesor Alberto Ferrari jeje, nunca me voy a cansar de decir que el y Marco Russo son los mejores docente de DAX.
Habiendo dicho eso, yo he desarrollado mi propio estilo de enseñanza, y creo que a la gran mayoría de mis alumnos les gusta y les permite entender conceptos complejos con facilidad.
No siempre va a ser el gusto de todos, pero eso es normal. Si quisieras darle una segunda oportunidad a mi contenido te recomendaría que vieras esta serie en orden, es decir desde el primero al ultimo video. Creo que así podrías sacarle el máximo provecho y todo estaría mucho mas claro.
Saludos cordiales.