Brother tus videos son muy buenos, ojalá puedas subir más funciones dax, eres el único que he encontrado que se asemeja más los casos prácticos a lo cotidiano.
@hermelindadehinestroza17082 жыл бұрын
Para valores mayores a 200 aplica el descuento del 10 %. Por ejemplo en la fila 41 al calcular el descuento al Total 306 da como resultado 275,4 cuando el resultado correcto es 229,5, debido a que aplica el descuento del 10 % de la instrucción anterior y no del 25%; Una forma de evitar esto es mover este argumento a la segunda fila, o sea debajo de Ventas[Total]
@IvanCortinas_ES4 жыл бұрын
Buen vídeo. Muy parecido a la función ELEGIR en Excel. Gracias por la información Víctor.
@cegonzalezd2 жыл бұрын
Hola aquí el operador lógico me parece que no es "OR" si no "AND" porque si no a los mayores de 200 igual les va aplicar el 10% de descuento. En todo caso gracias por el video. Super.
@ismaelguzman93342 жыл бұрын
Justo pensé en eso, que tiene que ser AND, sino la prueba va a considerar todos los mayores de 100 aunque se pasen de 200 y similar para menores de 200.
@davidperez4384 жыл бұрын
Hola deseo por favor me comenten porqué el uso de la función TRUE() en este caso.
@IvanCortinas_ES4 жыл бұрын
Pongo aquí la solución correcta a tu enunciado... =SWITCH(TRUE(); Ventas[Total]
@joseanicetor12334 жыл бұрын
Si, es correcta la formula.
@Efsinon4 жыл бұрын
Porqué se usa el True y porque no se usa el if en vez del Switch?
@IvanCortinas_ES4 жыл бұрын
@@Efsinon Digamos que no es un caso muy pedagógico. A veces se pueden buscar opciones mejores que la anidación de funciones. La función SWITCH permite evaluar una expresión y nos devuelve un resultado u otro con base en el valor resultante de entre una lista de opciones. SWITCH(Expresión, Valor1, Resultado1, Valor2, Resultado2, …,[Else]) Expresión es cualquier expresión DAX que devuelve un único valor escalar, donde la expresión se va a evaluar varias veces (para cada fila o contexto) valor, es un valor constante con el que van a coincidir los resultados de Expresión. resultado1, es cualquier expresión escalar que se evaluará si los resultados de Expresión coinciden con el argumento value correspondiente. Else, es cualquier expresión escalar que se evaluará si el resultado de Expresión no coincide con ninguno de los argumentos de valor. Es un campo optativo. Devuelve resultados diferentes en función del valor de una expresión Evalúa una expresión en una lista de valores y devuelve una de varias expresiones de resultado posibles. Un ejemplo típico también puede ser crear una columna calculada de nombres de meses: =SWITCH([Month], 1, "January", 2, "February", 3, "March", 4, "April" , 5, "May", 6, "June", 7, "July", 8, "August" , 9, "September", 10, "October", 11, "November", 12, "December" , "Unknown month number" ) Si has tocado Excel digamos que es algo parecido a la función ELEGIR. Espero haber aclarado algo el concepto.
@Efsinon4 жыл бұрын
@@IvanCortinas_ES Muchas gracias amigo, todo quedó super claro
@alfonsorodriguezsandias81424 жыл бұрын
Hola, esta solución es la más "limpia" y la alternativa sería no con la función OR sino con la función AND
@eduardotucto89473 жыл бұрын
Según mi punto de vista para el segundo caso es más fácil usar condicionales IF, entonces quería así: =IF(Ventas[Total]>200;Ventas[Total]*.75; IF(Ventas[Total]>100;Ventas[Total]*.9; Ventas[Total]))
@jaimemartibez38903 жыл бұрын
el video esta explicando que tambien se puede usar la funcion switch pero igual sale con funcion if ,es como mejor se acomode el uso de ellas
@felipesantana14673 жыл бұрын
Ya vi cual es el error en vez de usar OR se debe utilizar AND puesto que hay dos cantidades a evaluar y se deben de cumplir las dos asi que con el OR con una que se cumpla la toma como verdadera. Saludos
@daviddiazlopez754 жыл бұрын
Muy bueno ¡ sin duda reduce la complejidad de las formulas anteriores cuando se necesitan varios condicionantes en una formula.
@luismiguelrosalesroldan9024 жыл бұрын
Q tal Victor si quisiera hacer esto mismo asignar una tasa o descuento por rangos pero cruzándolo o relacionandolo contra una tabla q tuviera los descuentos se puede?
@matiasrueda4 жыл бұрын
Consulta cuando haces el segundo calculo de precio por importe, no es innecesario la función TRUE? Ya que podias poner directamente Switch( OR(Ventas[tota]100&Ventas[total]200,Ventas[Total]* 0,75) Desde ya muchas gracias.
@auditionmusicfree19714 жыл бұрын
podrias hacerlo pero lo ideal es seguir la sintaxis
@dustinrodriguezmorales59744 жыл бұрын
Buenas, todos tus videos son excelentes. tengo una consulta. Puedo en dax armar un calculo entre tiempo que sea dinamico, es decir, te explico la problematica mejor. Mensualmente tengo que realizar un reporte de SLAs (en español ANS ) el problema es que este calculo se hace desde el dia 13 del MES A hasta el dia 12 del MES B. esto debe hacerse mensualmente teniendo en cuenta el periodo anterior. lo que hago cn power Query es ir anexando los archivos nuevos de cada mes y calcular medidas con esta formula: :=CALCULATE(SUM(' ANS'[Recibidas]);DATESBETWEEN('ANS'[Fecha];DATE(2019;12;13);DATE(2020;01;12))) Lo que quiero hacer es que cuando actualice mi archivo mensual se calcule solo sin tener que crear la medida mes a mes. como podria hacer esto? no importa que sea medida o columna pero que yo arme una tabla dinámica que automáticamente vaya calculando ese periodo.
@felipesantana14673 жыл бұрын
Buenas tardes, la opción de cuando es mayor a 200 el total de ventas, si yo mutiplico 306 * 0.75 me da 229.50 y en la formula da 275.40 donde está mi error? GRACCIAS
@gustavopineda79332 жыл бұрын
1000 Likes
@METN2 жыл бұрын
Gracias amigo espero que KZbin los valide jejeje un abrazo gracias por el apoyo
@xerb143 жыл бұрын
Ninguna de las opciones SWITCH TRUE que han colocado en los comentarios (o la del video) me han funcionado. He realizado varias combinaciones y valores pero me sigue saliendo el error "El numero Maximo de argumentos es de 2". Por ahora es la unica operaciones de los videos que me ha presentado problemas
@hermelindadehinestroza17082 жыл бұрын
La otra forma es usar AND en lugar de OR.
@gonzaloescalona1968 Жыл бұрын
Creo que la forma correcta es colocar AND en lugar de OR. Se tienen que cumplir las dos condiciones >100 y
@erwinescobar2 жыл бұрын
No entiendo que sucede con mi fórmula. Cuando la corro me da un error que dice: "Se ha alcanzado el final de la entrada. La columna calculada Ventas[Precio por importe] contiene un error de sintaxis" Alguien podría indicarme cuál podría ser el error?
@IvanCortinas_ES4 жыл бұрын
Me resulta curioso para el segundo caso que aplicando la fórmula... =SWITCH(TRUE(); Ventas[Total]100;Ventas[Total]200;Ventas[Total]*0,75) Para el valor exacto de 100 se aplica un descuento del 10%. En realidad parece que el valor de 100 nunca lo estás evaluando, no?
@katherinpaiva22984 жыл бұрын
No, para el valor ventas
@hermelindadehinestroza17082 жыл бұрын
Se debe indicar
@IvanCortinas_ES4 жыл бұрын
De hecho lo tienes mal planteado, puesto que aplicas una OR y para unas ventas de 336 te devuelve el 10% cuando debía ser un 25%. Está mal construido. La función se introduce por el segundo caso y debiera introducirse por el último.
@limon666984 жыл бұрын
Si lo mismo note, y de hecho iba a comentar lo mismo, muy buena observación crack
@joanmasgrau4 жыл бұрын
En la columna precio por informe me da el error: "Se han pasado demasiados argumentos a la función OR. El número máximo de argumentos para la función es 2."
@Compexcel4 жыл бұрын
La función OR de DAX acepta solo dos (2) argumentos. Si necesita realizar una operación OR en varias expresiones, puede crear una serie de cálculos o, mejor, usar el operador OR ( || ) para combinarlas en una expresión más sencilla. para la fx And usa &&, ya que un solo & es concatenar
@manuelfuentes67833 жыл бұрын
=SWITCH(TRUE();Partidos[attendance]2000 ;Partidos[attendance]40000;"Alta") utilice su funcion pero la delimitante 3 para valores mayores de 40,000 nunca me la valida
@pedro_navarro3 жыл бұрын
Reemplaza los puntos y coma por comas y cambia 2000 por 20000: =SWITCH(TRUE(),Partidos[attendance]20000,Partidos[attendance]40000,"Alta")
@trinirios69694 жыл бұрын
En el monto de 306 solo aplicó el 10%y no el 25%
@rogersanz4 жыл бұрын
creo que debió ser AND para que sea entre 100 y 200, no OR