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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

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
Sept PBI Carousel

Power BI Monthly Update - September 2024

Check out the September 2024 Power BI update to learn about new features.

September Hackathon Carousel

Microsoft Fabric & AI Learning Hackathon

Learn from experts, get hands-on experience, and win awesome prizes.

Sept NL Carousel

Fabric Community Update - September 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors