Re: [Qgis-user] Can't accomplish comparisions between different Map Layer Table's

2024-05-14 Thread Guillermo Parra via QGIS-User
Thank you very much Osin!
With the example that you kindly provided is more clear. I will try it and 
again, thank you very much!
Regards.


El martes, 14 de mayo de 2024, 13:52:16 GMT-6, oisin.kelly.w...@gmail.com 
 escribió:  
 
 get_feature(layer, attribute, value)

This returns a feature. You can then wrap this in attributes() to return a 
dictionary of attribute names and  values.

You then add ['attributename'] on end to return value.

So for each table 
 something like

attributes(get_feature('table1', 'common-id-name', 
"common-id-name"))['H3centr-h9...']

Does this make sense

Oisin


Get BlueMail for Android On 14 May 2024, at 20:35, Guillermo Parra 
 wrote:
   Hello Oisin,   
   Thank you for your guidance regarding this topic, and I am sorry if I need 
further assistance, but I'm kind of new to QGIS.   
   Regarding the need to define the layer for each attribute, will it work if I 
stated like I had wroten before? i.e.: 'Table1.H3centr_h9_cobcubierto'  = 1 
OR    'Table2.H3centr_h9_cobcubierto' = 1   Will QGIS recognize it?   
   And to find the comparable record, certaingly I can use a common id. So I 
will explore the getfeature( ) tool that you suggest, thank you very much.   
   Regards.     
   
   Guillermo Parra Montealegre e-mail: meminp...@yahoo.com
   
El martes, 14 de mayo de 2024, 13:23:07 GMT-6, oisin.kelly.w...@gmail.com 
 escribió:   
   
  You definitely need to define the layer for each attribute (except the 
current layer). 
 
   You also need a way to find the comparable record, e.g. 
   (i) with a common id (use getfeature() to access attribute) or 
   (ii) spatially use one of the overlay functions. 
 
   Oisin 
 
   Get BlueMail for Android   On 14 May 2024, at 19:52, Guillermo Parra via 
QGIS-User  wrote: 
 Hi,   
   I have several tables with the same fields, same grid information, but 
different field data for each one (information from different providers, let's 
say).   
   Particularly, I have a field with 0 and 1 which represent if each provider 
have, or not have coverage in that area.   
   I want to compare the values of each table to set "1" if at least one of the 
providers have coverage in each area, or "0" if None of them have it, so I used 
the field calculator and the expression builder with this sql statement:   
 if( 'H3centr_h9_cobcubierto'  = 1 OR    'H3centr_h9_cobcubierto' = 1 OR   
'H3centroides_h9_cobGT3D cubierto' = 1 OR   'H3centroides_h9_cob_cubierto'  = 
'1' OR   'H3centr_h9_cob_cubierto' = '1' OR   'H3cent_cob_cubierto'  = '1' OR   
"H3centrR9_Tc3D_cubierto"  ='1', 1, 0)   
   The problem is that apparently it is considering only the last field in 
double quotes (which is in the same table that the new column where I want to 
fill the data), and the other fields apparently are beign ignored.   
   I would guest that it would be better to specify the table and field where 
each data will be taken ( like     if( 'Table1.H3centr_h9_cobcubierto'  = 1 OR  
  'Table2.H3centr_h9_cobcubierto' = 1 OR... etc.)but when I make double 
click over each layer field, QGIS writes it that way, so I asume it is correct. 
  
   So, if someone have an idea on how I can make it work, I would greatly 
appreciate any suggestion.   Thanks,   
Guillermo.   
   
   Guillermo Parra Montealegre e-mail: meminp...@yahoo.com   
 QGIS-User mailing list 
 QGIS-User@lists.osgeo.org 
 List info: https://lists.osgeo.org/mailman/listinfo/qgis-user 
 Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user 
 
 
  ___
QGIS-User mailing list
QGIS-User@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user


Re: [Qgis-user] Can't accomplish comparisions between different Map Layer Table's

2024-05-14 Thread oisin.kelly.wild--- via QGIS-User
get_feature(layer, attribute, value)

This returns a feature. You can then wrap this in attributes() to return a 
dictionary of attribute names and  values.

You then add ['attributename'] on end to return value.

So for each table
something like

attributes(get_feature('table1', 'common-id-name', 
"common-id-name"))['H3centr-h9...']

Does this make sense

⁣Oisin


Get BlueMail for Android ​

On 14 May 2024, 20:35, at 20:35, Guillermo Parra  wrote:
>Hello Oisin,
>Thank you for your guidance regarding this topic, and I am sorry if I
>need further assistance, but I'm kind of new to QGIS.
>Regarding the need to define the layer for each attribute, will it work
>if I stated like I had wroten before?
>i.e.:'Table1.H3centr_h9_cobcubierto'  = 1
>OR 'Table2.H3centr_h9_cobcubierto' = 1 Will QGIS recognize it?
>And to find the comparable record, certaingly I can use a common id. So
>I will explore the getfeature( ) tool that you suggest, thank you very
>much.
>Regards.  
>
>Guillermo Parra Montealegre e-mail: meminp...@yahoo.com
>
>El martes, 14 de mayo de 2024, 13:23:07 GMT-6,
>oisin.kelly.w...@gmail.com  escribió:
>
>You definitely need to define the layer for each attribute (except the
>current layer).
>
>You also need a way to find the comparable record, e.g.
>(i) with a common id (use getfeature() to access attribute) or
>(ii) spatially use one of the overlay functions.
>
>Oisin
>
>Get BlueMail for Android On 14 May 2024, at 19:52, Guillermo Parra via
>QGIS-User  wrote:
>Hi,
>I have several tables with the same fields, same grid information, but
>different field data for each one (information from different
>providers, let's say).
>Particularly, I have a field with 0 and 1 which represent if each
>provider have, or not have coverage in that area.
>I want to compare the values of each table to set "1" if at least one
>of the providers have coverage in each area, or "0" if None of them
>have it, so I used the field calculator and the expression builder with
>this sql statement:
>if( 'H3centr_h9_cobcubierto'  = 1 OR 'H3centr_h9_cobcubierto' = 1
>OR'H3centroides_h9_cobGT3D cubierto' = 1
>OR'H3centroides_h9_cob_cubierto'  = '1' OR'H3centr_h9_cob_cubierto' =
>'1' OR'H3cent_cob_cubierto'  = '1' OR"H3centrR9_Tc3D_cubierto"  ='1',
>1, 0)
>The problem is that apparently it is considering only the last field in
>double quotes (which is in the same table that the new column where I
>want to fill the data), and the other fields apparently are beign
>ignored.
>I would guest that it would be better to specify the table and field
>where each data will be taken ( like  if(
>'Table1.H3centr_h9_cobcubierto'  = 1 OR 'Table2.H3centr_h9_cobcubierto'
>= 1 OR... etc.)but when I make double click over each layer field, QGIS
>writes it that way, so I asume it is correct.
>So, if someone have an idea on how I can make it work, I would greatly
>appreciate any suggestion.Thanks,
>Guillermo.
>
>Guillermo Parra Montealegre e-mail: meminp...@yahoo.com
>QGIS-User mailing list
>QGIS-User@lists.osgeo.org
>List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
>Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user
>
>
___
QGIS-User mailing list
QGIS-User@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user


Re: [Qgis-user] Can't accomplish comparisions between different Map Layer Table's

2024-05-14 Thread oisin.kelly.wild--- via QGIS-User
No it won't work. It's not SQL syntax, it's expression syntax. So you need to 
use a function to get the corresponding feature from another layer. Hence 
getfeature() or one of the  overlay_ functions.

You will end up with a long expression.

Or, you could use sql in dB manager?

⁣Oisin
07570 977449

Get BlueMail for Android ​

On 14 May 2024, 20:35, at 20:35, Guillermo Parra  wrote:
>Hello Oisin,
>Thank you for your guidance regarding this topic, and I am sorry if I
>need further assistance, but I'm kind of new to QGIS.
>Regarding the need to define the layer for each attribute, will it work
>if I stated like I had wroten before?
>i.e.:'Table1.H3centr_h9_cobcubierto'  = 1
>OR 'Table2.H3centr_h9_cobcubierto' = 1 Will QGIS recognize it?
>And to find the comparable record, certaingly I can use a common id. So
>I will explore the getfeature( ) tool that you suggest, thank you very
>much.
>Regards.  
>
>Guillermo Parra Montealegre e-mail: meminp...@yahoo.com
>
>El martes, 14 de mayo de 2024, 13:23:07 GMT-6,
>oisin.kelly.w...@gmail.com  escribió:
>
>You definitely need to define the layer for each attribute (except the
>current layer).
>
>You also need a way to find the comparable record, e.g.
>(i) with a common id (use getfeature() to access attribute) or
>(ii) spatially use one of the overlay functions.
>
>Oisin
>
>Get BlueMail for Android On 14 May 2024, at 19:52, Guillermo Parra via
>QGIS-User  wrote:
>Hi,
>I have several tables with the same fields, same grid information, but
>different field data for each one (information from different
>providers, let's say).
>Particularly, I have a field with 0 and 1 which represent if each
>provider have, or not have coverage in that area.
>I want to compare the values of each table to set "1" if at least one
>of the providers have coverage in each area, or "0" if None of them
>have it, so I used the field calculator and the expression builder with
>this sql statement:
>if( 'H3centr_h9_cobcubierto'  = 1 OR 'H3centr_h9_cobcubierto' = 1
>OR'H3centroides_h9_cobGT3D cubierto' = 1
>OR'H3centroides_h9_cob_cubierto'  = '1' OR'H3centr_h9_cob_cubierto' =
>'1' OR'H3cent_cob_cubierto'  = '1' OR"H3centrR9_Tc3D_cubierto"  ='1',
>1, 0)
>The problem is that apparently it is considering only the last field in
>double quotes (which is in the same table that the new column where I
>want to fill the data), and the other fields apparently are beign
>ignored.
>I would guest that it would be better to specify the table and field
>where each data will be taken ( like  if(
>'Table1.H3centr_h9_cobcubierto'  = 1 OR 'Table2.H3centr_h9_cobcubierto'
>= 1 OR... etc.)but when I make double click over each layer field, QGIS
>writes it that way, so I asume it is correct.
>So, if someone have an idea on how I can make it work, I would greatly
>appreciate any suggestion.Thanks,
>Guillermo.
>
>Guillermo Parra Montealegre e-mail: meminp...@yahoo.com
>QGIS-User mailing list
>QGIS-User@lists.osgeo.org
>List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
>Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user
>
>
___
QGIS-User mailing list
QGIS-User@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user


Re: [Qgis-user] Can't accomplish comparisions between different Map Layer Table's

2024-05-14 Thread Guillermo Parra via QGIS-User
Hello Oisin,
Thank you for your guidance regarding this topic, and I am sorry if I need 
further assistance, but I'm kind of new to QGIS.
Regarding the need to define the layer for each attribute, will it work if I 
stated like I had wroten before? i.e.:'Table1.H3centr_h9_cobcubierto'  = 1 OR 
'Table2.H3centr_h9_cobcubierto' = 1 Will QGIS recognize it?
And to find the comparable record, certaingly I can use a common id. So I will 
explore the getfeature( ) tool that you suggest, thank you very much.
Regards.  

Guillermo Parra Montealegre e-mail: meminp...@yahoo.com 

El martes, 14 de mayo de 2024, 13:23:07 GMT-6, oisin.kelly.w...@gmail.com 
 escribió:  
 
 You definitely need to define the layer for each attribute (except the current 
layer).

You also need a way to find the comparable record, e.g. 
(i) with a common id (use getfeature() to access attribute) or
(ii) spatially use one of the overlay functions. 

Oisin 

Get BlueMail for Android On 14 May 2024, at 19:52, Guillermo Parra via 
QGIS-User  wrote:
Hi,
I have several tables with the same fields, same grid information, but 
different field data for each one (information from different providers, let's 
say).
Particularly, I have a field with 0 and 1 which represent if each provider 
have, or not have coverage in that area.
I want to compare the values of each table to set "1" if at least one of the 
providers have coverage in each area, or "0" if None of them have it, so I used 
the field calculator and the expression builder with this sql statement:
if( 'H3centr_h9_cobcubierto'  = 1 OR 'H3centr_h9_cobcubierto' = 1 
OR'H3centroides_h9_cobGT3D cubierto' = 1 OR'H3centroides_h9_cob_cubierto'  = 
'1' OR'H3centr_h9_cob_cubierto' = '1' OR'H3cent_cob_cubierto'  = '1' 
OR"H3centrR9_Tc3D_cubierto"  ='1', 1, 0)
The problem is that apparently it is considering only the last field in double 
quotes (which is in the same table that the new column where I want to fill the 
data), and the other fields apparently are beign ignored.
I would guest that it would be better to specify the table and field where each 
data will be taken ( like  if( 'Table1.H3centr_h9_cobcubierto'  = 1 OR 
'Table2.H3centr_h9_cobcubierto' = 1 OR... etc.)but when I make double click 
over each layer field, QGIS writes it that way, so I asume it is correct.
So, if someone have an idea on how I can make it work, I would greatly 
appreciate any suggestion.Thanks,
Guillermo.

Guillermo Parra Montealegre e-mail: meminp...@yahoo.com
QGIS-User mailing list
QGIS-User@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user

  ___
QGIS-User mailing list
QGIS-User@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user


Re: [Qgis-user] Can't accomplish comparisions between different Map Layer Table's

2024-05-14 Thread oisin.kelly.wild--- via QGIS-User
You definitely need to define the layer for each attribute (except the current 
layer).

You also need a way to find the comparable record, e.g. 
(i) with a common id (use getfeature() to access attribute) or
(ii) spatially use one of the overlay functions.

Oisin

Get BlueMail for Android ​

On 14 May 2024, 19:52, at 19:52, Guillermo Parra via QGIS-User 
 wrote:
>Hi,
>I have several tables with the same fields, same grid information, but
>different field data for each one (information from different
>providers, let's say).
>Particularly, I have a field with 0 and 1 which represent if each
>provider have, or not have coverage in that area.
>I want to compare the values of each table to set "1" if at least one
>of the providers have coverage in each area, or "0" if None of them
>have it, so I used the field calculator and the expression builder with
>this sql statement:
>if( 'H3centr_h9_cobcubierto'  = 1 OR 'H3centr_h9_cobcubierto' = 1
>OR'H3centroides_h9_cobGT3D cubierto' = 1
>OR'H3centroides_h9_cob_cubierto'  = '1' OR'H3centr_h9_cob_cubierto' =
>'1' OR'H3cent_cob_cubierto'  = '1' OR"H3centrR9_Tc3D_cubierto"  ='1',
>1, 0)
>The problem is that apparently it is considering only the last field in
>double quotes (which is in the same table that the new column where I
>want to fill the data), and the other fields apparently are beign
>ignored.
>I would guest that it would be better to specify the table and field
>where each data will be taken ( like  if(
>'Table1.H3centr_h9_cobcubierto'  = 1 OR 'Table2.H3centr_h9_cobcubierto'
>= 1 OR... etc.)but when I make double click over each layer field, QGIS
>writes it that way, so I asume it is correct.
>So, if someone have an idea on how I can make it work, I would greatly
>appreciate any suggestion.Thanks,
>Guillermo.
>
>Guillermo Parra Montealegre e-mail: meminp...@yahoo.com
>
>
>
>___
>QGIS-User mailing list
>QGIS-User@lists.osgeo.org
>List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
>Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user
___
QGIS-User mailing list
QGIS-User@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user


[Qgis-user] Can't accomplish comparisions between different Map Layer Table's

2024-05-14 Thread Guillermo Parra via QGIS-User
Hi,
I have several tables with the same fields, same grid information, but 
different field data for each one (information from different providers, let's 
say).
Particularly, I have a field with 0 and 1 which represent if each provider 
have, or not have coverage in that area.
I want to compare the values of each table to set "1" if at least one of the 
providers have coverage in each area, or "0" if None of them have it, so I used 
the field calculator and the expression builder with this sql statement:
if( 'H3centr_h9_cobcubierto'  = 1 OR 'H3centr_h9_cobcubierto' = 1 
OR'H3centroides_h9_cobGT3D cubierto' = 1 OR'H3centroides_h9_cob_cubierto'  = 
'1' OR'H3centr_h9_cob_cubierto' = '1' OR'H3cent_cob_cubierto'  = '1' 
OR"H3centrR9_Tc3D_cubierto"  ='1', 1, 0)
The problem is that apparently it is considering only the last field in double 
quotes (which is in the same table that the new column where I want to fill the 
data), and the other fields apparently are beign ignored.
I would guest that it would be better to specify the table and field where each 
data will be taken ( like  if( 'Table1.H3centr_h9_cobcubierto'  = 1 OR 
'Table2.H3centr_h9_cobcubierto' = 1 OR... etc.)but when I make double click 
over each layer field, QGIS writes it that way, so I asume it is correct.
So, if someone have an idea on how I can make it work, I would greatly 
appreciate any suggestion.Thanks,
Guillermo.

Guillermo Parra Montealegre e-mail: meminp...@yahoo.com___
QGIS-User mailing list
QGIS-User@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user