Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Hola a todos,
Tengo un conjunto de datos con 3 tablas:
Llamadas (que contienen información de llamadas y número de teléfono)
Line_num (número de teléfono, site_id)
Sitio (site_id, dirección del sitio)
y todas las relaciones funcionan bien, sin embargo, cuando trato de contar el número de llamadas agrupadas por dirección de sitio siempre tengo una fila en blanco contando el número de llamadas que no están asociadas a un sitio, quiero cambiar esta fila en blanco para mostrar "no disponible")
Solved! Go to Solution.
Copying DAX from this post? Click here for a hack to quickly replace it with your own table names
Has this post solved your problem? Please Accept as Solution so that others can find it quickly and to let the community know your problem has been solved.
If you found this post helpful, please give Kudos C
I work as a Microsoft trainer and consultant, specialising in Power BI and Power Query.
www.excelwithallison.com
Copying DAX from this post? Click here for a hack to quickly replace it with your own table names
Has this post solved your problem? Please Accept as Solution so that others can find it quickly and to let the community know your problem has been solved.
If you found this post helpful, please give Kudos C
I work as a Microsoft trainer and consultant, specialising in Power BI and Power Query.
www.excelwithallison.com
gracias por la respuesta,
en realidad la tabla Línea y sitio no tiene filas vacías o en blanco, la diferencia que viene de esa tabla principal que es tabla de llamadas tiene más registros que la tabla de línea/sitio que está bien conmigo, pero para aquellos que no coinciden con los valores que quiero mostrar como no disponibles.
así es como funciona la relación:
de la tabla de llamadas a la línea al sitio:
1- número de llamada a la línea.número
2.line.site_id-sitio. Site_Id
He creado esas relaciones mediante la pestaña relación que no combina ninguna tabla del editor de consultas.
Por favor, vea esta captura de pantalla para lo que quiero decir. Usted necesitará fijar el Call.Number a 'no resumir' para que podamos ver dónde está el problema.
Como se puede ver en mi captura de pantalla a continuación, tengo un Call.Number 4 y 5 que no existen en mi tabla de línea, y que está causando algunos de los espacios en blanco. Si este es su problema, será más difícil de arreglar. Sin embargo, también tengo Call.Number en blanco que tampoco existen en mi tabla Line, y que uno es un poco más fácil de arreglar:
¿De dónde se están sacando sus datos? ¿Está seguro de que Number es el campo coincidente correcto y que no hay un LineNumber en alguna parte de la tabla de llamadas?
Si el Call.number tiene valores null/blank/empty y ese es su problema, haga clic en Transformar datos para abrir el Editor de consultas, realice un valor de reemplazo para reemplazar null con un número que sepa que nunca se usará para ningún otro Line.Number (he elegido un número muy alto en mi ejemplo);
A continuación, tendrá que hacer clic en Introducir datos para agregar una fila para la tabla Línea que dice
Line.Number | SiteID |
10000001 | Sna |
Anexe esta nueva consulta a la parte inferior de la tabla Línea. Haga clic con el botón derecho en esta nueva consulta y desmarque habilitar la carga.
Haga clic en Introducir datos para agregar una nueva fila para la tabla Sitio:
SiteID | Sitio |
Sna | Desconocido |
Anexe esta nueva consulta a la parte inferior de la tabla Site. Haga clic con el botón derecho en esta nueva consulta y desmarque habilitar la carga.
Haga clic en Cerrar y aplicar.
Sus datos deben actualizarse para mostrar el nombre del sitio como "Desconocido" o no disponible o lo que haya elegido escribir en la nueva tabla que anexe a la tabla Sitio como se puede ver en mi captura de pantalla anterior.
Esto se vuelve más difícil si realmente tiene Call.Number para cada llamada (como mi 4 y 5), ya que entonces necesitaría reemplazar todos esos números adicionales con algo que existe en la tabla Line.
Aunque no esté realizando la combinación en el editor de consultas, las relaciones siguen funcionando como hacer una combinación externa izquierda.
Su única otra opción sería simplemente filtrar la tabla para eliminar los espacios en blanco, pero esto no le dará un recuento preciso de todas las llamadas.
También puede votar por una idea similar o crear la suya propia aquí:
https://ideas.powerbi.com/ideas/idea/?ideaid=3a9d90d4-cf6e-46c8-9ebd-d7ca91f99d2d
Es una petición razonable.
La opción final (trampa) sería insertar un cuadro de texto en la parte superior del objeto visual de la tabla, pero esto realmente no es ideal y afectará a la interactividad del informe. También puede probar un botón Información que tiene una información sobre herramientas que muestra información sobre por qué el espacio en blanco está allí.
https://www.wiseowl.co.uk/blog/s2595/pop_ups.htm
Este artículo es muy antiguo, por lo que puede hacer mucho más ahora con botones, incluyendo tener un mensaje mostrado justo cuando el usuario pasa el ratón sobre el botón (ni siquiera tienen que hacer clic), pero este es un buen punto de partida:
http://www.victorrocca.com/using-bookmarks-to-show-hide-information-in-your-power-bi-report/
Copying DAX from this post? Click here for a hack to quickly replace it with your own table names
Has this post solved your problem? Please Accept as Solution so that others can find it quickly and to let the community know your problem has been solved.
If you found this post helpful, please give Kudos C
I work as a Microsoft trainer and consultant, specialising in Power BI and Power Query.
www.excelwithallison.com
Hello Allison,
Many Many thanks for your detailed replay, I walked through your reply step by step for the 2 first solutions and yes they are doable if I'm using those 3 tables only, I'm using more than 7 tables in my data model for this report, however, I got an idea from your solution and it seems to be fine now.
I've joined the "call" table with "line" table using left join on "call.number=line.number" then I joined the site table on the new "Calls" merged query on "line.site_id=site.site_ID" which created null rows on the calls table, then I've replaced the null values with "Not available" and counting calls based on the call.number column group by new merged column "site.site_name"
for example
Call.Call number | Line.line number | Site.site_id | Site.sitename |
123 | 123 | ABC | Site 1 |
234 | null | null | null |
456 | 456 | DEF | site 2 |
345 | null | null | null |
456 456 DEF site 2
then I replaced the null values from line and site table to be "Not available" and that worked!
please if you see anything issues in my solution keep me updated.
Thanks
Copying DAX from this post? Click here for a hack to quickly replace it with your own table names
Has this post solved your problem? Please Accept as Solution so that others can find it quickly and to let the community know your problem has been solved.
If you found this post helpful, please give Kudos C
I work as a Microsoft trainer and consultant, specialising in Power BI and Power Query.
www.excelwithallison.com
Copying DAX from this post? Click here for a hack to quickly replace it with your own table names
Has this post solved your problem? Please Accept as Solution so that others can find it quickly and to let the community know your problem has been solved.
If you found this post helpful, please give Kudos C
I work as a Microsoft trainer and consultant, specialising in Power BI and Power Query.
www.excelwithallison.com
eso es lo que quise decir en el post. Disculpas
así que
Nombre del sitio de ID de sitio
1 sitio a
2 sitio b
3 sitio c
4 sitio d
id. de sitio de llamada
10300
24 1
235 2
35 3
35 4
esto es actualmente cómo funciona porque no hay registros en el Sitio contra la llamada
así que si realmente creas que se unen así
Nombre del sitio de ID de sitio
1 sitio a
2 sitio b
3 sitio c
4 sitio d
5 No hay sitio registrado
id. de sitio de llamada
10300 5
24 1
235 2
35 3
35 4
entonces siempre tendrá un registro contra la tabla de llamadas que agrupa a Ningún sitio registrado o lo que cualquier otra cosa que desea llamarlo
Esto es asuming que el sitio es una lista de sitios, no duplicados.
@amrashrafyw, esto viene debido a la unión correcta. significa que falta algún valor de sitio en la tabla maestra
de lo contrario crear una nueva columna como coalesce(Table[Site],"NA")
En la tabla poner clave de la tabla maestra y la tabla de hechos (1-M). Y comprobar si hay null en un lado y encontrar el desaparecido
He cansado tu solución y tengo la misma fila en blanco.
@amitchandak escribió:En la tabla poner clave de la tabla maestra y la tabla de hechos (1-M). Y comprobar si hay null en un lado y encontrar el desaparecido
¿puedes por favor elaborar más?
Hola @amrashrafyw
Podrías probar algo como esto posiblemente con DAX
Ventas (NoBlanco) =Si( ISBLANK([Ventas]),"No disponible", [Ventas] )
No creo que sea recomendado aunque
https://docs.microsoft.com/en-us/power-bi/guidance/dax-avoid-converting-blank
Hola
Suponiendo que está utilizando measure para el recuento de cálculo y puede usar if condition para obtener la salida desensucionada.
Por ejemplo: IF( [CALL COUNT MEASURE] á BLANK(), "Not Available",[CALL COUNT MEASURE])
¡Aprecia un Kudos! 🙂
Si esto ayuda y resuelve el problema, por favor márquelo como una solución! 🙂
saludos
N V Durga Prasad
gracias por usted respuesta rápida, pero no hacer lo que estoy esperando, creo que no se trata del recuento de llamadas, se relaciona con la mesa "sitio"
Calls (containing call information and phone number)
Site (site_id, site address)
So in this case, calls contains the metric for the report and site contains the information you want to filter the metric on.
we have a left join and your visual is displaying information even when there is no connection to site?
One thing I might do it have another record in the site table for No site specifed. Basically a blank row and then join to the metrics table with the ID from Site to the ID in the calls table against the row that just default no site.
then there will always be a record of No site Specified or what ever you want to add into this default row
But I guess that is a fair bit of work to set up and there may be other work arounds
gracias por su respuesta rápida, sin embargo, no hacer lo que se esperaba como esta medida reemplazando el recuento con el valor "no ava", quiero reemplazar esa fila en blanco en la parte superior con "no ava"