The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
normalmente, los datos incluyen el índice de choque 1-17.
Sin embargo, los datos relativos a las reclamaciones sólo incluían el índice de choque 17; Falta el índice de choque 1-16.
Para las notificaciones, quiero establecer el índice de choque faltante1-16 en el valor del índice de choque 17. Cuando intenté configurar el índice de choque 1 usando esto, no funciona
" [measure_Strategy] = 2 && [Índice de choque] = 1, claims_base"
Sin embargo, cuando uso un número como 80, funcionó.
" [measure_Strategy] = 2 && [Índice de choque] = 1, 80"
Aquí están mis DAX completos:
------------------------------
Base VAR =
CALCULAR (
SUMX (
«Tabla»,
'Tabla'[final_value]
),
'Tabla' [Índice de choque] = 17,
)
DONDE not_base =
CALCULAR (
SUMX (
«Tabla»,
'Tabla'[final_value]
),
'Table' [Índice de choque] <> 17,
)
DONDE claims_base =
CALCULAR (
SUMX (
«Tabla»,
'Tabla'[final_value]
),
'Tabla' [Índice de choque] = 17,
'Tabla'[Estrategia] = 2
)
DEVOLUCIÓN
INTERRUPTOR (
VERDADERO (),
[measure_scenario]= 17, base + 0,
[measure_strategy] = 2 && [escenario] = 1, claims_base,
[measure_scenario] <> 17, base + not_base + 0
)
¡Gracias!
Tal vez necesite romper el linaje de datos para el índice de choque para que el choque 17 se pueda agregar al choque faltante 1-16
Supongo que no funcionó porque la tabla no incluía ningún dato para el choque 1-16 para reclamaciones. Por lo tanto, no sabe cómo agregar base al choque 1 porque afirma que el choque 1 no existe.
Hola
Creé la nueva medida Shock Index 1-17 y actualicé el cálculo del DAX y, desafortunadamente, los "no basados" siguen mostrando 0 en lugar de la base.
Si desea crear una medida que identifique los valores del índice de choque del 1 al 17 y usarla para establecer el índice de choque que falta del 1 al 16 en el índice de choque 17 para las notificaciones, puede crear una nueva medida en el modelo de Power BI. A continuación, le indicamos cómo puede crear una medida de este tipo:
Abra Power BI Desktop.
En la vista "Modelo", localice la tabla de datos (por ejemplo, "Tabla").
Haga clic en "Nueva medida" en la barra de fórmulas.
Defina la nueva medida mediante DAX. Puede usar la siguiente expresión DAX como ejemplo para crear una medida denominada "Índice de choque 1-17":
Índice de choque 1-17 =
VAR CurrentShock = MAX('Tabla'[Índice de choque])
DEVOLUCIÓN
SI(
CurrentShock >= 1 &&CurrentShock <= 17,
CurrentShock,
17
)
Esta medida comprueba si el índice de choque actual está entre 1 y 17. Si es así, devuelve el valor actual del índice de choque. Si el índice de choque actual está fuera de este rango (valores faltantes), devuelve 17.
Una vez que haya creado la medida "Índice de choque 1-17", puede usarla en el cálculo del DAX para establecer el índice de choque faltante 1-16 en el índice de choque 17 para las reclamaciones. A continuación, se muestra un ejemplo de cómo podría verse el cálculo de DAX con la nueva medida:
Base VAR =
CALCULAR (
SUMX (
'Tabla',
'Mesa'[final_value]
),
'Tabla'[Índice de choque] = 17
)
VAR not_base =
CALCULAR (
SUMX (
'Tabla',
'Mesa'[final_value]
),
'Tabla' [Índice de choque] <> 17
)
VAR claims_base =
CALCULAR (
SUMX (
'Tabla',
COALESCE('Tabla'[final_value], CALCULATE(SUM('Tabla'[final_value]), 'Tabla'[Índice de choque] = 17))
),
'Tabla' [Índice de choque] = 17,
'Tabla'[Estrategia] = 2
)
DEVOLUCIÓN
INTERRUPTOR (
VERDADERO (),
[Índice de choque 1-17] = 17, base + 0,
[measure_strategy] = 2 && [Índice de choque 1-17] = 1, claims_base,
[Índice de choque 1-17] <> 17, base + not_base + 0
)
Ahora está utilizando la medida "Índice de choque 1-17" para identificar los valores del índice de choque y establecer el índice de choque faltante de 1 a 16 en 17 para las reclamaciones en el cálculo del DAX.
Si esta publicación ayuda, considere aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
En caso de que todavía haya un problema, no dude en explicar su problema en detalle, será un placer ayudarlo en todo lo que pueda.
Puede cargar su archivo PBIX en un solo día con la cuenta de G-Mail.
¡Perdón por el retraso! el correo electrónico de notificación fue a la carpeta de correo no deseado, así que no me di cuenta de que has respondido.
desafortunadamente, probé su nuevo código DAX y todavía no funcionó. No estoy seguro de qué pasa.
Gracias por seguir ayudándome. Realmente lo aprecio.
No hay problema, estuve fuera durante 5 días, pero ahora estoy de vuelta en mi ciudad natal. Proporcione una descripción detallada del problema y haré todo lo posible para abordarlo con prontitud.
Si esta publicación ayuda, considere aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
Creé un pbix de muestra. No estoy seguro de cómo subirlo aquí
Hola 123abc,
¡Gracias! He intentado crear una nueva medida 'MissingShocksToBase'
y recibió el siguiente mensaje de error:
La expresión True/False no especifica una columna. Cada expresión True/False utilizada como expresión de filtro de tabla debe hacer referencia exactamente a una columna.
Si necesita crear una medida que identifique el índice de choque 1-17 y establecer el índice de choque faltante 1-16 en el índice de choque 17 para las notificaciones, puede crear una nueva medida para lograrlo. Así es como puedes hacerlo:
MissingShocksToBase =
VAR CurrentShock = MAX('Tabla'[Índice de choque])
VAR IsClaim = MAX('Tabla'[Estrategia]) = 2
DEVOLUCIÓN
SI (
CurrentShock = 17 || IsClaim,
SUMA('Tabla'[final_value]),
CALCULAR(
SUMA('Tabla'[final_value]),
'Tabla' [Índice de choque] = 17,
IsClaim
)
)
En esta medida, verificamos el shock actual (Shock Index) y si es un reclamo (Estrategia es igual a 2). Si el choque es 17 o es un reclamo, simplemente sumamos el 'final_value' para esa fila. De lo contrario, calculamos la suma de 'final_value' para las filas donde el índice de choque es 17 y es un reclamo (Estrategia es igual a 2).
Ahora, puede usar esta medida en su declaración SWITCH para manejar los choques faltantes:
DEVOLUCIÓN
INTERRUPTOR (
VERDADERO (),
[measure_scenario] = 17, base + 0,
[measure_strategy] = 2 && [Índice de choque] = 1, [MissingShocksToBase],
[measure_scenario] <> 17, base + not_base + 0
)
De esta forma, cuando falte el índice de choque 1-16 para las notificaciones, usará la medida MissingShocksToBase para establecerlas en el valor del índice de choque 17.
Si esta publicación ayuda, considere aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
¡Gracias! Mientras miraba a través de su sugerencia, me di cuenta de que mi measure_scenario está mal. No sé qué usar. Estaba usando AVERAGEX pero eso me da shock / escenario = 7
Debido a que SWITCH requiere una medida y no una columna, necesitaba crear una medida que pueda identificar el choque 1-17 para poder configurar el choque faltante 1-16 en el choque 17 para las reclamaciones. (Choque y escenario se refieren a la misma columna)
Parece que desea establecer los valores del índice de choque que faltan (1-16) en el valor del índice de choque 17 para las reclamaciones cuando la estrategia de medida es igual a 2. El problema al que se enfrenta parece estar relacionado con la forma en que está especificando la condición para el índice de choque 1. Mencionaste que funciona cuando usas un número como 80, pero no funciona cuando usas Shock Index 1.
En DAX, no puede usar una comparación de igualdad directa (por ejemplo, [Índice de choque] = 1) para establecer el valor condicionalmente. En su lugar, debe utilizar una combinación de funciones para lograr esto. Puede utilizar la función IF o SWITCH para establecer condicionalmente los valores del índice de choque. Esta es una versión actualizada del código DAX:
Base VAR =
CALCULAR (
SUMX (
«Tabla»,
'Tabla'[final_value]
),
'Tabla' [Índice de choque] = 17,
)
VAR not_base =
CALCULAR (
SUMX (
«Tabla»,
'Tabla'[final_value]
),
'Table' [Índice de choque] <> 17,
)
VAR claims_base =
CALCULAR (
SUMX (
«Tabla»,
'Tabla'[final_value]
),
'Tabla' [Índice de choque] = 17,
'Tabla'[Estrategia] = 2
)
DEVOLUCIÓN
INTERRUPTOR (
VERDADERO (),
[measure_scenario] = 17, base + 0,
[measure_strategy] = 2 && [Índice de choque] = 1, claims_base,
[measure_scenario] <> 17, base + not_base + 0
)
En este código actualizado, modifiqué la condición para el índice de choque 1 dentro de la instrucción SWITCH para usar el operador && para verificar tanto la estrategia como el índice de choque. [measure_strategy] = 2 && [Índice de choque] = 1 asegura que se cumpla la condición para el índice de choque 1 cuando la estrategia es 2.
Esto debería establecer los valores del índice de choque faltantes (1-16) en el valor del índice de choque 17 cuando la estrategia es 2 para las reclamaciones.
Si esta publicación ayuda, considere aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.