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, me estoy metiendo en este problema en mi informe de BI. Tengo tres columnas diferentes que se están comprobando antes de devolver un valor y estoy usando dos tablas diferentes. El resultado está bien si pongo una instrucción IF, pero cuando intento anidar varias instrucciones IF, no funciona. Puedo proporcionar más detalles, pero cualquier idea de cómo solucionar esto?
Las columnas que se utilizan en la búsqueda para devolver un valor en la tabla 2 son:
Tabla 1[código postal]
Tabla 2[código postal]
Tabla 1[código de portadora]
Tabla 2[código de portadora]
Tabla 1[número]
La fórmula que tengo es:
Solved! Go to Solution.
Hola, @wek9294
Según su descripción, modifiqué los datos como se indica a continuación. El archivo pbix se adjunta al final.
Tabla1:
Tabla 2:
Puede crear una columna calculada o una medida como se indica a continuación.
Columna calculada:
Result Column =
SUMX(
FILTER(
ALL(Table1),
[Zip Codes]=EARLIER(Table2[Zip Codes])&&
[Carrier Codes]=EARLIER(Table2[Carrier Codes])
),
[Rate]
)
Medida:
Result Measure =
SUMX(
ADDCOLUMNS(
Table2,
"Result",
SUMX(
FILTER(
ALL(Table1),
[Zip Codes]=EARLIER(Table2[Zip Codes])&&
[Carrier Codes]=EARLIER(Table2[Carrier Codes])
),
[Rate]
)
),
[Result]
)
Resultado:
Saludos
Allan
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Funcionó perfectamente, gracias!
Hola, @wek9294
Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.
Tabla1:
Tabla 2:
Puede crear una columna calculada como se muestra a continuación.
Result Column =
var zcode = [Zip Codes]
var ccode = [Carrier Codes]
var num = [Number]
var val =
CALCULATE(
FIRSTNONBLANKVALUE(Table1[Rate],SUM(Table1[Rate])),
FILTER(
Table1,
[Zip Codes]=zcode&&
[Carrier Codes]=ccode&&
[Number]=num
)
)
var n =
CALCULATE(
MIN(Table1[Number]),
FILTER(
Table1,
[Zip Codes]=zcode&&
[Carrier Codes]=ccode&&
[Number]>num
)
)
var val2 =
CALCULATE(
SUM(Table1[Rate]),
FILTER(
Table1,
[Zip Codes]=zcode&&
[Carrier Codes]=ccode&&
[Number]=n
)
)
return
IF(
ISBLANK(val),
val2,
val
)
Resultado:
Saludos
Allan
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Gracias por la fórmula y su ayuda, pero lamento el doble trabajo en este. Pero mis datos parecen:
Tabla 1
Tabla 2
Y lo que quiero que parezca es:
No puedo hacer un valor de búsqueda recto ya que estoy recibiendo el error "Se proporcionó una tabla de varios valores donde se esperaba un solo valor" cuando lo hago. Hay muchos más datos, así que esta es una muestra del archivo general.
Hola, @wek9294
Según su descripción, modifiqué los datos como se indica a continuación. El archivo pbix se adjunta al final.
Tabla1:
Tabla 2:
Puede crear una columna calculada o una medida como se indica a continuación.
Columna calculada:
Result Column =
SUMX(
FILTER(
ALL(Table1),
[Zip Codes]=EARLIER(Table2[Zip Codes])&&
[Carrier Codes]=EARLIER(Table2[Carrier Codes])
),
[Rate]
)
Medida:
Result Measure =
SUMX(
ADDCOLUMNS(
Table2,
"Result",
SUMX(
FILTER(
ALL(Table1),
[Zip Codes]=EARLIER(Table2[Zip Codes])&&
[Carrier Codes]=EARLIER(Table2[Carrier Codes])
),
[Rate]
)
),
[Result]
)
Resultado:
Saludos
Allan
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola
En la Tabla 2, escriba esta fórmula de columna calculada
•calculate(sum('table1'[rate]),filter('table1','table1'[Códigos postales]-earlier('table2'[Códigos postales])&&'table1'[Códigos de portadora]-anterior('table2'[Códigos de portadora])))
Espero que esto ayude.
Hola
Comparta algunos datos, describa la pregunta y muestre el resultado esperado.
Los códigos postales son "12345 - 12345"
Los códigos de portadora son "ABCD"
El número son valores de 1 a 5
Estoy tratando de que la fórmula devuelva un valor de una columna "Tasa" dependiendo de la coincidencia de estos valores. Por lo tanto, si el código postal, el código de portadora y el número coinciden, devuelve el número en la columna Tasa como 1.5. Pero si el número 1 está en blanco, entonces devuelva la tarifa si el número es 2. Cuando agredo una instrucción IF en este momento para intentar devolver los valores 3 a 5, obtendré un resultado en blanco.
Hola
Todavía no lo entiendo. Puede que otra persona te ayude.
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 | |
1 | |
1 |