Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hola, Por favor, ayuda con el siguiente desafío:
Tarea: Quiero crear una columna en una tabla personalizada (mes 1 a 24) que debe tomar valores de un parámetro What-IF. Cualquier cambio en el valor de la segmentación de parámetros debe reflejarse en esa columna.
Desafío: Pude crear una columna, pero siempre toma el valor 'predeterminado' del parámetro (que definí como 2.000). Si cambio el valor en la segmentación de Paramter, la columna no elige el nuevo valor. Y la suma de los valores de columna también sigue siendo la misma (es decir, la suma de 24 veces 2.000 a 48.000).
Proceso: Este es el proceso paso a paso que seguí:
PASO 1: Creé una tabla "MyTable" con 2 columnas, Sr y Month (24 filas).
PASO 2: He creado un parámetro What-If "MyFees" con un valor predeterminado de 2.000.
PASO 3: Agregué una nueva columna a MyTable mediante la siguiente instrucción:
MyTotalFees á MyFees [Valor de MyFees]
Quería que esta nueva columna "MyTotalFees" tomara valores de Parameter (creado en el paso 2).
Pero sólo toma el valor 'predeterminado' de Paramter, que era 2.000.
PASO 4: Creé los objetos visuales para la verificación y me di cuenta de que la nueva columna (MyTotalFees) solo toma el valor predeterminado (2.000) incluso si cambio la segmentación de parámetros a cualquier otro valor (como, 1.000)... Y, por lo tanto, la suma de los valores de columna también permanece estática (es decir, 24 x 2.000 x 48.000).
Por favor, ayúdeme a crear esta tabla que debe tomar valores de un parámetro (cortador) dinámicamente.
He adjuntado las capturas de pantalla del PASO 1 al 4 también como referencia.
Gracias.
Imágenes:
Solved! Go to Solution.
Hola @abdulmannan1991 ,
Sí, como se mencionó @nandukrishnavs, la segmentación de datos no puede cambiar la columna calculada dinámicamente, por lo que necesita usar la medida para lograr este objetivo, podría intentar medir a continuación
total = IF(HASONEVALUE('Month table'[MONTH NAME]), SUM('MONTH'[MONTH]), SUM('MONTH'[MONTH])*24)
Saludos
Zoe Zhi
Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @abdulmannan1991 ,
Sí, como se mencionó @nandukrishnavs, la segmentación de datos no puede cambiar la columna calculada dinámicamente, por lo que necesita usar la medida para lograr este objetivo, podría intentar medir a continuación
total = IF(HASONEVALUE('Month table'[MONTH NAME]), SUM('MONTH'[MONTH]), SUM('MONTH'[MONTH])*24)
Saludos
Zoe Zhi
Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @dax
Gracias, el DAX funcionó!!
¿Puede ayudarme un poco más en la consecución del objetivo - como se describe a continuación:
He creado una tabla (MyTable) con 2 columnas, como se indica a continuación:
Número de mes | Mes |
1 | Mes 1 |
2 | Mes 2 |
3 | Mes 3 |
4 | Mes 4 |
He creado un parámetro What-IF (slicer) para seleccionar el valor de gasto anual.
Luego, creé la siguiente medida para calcular el gasto mensual y para mostrar la suma total:
Monthly Spend = IF(HASONEVALUE(MyTable[Month]), SUM('Annual Spend'[Annual Spend])/12, (SUM('Annual Spend'[Annual Spend])/12)*MAX(MyTable[Month Number]))
De hecho, necesito aplicar un porcentaje de ahorro a cada mes por separado, y luego calcular los ahorros por mes y la suma de ahorros totales, así que creé 4 parámetros What-IF (rebanadas) para la selección de % de ahorro mensual. Y luego creé la siguiente medida para calcular el ahorro mensual y la suma de los ahorros totales:
Total Savings =
IF(SUM(MyTable[Month Number])<=1, [Monthly Spend] * 'Savings % (Month 1)'[Savings % (Month 1) Value],
IF(SUM(MyTable[Month Number])<=2, [Monthly Spend] * 'Savings % (Month 2)'[Savings % (Month 2) Value],
IF(SUM(MyTable[Month Number])<=3, [Monthly Spend] * 'Savings % (Month 3)'[Savings % (Month 3) Value],
IF(SUM(MyTable[Month Number])<=4, [Monthly Spend] * 'Savings % (Month 4)'[Savings % (Month 4) Value],
([Monthly Spend] * ('Savings % (Month 1)'[Savings % (Month 1) Value] + 'Savings % (Month 2)'[Savings % (Month 2) Value] + 'Savings % (Month 3)'[Savings % (Month 3) Value] + 'Savings % (Month 4)'[Savings % (Month 4) Value]))
))))
La medida anterior me da valores correctos para los ahorros mensuales, pero no da la suma total correcta!! Sé que el DAX es incorrecto en la declaración ELSE, pero no sé la respuesta correcta. Puede ser que la declaración elSE es incorrecta, o todo mi DAX o Proceso es incorrecto para el cálculo de la suma mensual de los ahorros y la suma total!!
Por favor, ¿puede ayudar con el DAX correcto? O puede ser sugerir una alternativa para todo el DAX / Medida / Proceso, etc.
Como referencia, el archivo base está disponible en el enlace de dropbox que se indica a continuación.
https://www.dropbox.com/t/US9uDK9V6srQCJwo
Se adjunta una instantánea del Pbix.
Por ejemplo, para el número de mes hasta 3 y el gasto anual de 1.200.000, y el porcentaje de ahorro para el mes 1, 2 y 3 siendo 20%, 10% y 5% respectivamente, los ahorros por mes (en la tabla) son correctos, es decir, 20.000, 10.000 y 5.000... Sin embargo, la suma total sale a ser 108.000 que es incorrecta (y lo ideal es ser 20.000 + 10.000 + 5.000 a 35.000).
Gracias.
@abdulmannan1991: no podemos crear una columna calculada dinámica basada en el parámetro what-if. En su lugar, le recomendaría que cree una medida.
Consulte este enlacehttps://community.powerbi.com/t5/Desktop/Calculated-Column-Table-Change-Dynamically-According-to-Sli...
¿Respondí a tu pregunta? ¡Marca mi puesto como solución!
Apreciar con un kudos🙂
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |