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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
Syndicate_Admin
Administrator
Administrator

fetch Country dinámicamente en el cuadro de texto donde "Sc-measure" es el menor para selected(mon-year) en la segmentación de datos

Hola equipo,

requiremnet : En un cuadro de texto, necesito mostrar dinámicamente el nombre del país, donde el valor "SC" es mínimo para el período seleccionado [mes-año] en la segmentación.

Datos disponibles :
Tengo una tabla de país oscura con una columna de país.
"SC_measure" es una medida que se calcula solo en tiempo de ejecución. El cuadro de países y la medida "SC" no tienen ninguna relación directa o indirecta.
El período es una tabla calculada y [Mes-Año] es una columna calculada que obtiene datos como "Jan-FY24", "Feb-FY24" y así sucesivamente...

He escrito 2 fórmulas DAX.

1. Para obtener el valor mínimo de sc para el período seleccionado

Min_SC =
FUERON Período seleccionado = SELECTEDVALUE(período[Mes-año])
DEVOLUCIÓN
CALCULAR(
BRIBONA('Tabla de medidas',[SC_measure]), period[Month-year] = SelectedPeriod)
/*MINX('Medida',[SC_measure]) --tomando el valor mínimo de sc*/

===============

2. DAX para obtener el nombre del país donde SC es mínimo en función del período seleccionado [mes-año] en la segmentación, y el país no debe estar en blanco o NA

CountryNameWithMinSC =
FUERON Período seleccionado = SELECTEDVALUE(período[Mes-año])
/*VAR MinValue = [Min_SC]*/
FUERON Valor mínimo = CALCULAR([Min_SC], period[Month-year] = SelectedPeriod)
DEVOLUCIÓN
MAXX(
FILTRO(
DimCountry,
NO ISBLANK(DimCountry[país]) && -- Filtrar el país en blanco
CALCULAR(
[Min_SC],
TODOSEXCEPTO(DimCountry, DimCountry[país]),
period[Mes-año] = SelectedPeriod Aplicar filtro para el período seleccionado
) = Valor mínimo
),
DimCountry[país]
) /*Recupera el nombre del país donde el SC es menos*/

Pero mis medidas de DAX anteriores no funcionan cada vez que selecciono un mes y un año dinámicamente en la segmentación. Por favor, ayuda.

Gracias por su ayuda.
1 ACCEPTED SOLUTION

Hola @rajendraongole1

El siguiente DAX funcionó para obtener el país durante un mínimo de sc_measure.

MinimumSCMeasureAcrossCountries =
Países VAR =
RESUMIR(
DimCountry,
DimCountry[país]
)
VAR MinSCMeasure =
MINX(
Países
[SC_Measure]
)
VAR MinSCMeasureUnit =
SELECTCOLUMNS(
FILTRO(
Países
[SC_Measure] = MinSCMeasure
),
"country", DimCountry[país]
)
DEVOLUCIÓN
MinSCMeasureUnit

View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Hola @Sania-F -Pruebe la siguiente medida de creación para calcular el valor mínimo de SC

Min_SC =
VAR SelectedPeriod = SELECTEDVALUE(period[Mes-año])
DEVOLUCIÓN
CALCULAR(
MINX('Tabla de medidas', [SC_measure]),
period[Mes-año] = SelectedPeriod
)

Cree otra medida para calcular los países correctamente con un mínimo de un valor SC.

CountryNameWithMinSC =
VAR SelectedPeriod = SELECTEDVALUE(period[Mes-año])
VAR MinValue = [Min_SC]
DEVOLUCIÓN
MAXX(
FILTRO(
ADDCOLUMNS(
DimCountry,
"SCValue", CALCULAR(
[SC_measure],
period[Mes-año] = SelectedPeriod
)
),
NOT ISBLANK([SCValue]) &&
[SCValue] = Valor mínimo
),
DimCountry[país]
)

Espero que el enfoque anterior funcione.

¿He respondido a tu pregunta? ¡Marca mi publicación como una solución! ¡Esto ayudará a otros en el foro!
¡Agradezco sus felicitaciones!

Hola @rajendraongole1

Probé el DAX anterior, pero no funciona.

Creo firmemente que hay que arreglar algo con la medida DAX 1, porque el 1er dax no devuelve ningún valor, cuando trato de ver en una tarjeta/tabla qué valor devuelve

Min_SC =
VAR SelectedPeriod = SELECTEDVALUE(period[Mes-año])
DEVOLUCIÓN
CALCULAR(
MINX('Tabla de medidas', [SC_measure]),
period[Mes-año] = SelectedPeriod
)

También traté de eliminar/ignorar si hay valores en blanco mientras se obtiene el valor mínimo de sc, pero aún no funciona. simplemente se devuelve en blanco. cualquier idea de lo que puede estar fallando.

Hola @Sania-F - ¿Puedes probar la siguiente medida para DAX1 Y DAX2?

Lógica modificada mediante treatas Si las tablas no tienen una relación directa, utilice la función para aplicar el contexto de filtro

Min_SC =
VAR SelectedPeriod = SELECTEDVALUE(period[Month-Year])
DEVOLUCIÓN
CALCULAR(
MINX('Tabla de medidas', [SC_measure]),
TREATAS( { SelectedPeriod }, 'Tabla de medidas'[Mes-Año] )
)

Dax2: modificado.

CountryNameWithMinSC =
VAR SelectedPeriod = SELECTEDVALUE(period[Month-Year])
VAR MinValue = [Min_SC]
DEVOLUCIÓN
MAXX(
FILTRO(
CROSSJOIN(DimCountry, 'Tabla de medidas'),
NOT ISBLANK(DimCountry[país]) &&
DimCountry[país] <> "NA" &&
'Tabla de medidas' [Mes-Año] = SelectedPeriod &&
[SC_measure] = Valor mínimo
),
DimCountry[país]
)

Pruébalo arriba y háznoslo saber.

¿He respondido a tu pregunta? ¡Marca mi publicación como una solución! ¡Esto ayudará a otros en el foro!
¡Agradezco sus felicitaciones!

Hola @rajendraongole1

El siguiente DAX funcionó para obtener el país durante un mínimo de sc_measure.

MinimumSCMeasureAcrossCountries =
Países VAR =
RESUMIR(
DimCountry,
DimCountry[país]
)
VAR MinSCMeasure =
MINX(
Países
[SC_Measure]
)
VAR MinSCMeasureUnit =
SELECTCOLUMNS(
FILTRO(
Países
[SC_Measure] = MinSCMeasure
),
"country", DimCountry[país]
)
DEVOLUCIÓN
MinSCMeasureUnit

Helpful resources

Announcements
July 2024 Power BI Update

Power BI Monthly Update - July 2024

Check out the July 2024 Power BI update to learn about new features.

PBI_Carousel_NL_June

Fabric Community Update - June 2024

Get the latest Fabric updates from Build 2024, key Skills Challenge voucher deadlines, top blogs, forum posts, and product ideas.

Top Solution Authors