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
Suna
Helper I
Helper I

Recuento de viernes no festivos

Hola dax wizards!

Larga pregunta corta: Cómo contar el número de viernes a menos que ese día sea un día festivo. Si es así, calcule el anterior no festivo. Y necesito una medida porque estoy usando esta medida en otras medidas.

Larga pregunta larga:

Antecedentes: Tenemos tres grupos de ventas, digamos A, B y C. Las ventas ocurren quincenalmente para el grupo A y B, incluso las semanas son para el grupo A y las semanas impares son para el grupo B. El Grupo C tiene ventas en la última jornada de trabajo de cada mes. Para los cálculos posteriores necesito dejar fuera el gourp C.

Las ventas A y B ocurren todos los viernes, a menos que ese día sea un día festivo (entonces es el día laborable anterior). Cada trimestre hay un mes que tiene 3 viernes para uno de los grupos. Tengo un vendedor que tendría que obtener una medida para las ventas calculadoras, es decir, si un grupo tiene 3 salesday en un mes, el importe de ventas debe dividirse por 3 y multiplicarse por 2 (para obtener cada mes a 2 salesperiod). Para esta medida primero necesito calcular cuántos días de venta hay en un mes. Tal vez esto ayude a:

Calendar.jpg

Tengo una tabla de calendario que tiene columnas para días festivos y días de venta, tanto como "sí" o "no", pero se pueden cambiar a 0 o 1 si es necesario. También hay una columna que dice si la semana es para el grupo A o B. Y el número de días de la semana (lunes n.o 1).

Mi primer intento fue contar los viernes. Funcionó muy bien hasta que me di cuenta del problema con los días festivos. Por ejemplo, abril de 2020 tiene 3 viernes y 2 jueves que son días de venta.

A continuación probé el enfoque de día de venta:

CALCULATE(COUNTROWS(Calendar), Calendar[Salesday] á "Yes")

Pero por supuesto esto cuenta también el grupo C día de ventas, por lo que 1 semana tiene dos días de venta, a menos que el último día laborable del mes sea el viernes. Esta sería la medida más fácil (creo), si pudiera haber una sección que sale el último día de ventas del mes fuera, a menos que ese día sea el viernes.

O una medida contando el último día laborable no festivo de cada semana.

Lo siento por el post largo, nunca sé cuánta información de fondo para dar que la pregunta se entiende 🙂

5 REPLIES 5
v-yingjl
Community Support
Community Support

Hola @Suna ,

En función de su descripción, para calcular los viernes que no sean festivos, pruebe así:

Cree una columna de día de la semana:

Weekday = WEEKDAY('Table'[Date],2)  //Monday = 1

Cree una medida para calcular los viernes:

count fri = 
CALCULATE(
    DISTINCTCOUNT('Table'[Date]),
    FILTER(
        'Table',
        'Table'[Weekday] = 5 &&
        'Table'[Salesday] = "Yes"
    )
)

table.pngtable result.png

Best Looks,
Yingjie Li

Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Esto ya lo intenté. Sólo da el resultado correcto, si el día de venta es viernes. A veces es jueves, a veces puede ser miércoles o martes, dependiendo de cuántos días festivos haya en esa semana.

Por lo tanto, si esta medida pudiera agregar una sección "si el día de la semana 5 y días festivos - Sí, entonces cuente el día de ventas anterior en su lugar" podría funcionar.

O si podría haber algo como recuentos de calendario si el día de ventas - sí, pero no cuente el último si no es viernes. el resultado final será diagrama por mes para que esa medida deje fuera el Grupo C.

Ya he perdido la esperanza con este caso. No creo que haya una manera de contar todos estos factores para obtener el resultado correcto 😞

@v-yingjl

Olvidé etiquetarla en el post anterior. Me acabo de dar cuenta de que si puedo hacer una columna en el calendario para los grupos A-C podría usar eso para dejar fuera C del recuento de días de ventas.

Ya tengo una columna para A y B porque eso era fácil de hacer en el día 🙂

IF(MOD(Calendar[Week], 2) á 0 , "GA", "GB")

Si pudiera agregar C a una nueva columna o a la misma que podría ayudar. Pero aquí siempre me enfrento a una pared de cómo hacerlo porque no puedo imaginar cómo obtener el último día de ventas del mes. Estaba pensando en EOMONTH pero el último día de ventas puede no ser el último día del mes. Así que no funciona, pero esto estaba más cerca que tengo.

IF (Calender [Fecha] - EOMONTH (Calended [Fecha] , 0) &&

Calender[Fecha] - "Sí",

"Sí" , BLANK ( ) )

Resultado final lo que estaría buscando:

FechaNúmero de semanaVentasGrupo C
15.4.202016Grupo A
16.4.202016Grupo A
20.4.202016Grupo A
21.4.202016Grupo A
22.4.202017Grupo B
23.4.202017Grupo B
27.4.202017Grupo B
28.4.202017Grupo B
29.4.202018Grupo A
30.4.202018Grupo A
1.5.202018Grupo A
2.5.202018Grupo A
3.5.202018Grupo A
4.5.202018Grupo A

En realidad no, este woudn tampoco funciona. Debido a que el día de ventas del grupo C también puede ser el día de ventas del grupo A o B, por lo que usar esto como medida no daría la respuesta correcta. Así que volvamos al cuadrado 1, supongo.

Me di cuenta de esto 🙂 No es 100 % eficaz, pero funciona casi todos los meses lo suficientemente bien.

Si estás utilizando un ordenador portátil o una tablet, intenta moverte a otra ubicación e inténtalo de nuevo.

- Columna para el día de venta de C

- Columna viernes GC: si el día de venta C es "sí" y si el día de la semana es 5

Usando estos hice columna para los días de venta que no son "no" en la columna viernes GC

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.