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

DAX para DISTINCT Count ID en la tabla de muchas a muchas relaciones

Hola a todos

Tengo dos tablas con muchas a muchas relación, estoy tratando de crear una columna para encontrar el recuento distinto de "Id" y agruparlo por hora de inicio y finalización. No lo quiero como medida porque voy a usar el valor de la nueva columna para compararlo con otra columna.

TABLA A

ID.- Start_Time de la casa de los End_Time de la casa de los 15_Min_Time
1 ? 2020-01-02 10:01:00 2020-01-02 10:08:00 2020-01-02 10:00:00
2 ? 2020-01-02 10:01:00 2020-01-02 10:08:00 2020-01-02 10:00:00
3 ? 2020-01-02 10:06:00 2020-01-02 10:12:00 2020-01-02 10:00:00
4 ? 2020-01-02 10:18:00 2020-01-02 10:30:00 2020-01-02 10:15:00

TABLA B

Tiempo de tiempo ? Info_Value ? 15_Min_Time
2020-01-02 10:00:00 2 ? 2020-01-02 10:00:00
2020-01-02 10:01:00 1 ? 2020-01-02 10:00:00
2020-01-02 10:02:00 3 ? 2020-01-02 10:00:00
2020-01-02 10:03:00 4 ? 2020-01-02 10:00:00
2020-01-02 10:04:00 5 ? 2020-01-02 10:00:00
2020-01-02 10:05:00 1 ? 2020-01-02 10:00:00

TABLA A y TABLA B tienen una relación M:M con 15_Min_Time

Salida esperada:

Quiero una columna con un recuento distinto de id pero agrupada por Start_Time

ID.- Start_Time de la casa de los End_Time de la casa de los 15_Min_Time ? New_Column
1 ? 2020-01-02 10:01:00 2020-01-02 10:08:00 2020-01-02 10:00:00 2
2 ? 2020-01-02 10:01:00 2020-01-02 10:08:00 2020-01-02 10:00:00 2
3 ? 2020-01-02 10:06:00 2020-01-02 10:12:00 2020-01-02 10:00:00 1

Probé la siguiente fórmula

New_Column: CALCULATE(DISTINCTCOUNT(Table A[id]), GroupBy(Table A[Start_Time], Table A[End_Time]))

Error --- Error de dependencia circular

New_Column: SUMMARIZE(Tabla A,Tabla A[start_time],Tabla A[End_time],"ID distinto",DISTINCTCOUNT(Tabla A[id]))

Error ---- La expresión hace referencia a varias columnas.

1 ACCEPTED SOLUTION
Anonymous
Not applicable

Solucioné este problema revisando el artículo https://www.sqlbi.com/articles/understanding-circular-dependencies/ utilicé la función ALLExcept para superar el problema.

New_Col de la casa de los 20o CALCULATE(DISTINCTCOUNT(Table A[id]),GROUPBY(Table A,Table A[start_time], Table B[End_time]),ALLEXCEPT(Table A,Table A[Calculated_Col]))

Nota:
Calculated_Col es una columna que creé para obtener el promedio de la tabla B(Info_Value), power bi considera todas las columnas de la tabla mientras crea "New_Col", por lo que estaba recibiendo un error de dependencia circular, ALLExcept resuelve ese problema.

View solution in original post

3 REPLIES 3
Greg_Deckler
Super User
Super User

@nikeshv En primer lugar, recomendaría tratar de deshacerse de cualquier relación directa de muchos a muchos. Utilice una mesa de puente para conectar esas dos mesas y su vida será más fácil.

En cuanto a tus errores. El segundo es porque SUMMARIZE devuelve una tabla, no un solo valor escalar.

El primer error, las dependencias circulares son difíciles de resolver sin más información.


No es realmente suficiente información para seguir adelante, por favor primero compruebe si su problema es un problema común enumerado aquí: https://community.powerbi.com/t5/Community-Blog/Before-You-Post-Read-This/ba-p/1116882

Además, consulte este post sobre cómo obtener respuesta a su pregunta 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...
Anonymous
Not applicable

@Greg_Deckler Gracias por compartir la información, voy a trabajar en la resolución de la cardinalidad M a M, he actualizado mi pregunta con más información, espero que esto ayude a resolver el problema.

Anonymous
Not applicable

Solucioné este problema revisando el artículo https://www.sqlbi.com/articles/understanding-circular-dependencies/ utilicé la función ALLExcept para superar el problema.

New_Col de la casa de los 20o CALCULATE(DISTINCTCOUNT(Table A[id]),GROUPBY(Table A,Table A[start_time], Table B[End_time]),ALLEXCEPT(Table A,Table A[Calculated_Col]))

Nota:
Calculated_Col es una columna que creé para obtener el promedio de la tabla B(Info_Value), power bi considera todas las columnas de la tabla mientras crea "New_Col", por lo que estaba recibiendo un error de dependencia circular, ALLExcept resuelve ese problema.

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.