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

Contar si se cumplen las condiciones de varias columnas en varias filas

Hola

Intentar crear un DAX para la tabla siguiente utilizando varias condiciones para obtener un recuento total "Facturado por".

ID de nombre

Nombre

ID de código

Nombre en clave

Fecha

Facturado por

2000000001

Miguel Smith

10001

Texto A

7/1/2021

Juan Doe

2000000001

Miguel Smith

10002

Texto B

7/1/2021

2000000001

Miguel Smith

10003

Texto C

7/1/2021

2000000003

Miguel Smith

10002

Texto B

7/1/2021

2000000002

Pato Lucas

10001

Texto A

9/15/2021

Juan Doe

2000000002

Pato Lucas

10002

Texto B

9/30/2021

2000000002

Pato Lucas

10003

Texto C

9/15/2021

Roberto Yu

Si nombre de código = "Texto A"

Y el texto B existe

Y O El texto C existe

AND Name ID & Date = ID de nombre y fecha del "Texto A"

AND Billed By está en blanco

Contar total para facturar por nombre

MÁS

Contar solo texto A

Resultados esperados

Nombre

Fecha

Contar

Juan Doe

7/1/21

3

Juan Doe

9/15/21

1

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

@adoster los datos de origen deben contener el eje y @v-stephen-msft tiene razón al señalar que necesita un relleno para crear el eje

| Name ID    | Name          | Code ID | Code Name | Date      | Billed By | Axis      |
|------------|---------------|---------|-----------|-----------|-----------|-----------|
| 2000000001 | Michael Smith | 10001   | Text A    | 7/1/2021  | John Doe  | John Doe  |
| 2000000001 | Michael Smith | 10002   | Text B    | 7/1/2021  |           | John Doe  |
| 2000000001 | Michael Smith | 10003   | Text C    | 7/1/2021  |           | John Doe  |
| 2000000003 | Michael Smith | 10002   | Text B    | 7/1/2021  |           | John Doe  |
| 2000000002 | Daffy Duck    | 10001   | Text A    | 9/15/2021 | John Doe  | John Doe  |
| 2000000002 | Daffy Duck    | 10002   | Text B    | 9/30/2021 |           | John Doe  |
| 2000000002 | Daffy Duck    | 10003   | Text C    | 9/15/2021 | Robert Yu | Robert Yu |

Una vez que tenga eso, puede usar la siguiente medida para devolver el recuento.

Measure =
VAR _base =
    CALCULATETABLE (
        CALCULATETABLE (
            'Table 1',
            'Table 1'[Code Name] IN { "Text A", "Text B", "Text C" }
        ),
        SUMMARIZE (
            FILTER ( 'Table 1', 'Table 1'[Code Name] = "Text A" ),
            'Table 1'[Name ID],
            'Table 1'[Date]
        )
    )
VAR _count1 =
    CALCULATE ( COUNTROWS ( FILTER ( _base, [Billed By] = BLANK () ) ) )
VAR _count2 =
    CALCULATE ( COUNTROWS ( FILTER ( _base, [Code Name] = "Text A" ) ) )
RETURN
    _count1 + _count2

Capture.PNG

Syndicate_Admin
Administrator
Administrator

No @adoster,

Permítanme hacer una suposición audaz, ¿si puede usar la función de relleno para el valor vacío en la columna Facturado por?

1.png

A continuación, puede crear una medida

Count =
VAR _count =
    COUNTX (
        'Table',
        CALCULATE (
            MAX ( 'Table'[Name ID] ),
            FILTER (
                ALLEXCEPT ( 'Table', 'Table'[Date], 'Table'[Billed By] ),
                [Code Name] = "Text A"
            )
        )
    )
RETURN
    IF ( _count > 1, _count - 1, _count )

2.png

Saludos

Esteban Tao

Si esta publicación ayuda,entonces considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Syndicate_Admin
Administrator
Administrator

@adoster

Desea contar facturado por nombre está en blanco

para el primer resultado, ¿por qué el recuento es 3? Creo que debería ser 2 (la segunda fila y la tercera fila), ya que la fecha de la cuarta fila es diferente.

¿Por qué el segundo resultado del recuento es 1? Aunque el ID del nombre es el mismo, la fecha sigue siendo diferente.

Lo siento por la confusión, pero el recuento total también debe incluir la fila inicial "Texto A". Las filas de subsecuencia se agregan al Billed By a partir de este 1er recuento.

Es por eso que 3 para el primer resultado y 1 para el segundo resultado.

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.