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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
amaleranda
Post Patron
Post Patron

Tabla de fechas con un ciclo de 21 días de columna personalizada.

Hola PowerBI Gurus,

Necesito crear una columna en la tabla de datos según los siguientes requisitos.

"El ciclo de informes base, para las métricas de trabajo es de 21 días. Esto se define por el número de la semana calendario

por ejemplo (R1)2020 Semana 1-3[4/Enero/2020 a 24/Enero/2020] ,

(R2)2020Semana 4-6[25/Enero/2020 a 14/Feb/2020],

(R3)2020Semana 7-9[15/Feb/2020 a 6/Mar/2020], etc.

a partir del primer sábado y avanzando hasta el tercer viernes. este R- debe ser incremento a medida que pasa la semana, por ejemplo 2020Semana 10-12 debe ser R4 y por lo tanto cuarto.

este número R debe restablecerse al final de un ciclo de semana de un nuevo año también.

Truco es de 1/enero/2020 a 3/enero/2020 pertenece a un último ciclo de 21 días del año 2019.

Si esto no explica bien puedo enviarle la fecha de muestra tabel.

Si alguien puede ayudarme con esto, realmente agradezco tu ayuda.

saludos

Tu caridad

1 ACCEPTED SOLUTION
Greg_Deckler
Super User
Super User

OK, @amaleranda este es realmente bastante trivial, todo lo que necesita s esta columna:

R = ROUNDUP([Sequentialish]/3,0)

Por supuesto, conseguir la columna Sequentialish tomó un poco de TRABAJO!!! Tuve que modificar mi medida rápida secuencial aquí: https://community.powerbi.com/t5/Quick-Measures-Gallery/Sequential/m-p/380231#M116 para tener en cuenta las circunstancias especiales. Ya no es realmente secuencial, pero funciona para este propósito.

De todos modos, esta es la columna:

Sequentialish = 
VAR MaxWeeks = SUMMARIZE(ALL('Table'),'Table'[Year],"MaxWeek",MAX('Table'[WeekNum]))
VAR MyYear = [Year]
VAR MyStart = SUMX(FILTER(MaxWeeks,[Year]<MyYear),[MaxWeek])
VAR firstYear = CALCULATE(FIRSTNONBLANK('Table'[Year],1),ALL('Table'))
VAR __Table = 
    ADDCOLUMNS(
        GROUPBY(
            'Table',
            [Year],
            "__MaxWeek",MAXX(CURRENTGROUP(),[Weeknum])
        ),
        "__Count",COUNTROWS(FILTER(ALL('Table'),'Table'[Year]=EARLIER([Year]) && 'Table'[Weeknum]=[__MaxWeek]))
    )
    VAR __Count = COUNTROWS(FILTER(__Table,[Year]<MyYear && [__Count] < 7))
    VAR __Count2 = COUNTROWS(FILTER('Table',[Year]=MyYear && [Weeknum]=1))
VAR myNum = 
    IF(
        MyYear=firstYear,
        [WeekNum],
        IF([Weeknum]>1 && __Count2 <> 7,
            [Weeknum]-1,
            MyStart+[Weeknum]-__Count
        )
    )
RETURN myNum

He adjuntado un archivo PBIX para usted.


Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

View solution in original post

4 REPLIES 4
Greg_Deckler
Super User
Super User

OK, @amaleranda este es realmente bastante trivial, todo lo que necesita s esta columna:

R = ROUNDUP([Sequentialish]/3,0)

Por supuesto, conseguir la columna Sequentialish tomó un poco de TRABAJO!!! Tuve que modificar mi medida rápida secuencial aquí: https://community.powerbi.com/t5/Quick-Measures-Gallery/Sequential/m-p/380231#M116 para tener en cuenta las circunstancias especiales. Ya no es realmente secuencial, pero funciona para este propósito.

De todos modos, esta es la columna:

Sequentialish = 
VAR MaxWeeks = SUMMARIZE(ALL('Table'),'Table'[Year],"MaxWeek",MAX('Table'[WeekNum]))
VAR MyYear = [Year]
VAR MyStart = SUMX(FILTER(MaxWeeks,[Year]<MyYear),[MaxWeek])
VAR firstYear = CALCULATE(FIRSTNONBLANK('Table'[Year],1),ALL('Table'))
VAR __Table = 
    ADDCOLUMNS(
        GROUPBY(
            'Table',
            [Year],
            "__MaxWeek",MAXX(CURRENTGROUP(),[Weeknum])
        ),
        "__Count",COUNTROWS(FILTER(ALL('Table'),'Table'[Year]=EARLIER([Year]) && 'Table'[Weeknum]=[__MaxWeek]))
    )
    VAR __Count = COUNTROWS(FILTER(__Table,[Year]<MyYear && [__Count] < 7))
    VAR __Count2 = COUNTROWS(FILTER('Table',[Year]=MyYear && [Weeknum]=1))
VAR myNum = 
    IF(
        MyYear=firstYear,
        [WeekNum],
        IF([Weeknum]>1 && __Count2 <> 7,
            [Weeknum]-1,
            MyStart+[Weeknum]-__Count
        )
    )
RETURN myNum

He adjuntado un archivo PBIX para usted.


Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...
amitchandak
Super User
Super User

¿Puede explicar con mejor ejemplo? Si está buscando períodos no estándar, consulte

:

https://community.powerbi.com/t5/Community-Blog/Power-BI-Working-with-Non-Standard-Time-Periods/ba-p...

@amitchandak ,

Plesae ver la imagen de abajorevisionclmn.PNG

Hola @amaleranda

Compruebe Greg_Deckler pbix, si su respuesta realmente le ayuda, por favor márquelo como una solución para que otros puedan encontrar las respuestas a este tema rápidamente.

Si no, por favor no dude en hacestarme lo saber.

Saludos

Maggie

Helpful resources

Announcements
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

Power BI Carousel June 2024

Power BI Monthly Update - June 2024

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

RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

Top Solution Authors