Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

The ultimate Microsoft Fabric, Power BI, Azure AI & SQL learning event! Join us in Las Vegas from March 26-28, 2024. Use code MSCUST for a $100 discount. Register Now

Reply
Syndicate_Admin
Administrator
Administrator

Devolver un valor de otra tabla con condiciones de paridad de recuento de filas

Hola

Estoy tratando de devolver el valor de otra tabla comprobando la paridad desigual de la fila de conteo con los cálculos de las condiciones.

Actualmente tengo que usar varias columnas para verificar cada nombre que corresponda a la identificación.

Capture d'écran 2023-12-01 230610.png

¿Hay alguna manera de optimizar este cálculo que es demasiado pesado para ser publicado con un gran conjunto de datos?

Aquí está la fórmula real para cada columna:

VAR ID =  Table1[ID]

RETURN
IF(
    ISEVEN(
        SUMX(
            ADDCOLUMNS(
                    GENERATE(FILTER(Table1, Table1[ID] = ID ),
                     Table2 ),"@", INT ( (Table2[Name]="X")  && (Table1[Col1]-Table2[A]=Table1[Col2]))),
            [@] 
            )
        ),
    "No","Yes")

Y la fórmula para deducir el nombre

Name = IF(Table1[Check X]="Yes","X",IF(Table1[Check Y]="Yes","Y",IF(Table1[Check Z]="Yes","Z","/")))

Thx

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Gracias a Ahmedx por su solución. Mientras tanto, he encontrado una solución que parece funcionar mejor al actualizar.

Bassin = 
VAR __Datetime =  datas[datetime] 
VAR __datas = ADDCOLUMNS(GENERATE ( FILTER ( datas, datas[datetime] = __Datetime ), FILTER(Geometries_Bassins,  ((Geometries_Bassins[m]*datas[Xnav]-10000+Geometries_Bassins[b])*(datas[Xnav]*Geometries_Bassins[m]-datas[Ynav]+Geometries_Bassins[b])<0)  && (MIN(Geometries_Bassins[X],Geometries_Bassins[X+1])<=datas[Xnav]) && (MAX(Geometries_Bassins[X],Geometries_Bassins[X+1])>datas[Xnav]))),"@",1)
VAR _datassummerize = GROUPBY(__datas,[Datetime],[Name],"total",SUMX(CURRENTGROUP(),[@]))
RETURN
MAXX(
   FILTER(_datassummerize, 
      ISODD([total])
   ),
   [Name]
)

View solution in original post

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Gracias a Ahmedx por su solución. Mientras tanto, he encontrado una solución que parece funcionar mejor al actualizar.

Bassin = 
VAR __Datetime =  datas[datetime] 
VAR __datas = ADDCOLUMNS(GENERATE ( FILTER ( datas, datas[datetime] = __Datetime ), FILTER(Geometries_Bassins,  ((Geometries_Bassins[m]*datas[Xnav]-10000+Geometries_Bassins[b])*(datas[Xnav]*Geometries_Bassins[m]-datas[Ynav]+Geometries_Bassins[b])<0)  && (MIN(Geometries_Bassins[X],Geometries_Bassins[X+1])<=datas[Xnav]) && (MAX(Geometries_Bassins[X],Geometries_Bassins[X+1])>datas[Xnav]))),"@",1)
VAR _datassummerize = GROUPBY(__datas,[Datetime],[Name],"total",SUMX(CURRENTGROUP(),[@]))
RETURN
MAXX(
   FILTER(_datassummerize, 
      ISODD([total])
   ),
   [Name]
)

Syndicate_Admin
Administrator
Administrator

Por favor, pruebe esto

Screenshot_1.png

Helpful resources

Announcements
Fabric Community Conference

Microsoft Fabric Community Conference

Join us at our first-ever Microsoft Fabric Community Conference, March 26-28, 2024 in Las Vegas with 100+ sessions by community experts and Microsoft engineering.

Fabric Career Hub

Microsoft Fabric Career Hub

Explore career paths and learn resources in Fabric.

Fabric Partner Community

Microsoft Fabric Partner Community

Engage with the Fabric engineering team, hear of product updates, business opportunities, and resources in the Fabric Partner Community.

Power BI Header Change

Power BI Header Update

Read about the exciting updates for the Power BI forum.

Top Solution Authors
Top Kudoed Authors