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
vjnvinod
Impactful Individual
Impactful Individual

Ayuda de consulta de energía para distribuir horas

Hola

Estoy tratando de lograr una condición en la consulta de energía y su ayuda será muy apreciada

si mi Employe GUI tiene la misma fecha de transacción, tendré que poner 8 horas a una de esas fechas de transacción y otra fecha de transacción repetida debe mantenerse 0

¿cómo lo logro en la consulta de energía?

Capture.PNG

1 ACCEPTED SOLUTION
v-eqin-msft
Community Support
Community Support

No @vjnvinod,

Perdón por mi respuesta tardía.

Según mi opinión, para las filas con el mismo emp y fecha, usted quiere elegir uno para dar el valor de 8h y el resto es 0, ¿verdad?

Todo lo que hago es clasificar por Emp y Fecha y luego usar #duration (0,8,0,0) para establecer 8h cuando el rango 1

Aquí está el código M completo:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQwNjYzMVbSUTIyMDLQNzTSNzRXitUhT8LIyNTChDIJMzwSsQA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Employee GUI" = _t, #"Transaction Date" = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Employee GUI", Int64.Type}, {"Transaction Date", type date}}),   
    #"Grouped" = Table.Group(#"Changed Type", {"Employee GUI","Transaction Date"}, {{"AllRows", each _, type table}}),
    RankFunction = (tabletorank as table) as table =>
     let
      SortRows = Table.Sort(tabletorank,{{"Transaction Date", Order.Descending}}),
      AddIndex = Table.AddIndexColumn(SortRows, "Rank", 1, 1)
     in
      AddIndex,
    #"Added Index" = Table.AddIndexColumn(#"Grouped", "Rank", 1, 1, Int64.Type),
    #"Group Rows" =Table.TransformColumns(#"Added Index", {"AllRows", each RankFunction(_)}),
    #"Expanded AllRows" = Table.ExpandTableColumn(#"Group Rows", "AllRows", {"Rank"}, {"AllRows.Rank"}),
    #"Added Custom" = Table.AddColumn(#"Expanded AllRows", "Hour", each if [AllRows.Rank]=1 then #duration(0,8,0,0) else #duration(0,0,0,0))
in
    #"Added Custom"

La salida final se muestra a continuación:

12.18.3.1.PNG

Usted podría echar un vistazo a la pbix aquí.

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

Saludos
Eyelyn Qin

View solution in original post

2 REPLIES 2
v-eqin-msft
Community Support
Community Support

No @vjnvinod,

Perdón por mi respuesta tardía.

Según mi opinión, para las filas con el mismo emp y fecha, usted quiere elegir uno para dar el valor de 8h y el resto es 0, ¿verdad?

Todo lo que hago es clasificar por Emp y Fecha y luego usar #duration (0,8,0,0) para establecer 8h cuando el rango 1

Aquí está el código M completo:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQwNjYzMVbSUTIyMDLQNzTSNzRXitUhT8LIyNTChDIJMzwSsQA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Employee GUI" = _t, #"Transaction Date" = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Employee GUI", Int64.Type}, {"Transaction Date", type date}}),   
    #"Grouped" = Table.Group(#"Changed Type", {"Employee GUI","Transaction Date"}, {{"AllRows", each _, type table}}),
    RankFunction = (tabletorank as table) as table =>
     let
      SortRows = Table.Sort(tabletorank,{{"Transaction Date", Order.Descending}}),
      AddIndex = Table.AddIndexColumn(SortRows, "Rank", 1, 1)
     in
      AddIndex,
    #"Added Index" = Table.AddIndexColumn(#"Grouped", "Rank", 1, 1, Int64.Type),
    #"Group Rows" =Table.TransformColumns(#"Added Index", {"AllRows", each RankFunction(_)}),
    #"Expanded AllRows" = Table.ExpandTableColumn(#"Group Rows", "AllRows", {"Rank"}, {"AllRows.Rank"}),
    #"Added Custom" = Table.AddColumn(#"Expanded AllRows", "Hour", each if [AllRows.Rank]=1 then #duration(0,8,0,0) else #duration(0,0,0,0))
in
    #"Added Custom"

La salida final se muestra a continuación:

12.18.3.1.PNG

Usted podría echar un vistazo a la pbix aquí.

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

Saludos
Eyelyn Qin

Greg_Deckler
Super User
Super User

@vjnvinod - Lo sentimos, primero, ¿puedes publicarlo como texto? En segundo lugar, ¿puede publicar lo que espera como salida?

Por favor, consulte este post sobre cómo obtener su pregunta respondida rápidamente: https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490

Las partes más importantes son:
1. Datos de muestra como texto, utilice la herramienta de tabla en la barra de edición
2. Salida esperada de los datos de muestra
3. Explicación en palabras de cómo obtener de 1. a 2.


@ 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...

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.