Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
xliu1
Helper II
Helper II

Cálculo de suma condicional basado en dos filtros

Intento crear una nueva medida que haga la suma basada en dos condiciones: COURSE_FTE_SCH es el nombre de la tabla, [Term],[Course_Level] y [Fundable_SCH ]son las columnas dentro de esta tabla. ¿Cómo podría combinar estas condiciones en una fórmula dax? ¡Gracias!


Si COURSE_FTE_SCH [Term] en "Primavera","Fall" y COURSE_FTE_SCH[Course_Level] en "UG inferior", "UG superior" y luego

FTE - CALCULATE(SUM(COURSE_FTE_SCH[Fundable_SCH])/15)*0.375

Si COURSE_FTE_SCH [Término] en "Primavera", "Otoño" y COURSE_FTE_SCH[Course_Level] en "Graduate" y luego

FTE - CALCULATE(SUM(COURSE_FTE_SCH[Fundable_SCH])/12)*0.375

Si COURSE_FTE_SCH [Term] en "Verano" y COURSE_FTE_SCH[Course_Level] en "UG inferior", "UG superior" y luego

FTE - CALCULATE(SUM(COURSE_FTE_SCH[Fundable_SCH])/10)*0.25

Si COURSE_FTE_SCH [Término] en "Verano" y COURSE_FTE_SCH[Course_Level] en "Graduate" y luego

FTE - CALCULATE(SUM(COURSE_FTE_SCH[Fundable_SCH])/8)*0.25
20 REPLIES 20
AllisonKennedy
Super User
Super User

@xliu1
¿Cuál es exactamente el resultado deseado que desea? ¿Puedes dibujarlo y adjuntar la foto, por favor?

Te estás acercando a la ayuda que te han proporcionado, pero te ayudará a entender lo que significa realmente el DAX, por qué necesitas usar SELECTEDVALUE, etc.

La forma en que funciona la función SELECTEDVALUE, tomemos por ejemplo:
SelectedValueDemo - SELECTEDVALUE(COURSE_FTE_SCH[Term], "Por favor, seleccione un término")

En primer lugar, busque en la columna que proporcione como primer argumento.
En nuestro ejemplo anterior, se trata de la columna [Term]. Si solo hay 1 valor seleccionado (es decir, Spring) en esa columna, se devuelve ese valor. Si hay más de 1 valor (es decir, primavera, otoño, invierno, verano como se obtendría si no compila la matriz para usar el término y no tiene ningún filtro/ segmentador para el término), se devolverá el segundo argumento.
En nuestro ejemplo anterior, el segundo argumento proporciona instrucciones al visor de informes para seleccionar un Term de la segmentación de datos (tendría que agregar esta segmentación de datos como generador de informes). En los ejemplos de DAX que se le han dado, no hay ningún segundo argumento, por lo que se devuelve blank.
@Ibenlin solución de la @Ibenlin debería funcionar mejor como un COLUMN calculado, porque en las columnas tenemos el contexto de fila del COURSE_FTE_SCH y sabemos qué valor [Term] usar. En una medida, podemos usar SUMX(COURSE_FTE_SCH, COURSE_FTE_SCH[Fundable_SCH]) para agregar ese contexto de fila para determinar qué fila comprobar para los niveles de término y curso.

Por lo tanto, podemos actualizar la solución proporcionada por @Ibendlin para:

FTE - SWITCH(TRUE(), SELECTEDVALUE(COURSE_FTE_SCH[Term]) en "Primavera","Fall" && SELECTEDVALUE(COURSE_FTE_SCH[Course_Level]) en "UG inferior","Ug superior",CALCULATE(SUM(COURSE_FTE_SCH[Fundable_SCH])/15)*0.375,
SELECTEDVALUE(COURSE_FTE_SCH[Term]) en "Primavera","Otoño" && SELECTEDVALUE(COURSE_FTE_SCH[Course_Level]) en "Graduate",
CALCULATE(SUM(COURSE_FTE_SCH[Fundable_SCH])/12)*0.375,
SELECTEDVALUE(COURSE_FTE_SCH[Term]) en "Verano" && SELECTEDVALUE(COURSE_FTE_SCH[Course_Level]) en "UG inferior", "Ug superior",
CALCULATE(SUM(COURSE_FTE_SCH[Fundable_SCH])/10)*0.25,
SELECTEDVALUE(COURSE_FTE_SCH[Term]) en "Verano" && SELECTEDVALUE(COURSE_FTE_SCH[Course_Level]) en "Graduate",
CALCULATE(SUM(COURSE_FTE_SCH[Fundable_SCH])/8)*0.25 )

Please @mention me in your reply if you want a response.

Copying DAX from this post? Click here for a hack to quickly replace it with your own table names

Has this post solved your problem? Please Accept as Solution so that others can find it quickly and to let the community know your problem has been solved.
If you found this post helpful, please give Kudos C

I work as a Microsoft trainer and consultant, specialising in Power BI and Power Query.
www.excelwithallison.com

Hola @AllisonKennedy gracias por su explicación. Esto me ayuda a entender cómo funciona la fórmula. Tu fórmula funciona. pero cuando uso la visualización de matriz con Modalidad en filas, TERMID en columnas y FTE en Valores, tengo los resultados en blanco como se muestra a continuación. Tengo el filtro Term en esta página.

xliu1_0-1597587774084.png

Lo que quiero lograr es una tabla de matriz como esta. 201508/201608... son los TERMID agrupados bajo la columna "Término" que incluye Primavera, Otoño, Verano.

xliu1_1-1597587828549.png

@xliu1
¿Puede pegar una tabla de datos de ejemplo aquí o cargar un archivo pbix de muestra en onedrive para que podamos ver cuáles son todas sus columnas con datos de ejemplo para que sepamos los tipos de datos y las restricciones con las que necesita trabajar?
También debe tener solo 1 valor para el nivel del curso, y no estoy seguro de que el TermID y la modalidad le proporcionarán esto.

Please @mention me in your reply if you want a response.

Copying DAX from this post? Click here for a hack to quickly replace it with your own table names

Has this post solved your problem? Please Accept as Solution so that others can find it quickly and to let the community know your problem has been solved.
If you found this post helpful, please give Kudos C

I work as a Microsoft trainer and consultant, specialising in Power BI and Power Query.
www.excelwithallison.com

Gracias @AllisonKennedy ! Seguí su consejo y puse Course_Level en Filas, TERMID en Columnas, FTE en Valores. Soy capaz de obtener una visualización de matriz como esta

xliu1_0-1597631533518.png

Lo que quiero hacer es una visualización de matriz como la siguiente: con Modalidad en filas, TERMID en columnas, FTE en valores. Tengo Term, Campus, College, etc. en los filtros para que el FTE cambie dinámicamente cuando hago clic en diferentes filtros. ¿Cómo debo modificar la fórmula?

xliu1_1-1597631589260.png

Aquí hay una captura de pantalla de mi conjunto de datos. ¡Gracias!

xliu1_2-1597631968544.pngxliu1_3-1597632005849.png

Hola @xliu1 ,

Cree segmentaciones de datos para Term, Campus, College, etc. en lugar de usar filtros.

Es mejor compartir datos de muestra como tablas en lugar de imágenes.

Saludos

Jay

Community Support Team _ Jay
If this post helps, then please consider Accept it as the solution
to help the other members find it.

Gracias por su sugerencia. No veo una opción para cargar el archivo aquí. Y mi lugar de trabajo no permite compartir archivos usando una unidad o Dropbox, etc. ¿Hay otras opciones disponibles para que los nuevos miembros compartan el archivo? Gracias.

pranit828
Community Champion
Community Champion

Hola @xliu1

Usaría la siguiente fórmula y la trazaría en el gráfico de matriz con filas como Term y Course level.

FTE = CALCULATE(SUM(COURSE_FTE_SCH[Fundable_SCH]) * if(COURSE_FTE_SCH[Course_Level] ="Graduate",0.03125,0.025), ALLEXCEPT(COURSE_FTE_SCH,COURSE_FTE_SCH[Term],COURSE_FTE_SCH[Course_Level]))

¿Resolví tu problema? ¡Marca mi puesto como una solución!

Apreciamos sus Felicitaciones, Pulse el botón pulgares hacia arriba !!

saludos
Pranit





PBI_SuperUser_Rank@1x.png


Hope it resolves your issue? 
Did I answer your question? Mark my post as a solution!

Appreciate your Kudos, Press the thumbs up button!!
Linkedin Profile

Hola @pranit828, gracias por su pronta respuesta. Probé tu fórmula y recibí este mensaje de error.

xliu1_0-1597546101231.png

pranit828
Community Champion
Community Champion

Hola @xliu1

FTE = CALCULATE(SUM(SELECTEDVALUE(COURSE_FTE_SCH[Fundable_SCH])) * if(SELECTEDVALUE(COURSE_FTE_SCH[Course_Level]) ="Graduate",0.03125,0.025), ALLEXCEPT(COURSE_FTE_SCH,COURSE_FTE_SCH[Term],COURSE_FTE_SCH[Course_Level]))

Si obtiene más error, agregue la función SELECTEDVALUE como he añadido para el error anterior.

¿Resolví tu problema? ¡Marca mi puesto como una solución!

Apreciamos sus Felicitaciones, Pulse el botón pulgares hacia arriba !!

saludos
Pranit





PBI_SuperUser_Rank@1x.png


Hope it resolves your issue? 
Did I answer your question? Mark my post as a solution!

Appreciate your Kudos, Press the thumbs up button!!
Linkedin Profile

Hola @pranit828 copio / pego su fórmula, pero todavía obtener este mensaje de error

xliu1_0-1597549545877.png

pranit828
Community Champion
Community Champion

Hola @xliu1

Lo modificaría para

FTE = CALCULATE(SUMX(SELECTEDVALUE(COURSE_FTE_SCH[Fundable_SCH])) * if(SELECTEDVALUE(COURSE_FTE_SCH[Course_Level]) ="Graduate",0.03125,0.025), ALLEXCEPT(COURSE_FTE_SCH,COURSE_FTE_SCH[Term],COURSE_FTE_SCH[Course_Level]))

Avísame si aún tienes algún error.

¿Esperamos que esto resuelva su problema? ¡Marca mi puesto como una solución!

Apreciamos sus Felicitaciones, Pulse el botón pulgares hacia arriba !!

saludos
Pranit





PBI_SuperUser_Rank@1x.png


Hope it resolves your issue? 
Did I answer your question? Mark my post as a solution!

Appreciate your Kudos, Press the thumbs up button!!
Linkedin Profile

Gracias @pranit828, probé la función SUMX como lo hizo, pero este es el mensaje de error

xliu1_0-1597550129705.png

pranit828
Community Champion
Community Champion

Hola @xliu1

Lo modificaría para

FTE = CALCULATE(SUMX(COURSE_FTE_SCH,SELECTEDVALUE(COURSE_FTE_SCH[Fundable_SCH])) * if(SELECTEDVALUE(COURSE_FTE_SCH[Course_Level]) ="Graduate",0.03125,0.025), ALLEXCEPT(COURSE_FTE_SCH,COURSE_FTE_SCH[Term],COURSE_FTE_SCH[Course_Level]))

O

FTE = CALCULATE(SUMX(COURSE_FTE_SCH,COURSE_FTE_SCH[Fundable_SCH]) * if(COURSE_FTE_SCH[Course_Level] ="Graduate",0.03125,0.025), ALLEXCEPT(COURSE_FTE_SCH,COURSE_FTE_SCH[Term],COURSE_FTE_SCH[Course_Level]))

Si esto no funciona, intentaría una vez con la eliminación de la función SELECTEDVALUE uno por uno.

Puede ser una mejor idea para responder con el . PBIX si se requiere más depuración.

¿Esperamos que esto resuelva su problema? ¡Marca mi puesto como una solución!

Estoy tratando de ayudarte. Apreciamos sus Felicitaciones, Pulse el botón pulgares hacia arriba !! 👍

saludos
Pranit





PBI_SuperUser_Rank@1x.png


Hope it resolves your issue? 
Did I answer your question? Mark my post as a solution!

Appreciate your Kudos, Press the thumbs up button!!
Linkedin Profile

Hola @pranit828 muchas gracias por ayudarme a solucionar este problema. La sintaxis de la fórmula funciona bien esta vez. Sin embargo, cuando lo arrastro a la visualización, no funciona como esperaba.

xliu1_0-1597551716681.png

Quiero hacer un cálculo de FTE por término y modalidad. Tengo un ejemplo de tabla de matriz "FTE por modalidad de instrucción." No estoy seguro de cómo puedo adjuntar el archivo pbix a este blog.

xliu1_1-1597551755460.png

pranit828
Community Champion
Community Champion

Hola @xliu1

FTE = CALCULATE(SUMX(COURSE_FTE_SCH,COURSE_FTE_SCH[Fundable_SCH]) * if(COURSE_FTE_SCH[Course_Level] ="Graduate",0.03125,0.025), ALLEXCEPT(COURSE_FTE_SCH,COURSE_FTE_SCH[Term],COURSE_FTE_SCH[modality]))

En la fórmula he cambiado la sección de la función ALLEXCEPT como se ha indicado anteriormente para calcular por modalidad en su lugar.

ALLEXCEPT(COURSE_FTE_SCH,COURSE_FTE_SCH[Term],COURSE_FTE_SCH[modalidad])

Para algunos miembros nuevos de la comunidad, no tienen permiso para cargar archivos .pbix. Es posible que deba compartir enlaces de archivos a través de DropBox, One Drive, Drive o cualquier otra herramienta.





PBI_SuperUser_Rank@1x.png


Hope it resolves your issue? 
Did I answer your question? Mark my post as a solution!

Appreciate your Kudos, Press the thumbs up button!!
Linkedin Profile

Gracias por tu ayuda. 👍

pranit828
Community Champion
Community Champion

Hola @xliu1

¿Funcionó mi solución?





PBI_SuperUser_Rank@1x.png


Hope it resolves your issue? 
Did I answer your question? Mark my post as a solution!

Appreciate your Kudos, Press the thumbs up button!!
Linkedin Profile

Hola @pranit828 , no. Todavía estoy pensando por qué funciona su fórmula, pero cuando lo puse a Valores devolvió resultados en blanco.

xliu1_0-1597588807372.png

Tengo una visualización de matriz con TERMID en filas, modalidad en columnas y FTE en valores. Tengo Term como archivador en esta página. 201508/201608... son TERMIDs agrupados en Término que incluye Primavera, Verano, Otoño. lo que me gusta lograr es algo así como esta tabla de matriz

xliu1_1-1597588848532.png

lbendlin
Super User
Super User

algo así. Tenga en cuenta que le falta la opción "o de lo contrario".

FTE = SWITCH(TRUE(), COURSE_FTE_SCH[Term] in {"Spring","Fall"} && COURSE_FTE_SCH[Course_Level] in {"Lower UG","Upper UG"},CALCULATE(SUM(COURSE_FTE_SCH[Fundable_SCH])/15)*0.375,
COURSE_FTE_SCH[Term] in {"Spring","Fall"} && COURSE_FTE_SCH[Course_Level] in {"Graduate"},
CALCULATE(SUM(COURSE_FTE_SCH[Fundable_SCH])/12)*0.375,
COURSE_FTE_SCH[Term] in {"Summer"} && COURSE_FTE_SCH[Course_Level] in {"Lower UG","Upper UG"},
CALCULATE(SUM(COURSE_FTE_SCH[Fundable_SCH])/10)*0.25,
COURSE_FTE_SCH[Term] in {"Summer"} && COURSE_FTE_SCH[Course_Level] in {"Graduate"},
CALCULATE(SUM(COURSE_FTE_SCH[Fundable_SCH])/8)*0.25 )

Hola @lbendlin gracias por su respuesta. Probé su fórmula y recibí este mensaje de error: ¿Alguna idea de lo que está mal? Gracias

xliu1_0-1597546930701.png

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors