cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
Helper II
Helper II

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

Accepted Solutions
Highlighted

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
Highlighted
Super User IV
Super User IV

@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!!!

I have a NEW book! 
DAX Cookbook from Packt
Over 120 DAX Recipes!




Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




Highlighted

@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.

Highlighted

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

Helpful resources

Announcements
Community Conference

Power Platform Community Conference

Check out the on demand sessions that are available now!

Community Conference

Microsoft Power Platform Communities

Check out the Winners!

secondImage

Create an end-to-end data and analytics solution

Learn how Power BI works with the latest Azure data and analytics innovations at the digital event with Microsoft CEO Satya Nadella.

Top Solution Authors
Top Kudoed Authors