Anti-unión izquierda en DAX

Un usuario Pregunto ✅

spsingh

Hola a todos,

Tengo una tabla que se actualiza semanalmente (todos los viernes). Cada semana hay nuevas entradas en la tabla. El objetivo es obtener todas las filas nuevas / modificadas en la semana actual en comparación con la semana anterior. Cada semana lo hago en Power query usando la opción izquierda anti-join en la opción Merge y envío la hoja de Excel manualmente. Pero estaba buscando una opción si puedo usar DAX y hacer una visualización de tabla donde el usuario puede ir y exportar los datos de la tabla. Para que sea de autoservicio y no tenga que hacerlo manualmente cada semana.
Hay una función en DAX, EXCEPTO, que actúa como anti-join. Sé cómo hacer que funcione si tengo 2 mesas separadas, pero en mi caso, tengo una sola tabla.

Esto es lo que hago. Creo dos tablas para CompanyA con los datos de la semana anterior y los datos de la semana actual y uso el anti-join izquierdo para obtener todas las filas que son diferentes de la semana anterior. Lo mismo que hago con la empresa B.

El resultado de esta consulta de combinación es el resultado final.

pbi.JPG

Data de muestra-

Identificación Descripción Escriba Desc Descripción del canal Compañía Identificación del cliente Agente Fecha
30 Más tarde Operacional Centro de contacto A 123 883 28-agosto-20
29 Más tarde Operacional Centro de contacto A 456 883 28-agosto-20
29 Más tarde Operacional Centro de contacto A 1234 884 28-agosto-20
32 Rechazado Márketing Centro de contacto B 987 889 04-sep-20
32 Rechazado Márketing Centro de contacto B 654 890 04-sep-20
32 Rechazado Márketing Centro de contacto B 321 891 04-sep-20
32 Rechazado Márketing Centro de contacto B 1718 134 04-sep-20
32 Rechazado Márketing Centro de contacto B 1314 431 04-sep-20
30 Más tarde Operacional Centro de contacto A 123 883 04-sep-20
29 Más tarde Operacional Centro de contacto A 456 883 04-sep-20
29 Aceptar Operacional Centro de contacto A 1234 884 04-sep-20
31 Más tarde Operacional Centro de contacto A 789 885 04-sep-20
32 Aceptar Operacional Centro de contacto A 1011 886 04-sep-20
33 Más tarde Operacional Centro de contacto A 1213 887 04-sep-20
32 Rechazado Márketing Centro de contacto B 987 889 28-agosto-20
32 Rechazado Márketing Centro de contacto B 654 890 28-agosto-20
32 Rechazado Márketing Centro de contacto B 321 891 28-agosto-20
12 Rechazado Márketing Centro de contacto B 1718 133 28-agosto-20
10 Rechazado Márketing Centro de contacto B 1314 631 28-agosto-20

He intentado explicarlo en detalle. Por favor, avíseme si algo no está claro. Sería genial si alguien pudiera ayudar.

Atentamente,

Supriya

Greg_Deckler

@spsingh Simplemente cree dos tablas separadas en VAR:

New Table =
  VAR __Table1 = FILTER('Table',<filters go here>)
  VAR __Table2 = FILTER('Table',<different filters go here>)
RETURN
  EXCEPT(__Table1,__Table2)

Si es Power Query, cree una tabla base con todos sus registros. Haga clic derecho, cree una referencia, filtre. Haga clic con el botón derecho en la tabla base nuevamente, filtre de manera diferente. Cree una consulta de combinación y combine sus 2 tablas filtradas. Regrese y desactive la carga en las tablas que no desee en su modelo (clic derecho)

Amitchandak

@spsingh, vea si la forma incremental puede ayudar

https: //blog.crossjoin.co.uk/2020/04/13/keep-the-existing-data-in-your-power-bi-dataset-and-add-new -…
https://www.thebiccountant.com/2017/01/11/incremental-load-in-powerbi-using-dax-union/

En DAX, datos en la tabla 1, no en la tabla 2

Nueva tabla = excepto (Tabla1, Tabla2)

https://docs.microsoft.com/en-us/dax/except-function-dax

Combine solo datos nuevos con datos antiguos

Unión (‘Datos antiguos’, excepto (‘Fecha nueva’, ‘Fecha antigua’))

https://docs.microsoft.com/en-us/dax/union-function-dax

https://docs.microsoft.com/en-us/dax/intersect-function-dax

Greg_Deckler

@spsingh Simplemente cree dos tablas separadas en VAR:

New Table =
  VAR __Table1 = FILTER('Table',<filters go here>)
  VAR __Table2 = FILTER('Table',<different filters go here>)
RETURN
  EXCEPT(__Table1,__Table2)

Si es Power Query, cree una tabla base con todos sus registros. Haga clic derecho, cree una referencia, filtre. Haga clic con el botón derecho en la tabla base nuevamente, filtre de manera diferente. Cree una consulta de combinación y combine sus 2 tablas filtradas. Regrese y desactive la carga en las tablas que no desee en su modelo (clic derecho)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *