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

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
Syndicate_Admin
Administrator
Administrator

Cero % a calcular para la última semana

Los datos se actualizarán una vez el lunes, y tendrá los datos del 26 de mayo al 1 de junio. Asimismo, si los datos se actualizan la próxima semana (lunes) tendrá los datos del (2 de junio al 8 de junio).
Cada vez que se actualizan los datos, solo necesito contar las tiendas que tienen un 0% en la adopción del valor reciente. Para esta semana tenemos que mostrar los valores del 26 de mayo al 1 de junio.

Nota: Tengo la tabla de calendario separada de PBI.

DAX usado: Check = CALCULATE(COUNT('Adoption Trend_Dup'[NewAdoption]), FILTER(ALL('Adoption Trend_Dup'), WEEKNUM('Adoption Trend_Dup'[TxnDt],1) = WEEKNUM(TODAY(),1)-1))

Datos de PBI:

ID de la tiendaNombre de la tiendaAdopción %TxnDt
1AA0%Domingo, 19 de mayo de 2024
2APAGADO100%Lunes, 20 de mayo de 2024
3Y70%Martes, 21 de mayo de 2024
4PARA0%Miércoles, 22 de mayo de 2024
5BB9%Jueves, 23 de mayo de 2024
6BA0%Viernes, 24 de mayo de 2024
7A.C0%Sábado, 25 de mayo de 2024
1AA0%Domingo, 26 de mayo de 2024
2APAGADO100%Lunes, 27 de mayo de 2024
3Y70%Martes, 28 de mayo de 2024
4PARA0%Miércoles, 29 de mayo de 2024
5BB9%Jueves, 30 de mayo de 2024
6BA0%Viernes, 31 de mayo de 2024
7A.C60%sábado, 01 de junio de 2024


El resultado esperado de los datos recientes (del 26 de mayo al 1 de junio) será de 3.

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

Gracias a las soluciones de @rajendraongole1 y @amitchandak

Hola, @Krishna_Newuser

En primer lugar, cree una tabla virtual con una variable, como se muestra en la siguiente imagen:

vjianpengmsft_0-1717464212006.png

Por lo tanto, la expresión DAX de medida es:

Count =
VAR _table =
    SUMMARIZE (
        'Table',
        'Table'[Store ID],
        'Table'[Adoption%],
        'Table'[TxnDt],
        "weeknum", WEEKNUM ( 'Table'[TxnDt], 1 ),
        "weeknumtoday", WEEKNUM ( TODAY (), 1 ) - 1
    )
RETURN
    CALCULATE (
        COUNT ( 'Table'[Adoption%] ),
        FILTER ( _table, 'Table'[Adoption%] = 0 && [weeknum] = [weeknumtoday] )
    )

Estos son los resultados:

vjianpengmsft_1-1717464319213.png

He proporcionado el archivo PBIX utilizado esta vez a continuación.

Cómo obtener respuestas rápidas a tu pregunta

Si no ayuda, proporcione más detalles con la salida deseada y el archivo pbix sin información de privacidad (o algunos datos de muestra).

Saludos

Jianpeng Li

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

Muchas gracias @v-jianpeng-msft. Esto funcionó para mí. Felicitaciones a usted 👍

Syndicate_Admin
Administrator
Administrator

@Krishna_Newuser , asegúrese de que el almacén sea una tabla de dimensiones independiente unida a su tabla

Una medida como esta servirá

countx(Valores(Tienda[Tiendas]), if(isblank([Verificar]) , [Tienda], en blanco()) )

Lógica muy similar a la utilizada aquí

https://community.powerbi.com/t5/Community-Blog/Customer-Retention-Part-1-Month-on-Month-Retention/b...

Syndicate_Admin
Administrator
Administrator

Hola @Krishna_Newuser - Crear una nueva medida para contar el número de tiendas con 0% de adopción

Espero que ya hayas creado las medidas MaxDate, StartOfWeek y EndofWeek, si no, lo agregaré a continuación después de la lógica principal.

ZeroAdoptionCount =
VAR MaxDate = [MaxTxnDate]
VAR StartWeek = [StartOfWeek]
VAR EndWeek = [EndOfWeek]

DEVOLUCIÓN
CALCULAR(
COUNTROWS(«Adoption Trend_Dup»),
FILTRO(
«Adopción Trend_Dup»,
'Adopción Trend_Dup'[TxnDt] >= StartWeek &&
'Adopción Trend_Dup'[TxnDt] <= Fin de la semana &&
'Adoption Trend_Dup'[Adoption%] = "0%"
)
)

Max: MaxTxnDate = CALCULATE(MAX('Adoption Trend_Dup'[TxnDt]), ALL('Adoption Trend_Dup'))

Inicio de la semana

InicioDeSemana =
CALCULAR(
MIN('Calendario'[Fecha]),
FILTRO(
'Calendario',
'Calendario'[Fecha] <= [MaxTxnDate] &&
'Calendario'[FechaInicioSemana] <= [MaxTxnDate]
)
)

Fin:

EndOfWeek =
CALCULAR(
MAX('Calendario'[Fecha]),
FILTRO(
'Calendario',
'Calendario'[Fecha] >= [InicioDeSemana] &&
'Calendario'[FechaInicioSemana] <= [MaxTxnDate]
)
)

Espero que la medida anterior ayude a encontrar el conteo con 3

¿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

Gracias por la respuesta,
recibió el error "Las operaciones de comparación de DAX no admiten la comparación de valores de tipo Number con valores de tipo Text. Considere la posibilidad de utilizar la función VALOR o FORMATO para convertir uno de los valores".

Además, no tengo la semana de inicio y la semana de finalización, pero he creado una actualmente.
Mi día de inicio de semana será un domingo y la fecha de fin de semana será un sábado, cuando creé que se muestra mal.

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!

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

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