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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

Seleccione todos los registros inferiores al mes especificado

Hola

Tengo tabla donde tengo PERIOD_MMYY como MMYY junto con otras columnas. Mi modelo Entair se filtra en esta columna PERIOD_MMYY

si el usuario selecciona un período PERIOD_MMYY de la segmentación, entonces mi tabla de visualización debería mostrar todos los datos del año dado y menos o igual al mes dado.

¿Hay alguna forma de almacenar el valor de nuestra segmentación en una variable para que se pueda usar en el filtro?

¿De lo contrario, alguna solución para esto?

Ejemplo:

PERIOD_MMYYCol1Cal2
0123
0223
0323
0423
0523
0623
0723
0823
0923
1023
1123
1223
0124
0224
0324
0424
0524
0624
0724
0824
0924

Escenario 1: Usuario seleccionado en segmentación de datos: 0523

Esperado:

PERIOD_MMYYCol1Cal2
0123
0223
0323
0423
0523

Escenario 2: Usuario seleccionado como 0824

Entonces se espera lo siguiente:

PERIOD_MMYYCol1Cal2
0124
0224
0324
0424
0524
0624
0724
0824

FYI.. Cada mes puede tener varios registros.

Gracias de antemano.

8 REPLIES 8
Syndicate_Admin
Administrator
Administrator

Hola, @mallikarjuna_n

¿Puedo preguntarle cómo son sus datos específicos?


Dado que no proporcionó datos específicos para las pruebas, asumí algunos datos para probarme a mí mismo:

vfenlingmsft_0-1725599628626.png

Mi PERIOD_MMYY es un tipo de fecha, así que revisé la columna personalizada en el Editor de Power Query y creé una nueva columna para convertir PERIOD_MMYY1 a Mes+Año para que coincida con sus datos:

vfenlingmsft_1-1725599708097.png

Text.PadStart(Text.From(Date.Month([PERIOD_MMYY])), 2, "0") & Text.End(Text.From(Date.Year([PERIOD_MMYY])), 2)

A continuación, Nueva tabla, creó una tabla para que Slicer filtrara PERIOD_MMYY:

vfenlingmsft_3-1725599805036.png

Table2 =
SELECTCOLUMNS (
    Table1,
    "PERIOD_MMYY", Table1[PERIOD_MMYY],
    "PERIOD_MMYY1", Table1[PERIOD_MMYY1]
)

A continuación, creó una medida, arrastró la medida al panel Filtros, establezca la medida en 1 para filtrar los datos:

FilterDate =
VAR selectPeriod =
    SELECTEDVALUE ( Table2[PERIOD_MMYY1] )
VAR selectMonth =
    LEFT ( selectPeriod, 2 )
VAR selectYear =
    RIGHT ( selectPeriod, 2 )
VAR CurrentMonth =
    LEFT ( MAX ( Table1[PERIOD_MMYY1] ), 2 )
VAR CurrentYear =
    RIGHT ( MAX ( Table1[PERIOD_MMYY1] ), 2 )
RETURN
    IF ( CurrentYear = selectYear && CurrentMonth <= selectMonth, 1, 0 )

vfenlingmsft_4-1725599928516.png

vfenlingmsft_5-1725599982387.png

He adjuntado el archivo pbix para este ejemplo a continuación, espero que esto ayude.

Si lo anterior no puede ayudarlo a obtener el resultado deseado, proporcione algunos datos de muestra en sus tablas (excluya los datos confidenciales) con formato de texto y su resultado esperado con lógica de backend y ejemplos especiales. Es mejor si puede compartir un archivo pbix simplificado. Gracias.

Espero que mis sugerencias le den buenas ideas, si tiene más preguntas, aclare en una respuesta de seguimiento.
Saludos
Fen Ling,
Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.

Hola

Gracias por su respuesta...

Como solicitó, a continuación se muestran los datos de muestra (no tengo la opción de cargar) Junto con esta tabla, hay otras 5 tablas que se unen en diferentes columnas, pero algunas tablas tienen un período de libro. En esta tabla, el período contable es una cadena, no un tipo de fecha.

FILE_IDSOURCE_IDFILE_STATUSBOOK_PERIOD_YYRECEIVED_DATECMNTCREATED_DATE
27ENÍntegro 14-jun-24 14-jun-24
26HPSolicitud de descarga62410-jun-24prueba10-jun-24
25HPErrores de reprocesamiento62406-jun-24probando el archivo de base de datos para verificar asdf06-jun-24
24HPÍntegro52413-mayo-24 13-mayo-24
23ENÍntegro52413-mayo-24 13-mayo-24
22HPBorrado52406-mayo-24El archivo se envió con una cantidad diferente a la transferencia recibida. Nuevo archivo recibido de Alight.06-mayo-24
21ENÍntegro52403-mayo-24 03-mayo-24
20ENÍntegro42402-mayo-24Importe de carga de la nómina.02-mayo-24
19ENBorrado52401-mayo-24Se ha procesado una cantidad incorrecta.01-mayo-24
18ENÍntegro42417-Abr-24 17-Abr-24
17HPÍntegro42405-Abr-24bmdoiejm,dddsfadfasf05-Abr-24
16ENÍntegro32402-Abr-24Asdfsadfasiuweo 02-Abr-24
15ENÍntegro42401-Abr-24oiopihvadsf01-Abr-24
14HPÍntegro32414-mar-24Carga de la factura directa de febrero 14-mar-24
13ENÍntegro32413-mar-24Load oiwquriohoadjhv13-mar-24
12ENBorrado32411-Mar-24Nuevo archivo recibido11-Mar-24
11HPBorrado32405-Mar-24Nuevo archivo recibido05-Mar-24
10ENListo para procesar22404-Mar-24prueba04-Mar-24
9ENEdiciones pasadas32401-Mar-24carga01-Mar-24
8HPÍntegro22427-feb-24cargar el archivo Jan DB27-feb-24
7HPBorrado22427-feb-24borrar27-feb-24
6ENÍntegro22415-feb-24Cargar el 2º archivo de origen15-feb-24
5HPBorrado22405-feb-24borrar05-feb-24
4ENÍntegro12402-feb-24load INernal contr02-feb-24
3ENSolicitud de descarga22401-feb-24prueba01-feb-24
2ENNuevo archivo 04-ene-24 04-ene-24
1ENEdiciones pasadas12403-ene-24Procesar importe de Jan03-ene-24

Hola, @mallikarjuna_n

¿Qué debo hacer con el valor nulo correspondiente a su campo BOOK_PERIOD_YY? ¿Se eliminan los valores nulos o se supone que deben ocurrir en qué contexto?


No manejo valores nulos en el siguiente método.


En primer lugar, necesita Nueva columna para convertir el campo BOOK_PERIOD_YY al siguiente formulario:

vfenlingmsft_0-1726036126252.png

FormattedPeriod = 
VAR YearPart = RIGHT ( Table1[BOOK_PERIOD_YY], 2 )
VAR MonthPart = MID ( Table1[BOOK_PERIOD_YY], 1, LEN(Table1[BOOK_PERIOD_YY]) - 2 )
RETURN
    IF (
        LEN(MonthPart) < 2 && NOT ISBLANK(MonthPart),
        "0" & MonthPart & YearPart,
        Table1[BOOK_PERIOD_YY]
    )


A continuación, nueva tabla:

vfenlingmsft_1-1726036171039.png

Table2 = SELECTCOLUMNS(Table1,"FormattedPeriod",Table1[FormattedPeriod])


Recuerde no vincular la tabla recién creada a otras tablas:

vfenlingmsft_2-1726036245004.png


A continuación, nueva medida:

FilterDate = 
VAR selectPeriod = SELECTEDVALUE ( Table2[FormattedPeriod] )
VAR selectMonth = LEFT ( selectPeriod, 2 )
VAR selectYear = RIGHT ( selectPeriod, 2 )
VAR CurrentMonth = LEFT ( MAX ( Table1[FormattedPeriod] ), 2 )
VAR CurrentYear = RIGHT ( MAX ( Table1[FormattedPeriod] ), 2 )
RETURN
    IF (
        ISBLANK(selectPeriod),
        1,
        IF ( VALUE(CurrentYear) = VALUE(selectYear) && VALUE(CurrentMonth) <= VALUE(selectMonth), 1, 0 )
    )


Por último, arrastre Medir al panel Filtro y establezca Medida en 1 para mostrar solo las filas con Medida de 1:

vfenlingmsft_3-1726036349966.png

vfenlingmsft_4-1726036393101.png

Espero que mis sugerencias le den buenas ideas, si tiene más preguntas, aclare en una respuesta de seguimiento.
Saludos
Fen Ling,
Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.

@v-fenling-msft

Quiero aplicar la misma segmentación para todas las demás páginas (5 páginas), en este caso, ¿necesito hacer alguna configuración a nivel de filtro?

Hice la configuración de sincronización para todas las páginas, pero parece que no se aplica.

por favor sugiérame si necesito hacer alguna configuración.

Saludos

Mallikarjuna M

Hola, @mallikarjunan

¿Qué datos específicos necesitas filtrar?


Digamos que los datos de la otra página son los mismos que los de la página 1:

vfenlingmsft_1-1726650567890.png

vfenlingmsft_2-1726650588156.png

Debe establecer FilterDate en 1 en el panel Filtro de las otras páginas:

vfenlingmsft_3-1726650621248.png


Además, debe habilitar esta función, luego seleccionar la página correspondiente para aplicar también este Slicer:

vfenlingmsft_4-1726650680438.png

Esta es la documentación oficial sobre Slicer, espero que te sirva de ayuda:

Segmentaciones de datos en Power BI - Power BI | Microsoft Learn

Espero que mis sugerencias le den buenas ideas, si tiene más preguntas, aclare en una respuesta de seguimiento.
Saludos
Fen Ling,
Si esta publicación Ayuda, entonces por favor considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.

Muchas gracias @v-fenling-msft funcionó.

Hola, @mallikarjunan

Parece que has encontrado una solución. ¿Podría marcar esta útil publicación como "Solución"?

Esto ayudará a otros miembros de la comunidad a encontrar fácilmente una solución si están experimentando el mismo problema que usted.

¡Gracias por su ayuda!

Espero que mis sugerencias le den buenas ideas, si tiene más preguntas, aclare en una respuesta de seguimiento.
Saludos
Fen Ling,
Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.

Syndicate_Admin
Administrator
Administrator

Pruebe esto: FilteredData =
VAR SelectedPeriod = SELECTEDVALUE('TuTabla'[PERIOD_MMYY])
VAR SelectedYear = RIGHT(SelectedPeriod, 2)
VAR SelectedMonth = LEFT(SelectedPeriod, 2)
DEVOLUCIÓN
CALCULAR(
SUM('YourTable'[Col1]), -- O usa cualquier cálculo que sea apropiado para tu tabla
FILTRO(
'SuMesa',
RIGHT('TuMesa'[PERIOD_MMYY], 2) = Año seleccionado &&
VALUE(LEFT('TuTabla'[PERIOD_MMYY], 2)) <= VALUE(SelectedMonth)
)
)

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors
Top Kudoed Authors