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
Anonymous
Not applicable

Agregación de valores por delimitador en el campo de valores de matriz

Hola

Mis datos de modelo son así:

Empleado

Fecha de inicio del proyecto

Fecha de finalización del proyecto

Cliente

John

9/3/2020

9/4/2020

Soluciones Abc

Beth

9/2/2020

9/2/2020

Tecnologías Omega

Beth

9/2/2020

9/2/2020

Tecnolgies marinas

María

9/4/2020

9/4/2020

Soluciones Horizon

Creé una tabla de fechas y uní estas tablas para mostrar una matriz como esta

Empleado

8/31/2020

9/1/2020

9/2/2020

9/3/2020

9/4/2020

John

Abierto

Abierto

Abierto

Abc Solutions

Abierto

Beth

Abierto

Abierto

Tecnologías Omega

Abierto

Abierto

María

Abierto

Abierto

Abierto

Abierto

Soluciones Horizon

Esta matriz muestra valores de campo como este: "primer cliente"

view.png

El problema aquí es Beth tiene dos boletos asignados a ella y muestra sólo uno para 9/2/2020. Quiero algo como esto para Beth con los dos clientes asignados a ella en una sola celda por separación de comas:

Empleado

8/31/2020

9/1/2020

9/2/2020

9/3/2020

9/4/2020

John

Abierto

Abierto

Abierto

Abc Solutions

Abierto

Beth

Abierto

Abierto

Tecnologías Omega,

Tecnologías marinas

Abierto

Abierto

María

Abierto

Abierto

Abierto

Abierto

Soluciones Horizon

Gracias por tu ayuda.

1 ACCEPTED SOLUTION
Greg_Deckler
Super User
Super User

@darkbotrules - ¿No funcionó esto?

Bueno, creo que necesitarías una tabla de citas.

Suponiendo que tiene una columna Fecha en las columnas de la matriz y Empleado en filas, tal vez algo como rango de búsqueda:

https://community.powerbi.com/t5/Quick-Measures-Gallery/LOOKUPVALUE-Range/m-p/974201#M430

Measure =
  VAR __Employee = MAX('Table'[Employee])
  VAR __Date = MAX('Calendar'[Date])
  VAR __Client = 
    CONCATENATEX(
      FILTER(
         ALL('Table'),
         [Employee] = __Employee && __Date >= [Project start date] && __Date <= [Project end date]
      ),
      [Client],
      ", "
    )
RETURN
  IF(ISBLANK(__Match),"Open",__Client)

¡Oh sí, El alcance de búsqueda debería hacerlo!


@ 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

8 REPLIES 8
amitchandak
Super User
Super User

@darkbotrules, prueba con la tabla de citas

medida :
var _1 á MAxx(filter(Table, Table[Start Date] <-Max(Date[Date]) && Table[end Date] >-Max(Date[Date])) ,Table[Client])
devolución
if( isblank(_1), "Open",_1)

No se debe unir con la tabla de fechas, si hay una unión, utilice crossfilter para eliminar

refer : https://youtu.be/e6Y-l_JtCq4

Anonymous
Not applicable

Hola @amitchandak ,

De hecho, seguí su video de youtube ayer para crear una tabla de fechas. Seguí las mismas intrucciones e hice una combinación en la tabla de campo de fecha de fecha al campo Fecha de inicio en mi tabla de datos. ¿No debería unirme a ella con la tabla de fechas?

Greg_Deckler
Super User
Super User

@darkbotrules - ¿No funcionó esto?

Bueno, creo que necesitarías una tabla de citas.

Suponiendo que tiene una columna Fecha en las columnas de la matriz y Empleado en filas, tal vez algo como rango de búsqueda:

https://community.powerbi.com/t5/Quick-Measures-Gallery/LOOKUPVALUE-Range/m-p/974201#M430

Measure =
  VAR __Employee = MAX('Table'[Employee])
  VAR __Date = MAX('Calendar'[Date])
  VAR __Client = 
    CONCATENATEX(
      FILTER(
         ALL('Table'),
         [Employee] = __Employee && __Date >= [Project start date] && __Date <= [Project end date]
      ),
      [Client],
      ", "
    )
RETURN
  IF(ISBLANK(__Match),"Open",__Client)

¡Oh sí, El alcance de búsqueda debería hacerlo!


@ 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...
Anonymous
Not applicable

Gracias un @Greg_Deckler de toneladas. Tengo esto funcionando. Me hundió lo que hiciste allí. ¡Ingenioso!

Tenga otra pregunta para usted, actualmente eliminé todos los campos de tiempo de mi columna de fecha y hora en mi modelo y tabla de fechas para que funcione como una versión 1. Ahora, si quiero volver a introducir el tiempo en consideración, ¿funcionará el mismo dax para la fecha de inicio y finalización? ¿Tengo que extender mi tabla de fechas para tener intervalos por hora? Cualquier guía es útil.

@darkbotrules - ¡Me alegro de que lo hayas conseguido! Hmm, añadiendo en el tiempo. Tendría que entender mejor ese requisito. ¿Estás diciendo simplemente añadir la hora en la que cada valor de tiempo es 12:00:00 AM o estás tratando de determinar qué horas del día la gente está en las reuniones?


@ 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...
Anonymous
Not applicable

@Greg_Deckler por ejemplo mi modelo real tenía fechas en él como a continuación:

Empleado

Fecha de inicio del proyecto

Fecha de finalización del proyecto

Cliente

John

9/3/2020 8:30:00 AM

9/4/2020 5:30:00 PM

Soluciones Abc

Beth

9/2/2020 11:30:00 AM

9/2/2020 12:30:00 PM

Tecnologías Omega

Beth

9/2/2020 1:30:00 PM

9/2/2020 5:30:00 PM

Tecnolgies marinas

María

9/4/2020 1:30:00 PM

9/4/2020 5:30:00 PM

Soluciones Horizon

Y mi tabla de citas tenía citas con las 12:00 am para todos los días. Esto dio lugar a que los datos no aparecieran en la matriz debido a la disparidad en los tiempos en el modelo (8:30 - 5:30) y la tabla de fechas (12:00 AM). Así que eliminé el elemento de tiempo de mi modelo y la tabla de fechas para que funcione como una versión inicial. Ahora bien, si tuviera que introducir los tiempos reales de nuevo en la mezcla, ¿tengo que añadir 24 intervalos de 1 hora por día en mi tabla de fechas? ¿Seguirá funcionando el dax anterior en ese caso?

@darkbotrules - Sí, si agrega 24 intervalos de tiempo para cada día (u 8 si va con un día hábil), entonces sí, el DAX seguiría funcionando muy bien.

así que:

1/1/2020 00:00:00

1/1/2020 01:00:00

1/1/2020 02:00:00

etcetera.

Usted podría generar esto de su tabla de fechas existente de la siguiente manera:

DateTime Table = 
  SELECTCOLUMNS(
    ADDCOLUMNS(
      GENERATE(
        DateTable,
        GENERATESERIES(0,23,1)
      ),
      "DateTime",[Date] & " " & FORMAT([Value],00) & ":00:00"
    ),
    "DateTime",[DateTime]
  )

@ 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...
Anonymous
Not applicable

@Greg_Deckler mucho por esto. Marcarlo como una solución. Mucho que aprender por mí.

también gracias @amitchandak por sus entradas.

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.