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

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.

Reply
Syndicate_Admin
Administrator
Administrator

Filtrar que el usuario puede modificar, excepto los criterios predeterminados que no se pueden quitar

Hola

Tengo un informe en el que tengo un filtro predeterminado para un campo y el usuario debería poder cambiar el filtro, pero los criterios de filtro predeterminados no se pueden eliminar. En esencia, el usuario debería poder agregar a los criterios de filtro, pero no poder eliminar los criterios de filtro predeterminados. A continuación se presentan más detalles con algunos datos de muestra que explican más a fondo.

Tengo dos tablas como las siguientes:

Ciclo de facturación:

ID de facturaFecha de inicio de la ventanaCiclo de facturación a utilizarDías del ciclo de facturación aprobados
15/9/2022FALSO11
25/10/2022FALSO10
35/11/2022FALSO9
45/12/2022FALSO8
55/13/2022VERDADERO7
65/16/2022FALSO4
75/17/2022FALSO3

Hay un par de columnas calculadas en esta tabla de la siguiente manera:

Bill Cycle Days Passed = TODAY() - 'Bill Cycle'[Window Start Date]
Bill Cycle to Use = IF(TODAY()-7 = 'Bill Cycle'[Window Start Date], TRUE(), FALSE())

Cuentas:

ID de cuentaID de facturaNombreApellido
11Ejemplo nombre 1Ejemplo Apellido 1
21Ejemplo de nombre 2Ejemplo Apellido 2
31Ejemplo nombre 3Ejemplo Apellido 3
42Ejemplo de nombre 4Ejemplo Apellido 4
52Ejemplo de nombre 5Ejemplo Apellido 5
62Ejemplo de nombre 6Ejemplo Apellido 6
73Ejemplo de nombre 7Ejemplo Apellido 7
83Ejemplo de nombre 8Ejemplo Apellido 8
93Nombre de ejemplo 9Ejemplo Apellido 9
104Ejemplo de nombre 10Ejemplo Apellido 10
114Nombre de ejemplo 11Ejemplo Apellido 11
124Ejemplo de nombre 12Ejemplo Apellido 12
135Nombre de ejemplo 13Apellido de ejemplo 13
145Ejemplo de nombre 14Ejemplo Apellido 14
155Ejemplo de nombre 15Ejemplo Apellido 15
166Ejemplo de nombre 16Ejemplo Apellido 16
176Ejemplo de nombre 17Ejemplo Apellido 17
186Ejemplo de nombre 18Ejemplo Apellido 18
197Ejemplo de nombre 19Ejemplo Apellido 19
207Ejemplo de nombre 20Ejemplo Apellido 20
217Nombre de ejemplo 21Ejemplo Apellido 21

Estas dos tablas están relacionadas entre sí con el ID de la factura.

Necesito hacer una tabla visual que muestre todas las cuentas para el 7º día (Bill Cycle Days Passed = 7). No tengo problemas para hacer esto usando una segmentación de datos o usando el panel de filtro.

Pero mi problema es que también necesito que el usuario pueda seleccionar otros días (por ejemplo, si el usuario quiere seleccionar el día 8, debería poder hacerlo). Sin embargo, el usuario nunca debería poder eliminar el 7º día.

¿Cómo hago un filtro que permite a un usuario modificar, pero no se puede cambiar un criterio específico (el 7º día siempre filtrado)?

¡Gracias!

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Gracias @DataInsights & @v-easonf-msft!! ¡Estas son excelentes soluciones y hacen exactamente lo que estoy tratando de hacer! ¡Gracias a ambos!

Syndicate_Admin
Administrator
Administrator

@Lierreyy

Tomando prestada la solución de @DataInsights , hice algunos cambios.

Pruebe los siguientes pasos:
1. Agregue una tabla separada como se muestra a continuación:

Slicer = DISTINCT('Bill Cycle'[Bill Cycle Days Passed])

2. Agregue una medida como la siguiente y aplíquela al panel de filtro visual

visual filter = 
VAR _selected =
    IF (
        MAX ( 'Bill Cycle'[Bill Cycle Days Passed] )
            IN VALUES ( 'Slicer'[Bill Cycle Days Passed] )
                || MAX ( 'Bill Cycle'[Bill Cycle Days Passed] ) = 7,
        1,
        0
    )
VAR _unselected =
    IF ( MAX ( 'Bill Cycle'[Bill Cycle Days Passed] ) = 7, 1, 0 )
RETURN
    IF ( ISFILTERED ( 'Slicer'[Bill Cycle Days Passed] ), _selected, _unselected )

veasonfmsft_1-1653361308748.png

veasonfmsft_0-1653361275935.png

Saludos
Equipo de soporte de la comunidad _ Eason

Syndicate_Admin
Administrator
Administrator

@Lierreyy,

Esta solución utiliza un clon de la tabla Cuentas sin relaciones. El filtrado se logra a través de DAX en lugar de una relación.

Crear tabla calculada:

Accounts Visual = Accounts

Crear medida:

Accounts to Display = 
VAR vFilter =
    FILTER (
        'Accounts Visual',
        'Accounts Visual'[Bill ID]
            IN VALUES ( 'Bill Cycle'[Bill ID] )
                || 'Accounts Visual'[Bill ID]
                    IN CALCULATETABLE (
                        VALUES ( 'Bill Cycle'[Bill ID] ),
                        'Bill Cycle'[Bill Cycle Days Passed] = 7
                    )
    )
VAR vResultWithSlicerSelection =
    CALCULATE ( COUNT ( 'Accounts Visual'[Account ID] ), vFilter )
VAR vResultWithNoSlicerSelection =
    CALCULATE (
        COUNT ( 'Accounts Visual'[Account ID] ),
        'Accounts Visual'[Bill ID]
            IN CALCULATETABLE (
                VALUES ( 'Bill Cycle'[Bill ID] ),
                'Bill Cycle'[Bill Cycle Days Passed] = 7
            )
    )
VAR vResult =
    IF (
        ISFILTERED ( 'Bill Cycle' ),
        vResultWithSlicerSelection,
        vResultWithNoSlicerSelection
    )
RETURN
    vResult

Cree un objeto visual de tabla utilizando campos de la tabla Cuentas visuales y cree un filtro visual con la medida anterior:

DataInsights_0-1653230785989.png

DataInsights_1-1653230831157.png

------------------------------

DataInsights_2-1653230867793.png

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.