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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Anonymous
Not applicable

Gráfico de líneas de discretizar

Hola

He estado intentando dividir el siguiente gráfico de líneas en varios grupos, de acuerdo con la columna rangoDeTiempo. El problema es que todo lo que he hecho sigue mezclando todas las líneas en una, que es el promedio de todas las líneas individuales.

LineChart.PNG

Estoy seguro de que el problema es cómo calculo/filtro las medidas utilizadas para la gráfica.
He estado buscando la solución en los foros y en Internet. He probado varias sugerencias, pero nada ayuda.


Como referencia, añadiré los enlaces a los datos que he utilizado y al archivo .pbix. He cambiado algunos nombres en los datos, e incluiré sólo las columnas necesarias para reproducir lo que he hecho, ya que son datos confidenciales.

Tengo dos tablas:

  • Table 1 Name: Frecuencia
    • Columns: horasDeUsoPromedio, n.Gente, n.Bajas, fecha
  • Tabla 2 Nombre: Tiempo_de_Uso
    • Columnas: horasDeUsopromedio, Rango.De.Tiempo

En la Tabla 1,la fecha tiene la forma de "aaaa-mm-dd". Aunque el día siempre es 1, la fecha representa todo el mes (específico).

  • horasDeUsoPromedio, es el tiempo medio de uso.
  • n.Gente es el número de personas que utilizaron un producto (que no incluyo en los datos) durante un tiempo promedio determinado (horasDeUsoPromedio). Lo más probable es que no cambie su valor de 1, ya que el conjunto de datos original está altamente diseccionado.
  • n.Bajas es el número de personas que utilizaron un producto durante un tiempo promedio determinado (horasDeUsoPromedio) y de repente dejó de usarlo en un mes específico.

La Tabla 2 se utiliza para asignar una etiqueta de texto a la columna horasDeUsoPromedio en la Tabla 1.

  • horasDeUsoPromedio contiene valores únicos de horasDeUsoPromedio de la Tabla 1.
  • Rango.De.Tiempo es una etiqueta de texto asignada a cada valor horasDeUsoPromedio.

Los cálculos que hice son los siguientes:
Medida 1:

Promedio YTD (Gente)
CALCULATE(SUM('Frecuencia'[n.Gente]) /
(DATEDIFF(MIN('Frecuencia'[fecha]),
MAX('Frecuencia'[fecha]),
MES) + 1
),
FILTER(ALLSELECTED('Frecuencia'),
'Frecuencia'[fecha] > MAX('Frecuencia'[fecha]) - 365 &&
'Frecuencia'[fecha] <= MAX('Frecuencia'[fecha])
)
)
Medida 2:
YTD Bajas=
CALCULATE(
SUM('Frecuencia'[n.Bajas]),
FILTRO(
ALLSELECTED('Frecuencia'),
'Frecuencia'[fecha] > MAX('Frecuencia'[fecha]) - 365 &&
'Frecuencia'[fecha] <= MAX('Frecuencia'[fecha])
)
)
Medida 3:
Frecuencia = [YTD Bajas]/[YTD Average(Gente)]
¡Agradeceré cualquier ayuda que puedas proporcionar!
1 ACCEPTED SOLUTION
Anonymous
Not applicable

Bueno, después de varios días de tratar de solucionar este problema. Eché un vistazo a todas las funciones y pensé que podía usar la función DISTINCT como un segundo filtro en la función CALCULATE de ambos, medida 1 y medida 2.

El resultado fue lo que esperaba. En caso de que alguien se encuentre con un problema similar, modifiqué las medidas de la siguiente manera:

Medida 1:

Promedio YTD (Gente)
CALCULATE(SUM('Frecuencia'[n.Gente]) /
(DATEDIFF(MIN('Frecuencia'[fecha]),
MAX('Frecuencia'[fecha]),
MES) + 1
),
FILTER(ALLSELECTED('Frecuencia'),
'Frecuencia'[fecha] > MAX('Frecuencia'[fecha]) - 365 &&
'Frecuencia'[fecha] <= MAX('Frecuencia'[fecha])
),
DISTINCT(Frecuencia[horasDeUsoPromedio])
)
Medida 2:
YTD Bajas=
CALCULATE(
SUM('Frecuencia'[n.Bajas]),
FILTRO(
ALLSELECTED('Frecuencia'),
'Frecuencia'[fecha] > MAX('Frecuencia'[fecha]) - 365 &&
'Frecuencia'[fecha] <= MAX('Frecuencia'[fecha])
),
DISTINCT(Frecuencia[horasDeUsoPromedio])
)

La siguiente gráfica es el resultado:
En este caso, estoy seleccionando cuatro valores para segmentar los datos.
LineChart.PNG

View solution in original post

1 REPLY 1
Anonymous
Not applicable

Bueno, después de varios días de tratar de solucionar este problema. Eché un vistazo a todas las funciones y pensé que podía usar la función DISTINCT como un segundo filtro en la función CALCULATE de ambos, medida 1 y medida 2.

El resultado fue lo que esperaba. En caso de que alguien se encuentre con un problema similar, modifiqué las medidas de la siguiente manera:

Medida 1:

Promedio YTD (Gente)
CALCULATE(SUM('Frecuencia'[n.Gente]) /
(DATEDIFF(MIN('Frecuencia'[fecha]),
MAX('Frecuencia'[fecha]),
MES) + 1
),
FILTER(ALLSELECTED('Frecuencia'),
'Frecuencia'[fecha] > MAX('Frecuencia'[fecha]) - 365 &&
'Frecuencia'[fecha] <= MAX('Frecuencia'[fecha])
),
DISTINCT(Frecuencia[horasDeUsoPromedio])
)
Medida 2:
YTD Bajas=
CALCULATE(
SUM('Frecuencia'[n.Bajas]),
FILTRO(
ALLSELECTED('Frecuencia'),
'Frecuencia'[fecha] > MAX('Frecuencia'[fecha]) - 365 &&
'Frecuencia'[fecha] <= MAX('Frecuencia'[fecha])
),
DISTINCT(Frecuencia[horasDeUsoPromedio])
)

La siguiente gráfica es el resultado:
En este caso, estoy seleccionando cuatro valores para segmentar los datos.
LineChart.PNG

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

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.