Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Hola
Tengo dos tablas: una con un valor medio de cinco años y la otra es la tabla de fechas. El valor medio de cinco años tiene entre una y muchas relaciones con la tabla de fechas. La columna "Mes RY" de promedio de cinco años está conectada con la columna Número de mes de la tabla de fechas, como se muestra en la instantánea:
Ambas columnas tienen el mismo tipo de datos, es decir, número entero.
He creado el gráfico de líneas en el que el eje Y contiene el valor medio de la columna SAIDI acumulativa y el eje X contiene columnas "Mes RY" de la tabla promedio de cinco años como se muestra en la imagen:
Sin embargo, cuando cambié el campo de valor del eje X de 'Mes RY' (de la tabla promedio de cinco años) a 'Número de mes' (de la tabla de fechas), muestra una línea plana (como se muestra en la figura) que no debería ser el caso.
Mi expectativa era que la relación entre las dos tablas se estableciera, por lo que debería hacer cualquier cambio en el gráfico cuando cambio los valores del eje X de una tabla a otra. ¿Alguien podría explicar dónde está el problema potencial?
Aquí está el link de los datos de ambas tablas:
https://1drv.ms/x/s!AucycxZHFe9TjT0-EM1mOD6OFkmo?e=kCm2jE
Solved! Go to Solution.
La dirección de la línea muestra la dirección del filtro. Por lo tanto, la tabla de datos está filtrando la tabla de fechas. Eso es al revés. La tabla Date es una tabla DIM (Dimension) y siempre debe filtrar la tabla FACT (o datos).
Haga lo siguiente:
Agregue esta fórmula a la tabla de datos y llámela Fecha. Esto está en Power Query. Agregue una nueva columna personalizada. Esta es la fórmula.
if Date.EndOfMonth(Date.FromText([month] & "1, " & Text.From(Date.Year(DateTime.LocalNow())))) > DateTime.Date(DateTime.LocalNow())
then Date.AddYears(Date.EndOfMonth(Date.FromText([month] & "1, " & Text.From(Date.Year(DateTime.LocalNow())))), -1)
else Date.EndOfMonth(Date.FromText([month] & "1, " & Text.From(Date.Year(DateTime.LocalNow()))))
Puede que no esté bien. Lo que devuelve es esto (escondí columnas por el bien del espacio)
Ahora conecte esa columna de fecha a la columna Fecha de la tabla Fecha. Debe ser uno a muchos de la tabla Date que apunte a la tabla de hechos.
Ahora los campos de tabla de fechas deben usarse en los objetos visuales y funcionarán.
Si esa no es la fecha calculada correctamente, muéstrame lo que debería ser. Básicamente dije obtener el nombre del mes (jan, feb, mar) y hacerlo el último día del mes para este año, a menos que sea el futuro, luego hacerlo el año pasado.
DAX is for Analysis. Power Query is for Data Modeling
Proud to be a Super User!
MCSA: BI ReportingSí. su relación es al revés @myasir. Debe ser de la tabla Date (uno) a la tabla FACT (muchos). Necesita una fecha real en la tabla FACT y, a continuación, vincularla a la fecha de la tabla Date. Esta es la razón por la que es una línea plana, la tabla de fechas no está filtrando la otra tabla. ¿Ves la dirección de la flecha?
Y no habilite bidireccional. Eso no siempre lo arregla y es el enfoque equivocado aquí.
Sin poder ver qué tipo de datos hay en la columna Mes RY, no puedo ayudar a que sea una fecha válida. Necesitaría datos, por abajo.
Cómo obtener una buena ayuda rápidamente. Ayúdanos a ayudarte.
Cómo obtener respuestas a su pregunta rápidamente
Cómo proporcionar datos de ejemplo en el foro de Power BI
DAX is for Analysis. Power Query is for Data Modeling
Proud to be a Super User!
MCSA: BI Reporting@edhans, no entendía la dirección de la línea. Los datos eran demasiado grandes y el portal no me dejaba pegar. Así que he subido en una unidad y pegado el enlace en la publicación real.
La dirección de la línea muestra la dirección del filtro. Por lo tanto, la tabla de datos está filtrando la tabla de fechas. Eso es al revés. La tabla Date es una tabla DIM (Dimension) y siempre debe filtrar la tabla FACT (o datos).
Haga lo siguiente:
Agregue esta fórmula a la tabla de datos y llámela Fecha. Esto está en Power Query. Agregue una nueva columna personalizada. Esta es la fórmula.
if Date.EndOfMonth(Date.FromText([month] & "1, " & Text.From(Date.Year(DateTime.LocalNow())))) > DateTime.Date(DateTime.LocalNow())
then Date.AddYears(Date.EndOfMonth(Date.FromText([month] & "1, " & Text.From(Date.Year(DateTime.LocalNow())))), -1)
else Date.EndOfMonth(Date.FromText([month] & "1, " & Text.From(Date.Year(DateTime.LocalNow()))))
Puede que no esté bien. Lo que devuelve es esto (escondí columnas por el bien del espacio)
Ahora conecte esa columna de fecha a la columna Fecha de la tabla Fecha. Debe ser uno a muchos de la tabla Date que apunte a la tabla de hechos.
Ahora los campos de tabla de fechas deben usarse en los objetos visuales y funcionarán.
Si esa no es la fecha calculada correctamente, muéstrame lo que debería ser. Básicamente dije obtener el nombre del mes (jan, feb, mar) y hacerlo el último día del mes para este año, a menos que sea el futuro, luego hacerlo el año pasado.
DAX is for Analysis. Power Query is for Data Modeling
Proud to be a Super User!
MCSA: BI ReportingGracias @edhans por explicar el problema del filtro. Entré en la columna de fecha en la tabla de hechos y me conecté con la tabla tenue y funcionó según lo esperado. Eres mi salvador.
Gran @myasir - me alegro de que ayudó. Esta es la teoría inicial del esquema de estrella, que es fundamental para la mayoría de los modelos de Power BI correctos. MS tiene una página, y hay algunos buenos artículos y libros en ella también.
Orientación de Microsoft sobre la importancia del esquema star
DAX is for Analysis. Power Query is for Data Modeling
Proud to be a Super User!
MCSA: BI Reporting