• Welcome to iMtG Server: Gathering.
 
Main Menu

Post reply

The message has the following error or errors that must be corrected before continuing:
Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.
Attachments: (Clear attachments)
Restrictions: 4 per post (4 remaining), maximum total size 192 KB, maximum individual size 128 KB
Uncheck the attachments you no longer want attached
Click or drag files here to attach them.
Shortcuts: ALT+S post or ALT+P preview

Topic summary

Posted by Piotr
 - February 14, 2017, 03:53:25 AM
No, because everybody is on a different level when they start their learning.

I can get you up to speed from any level with one on one IT tutoring through my company https://propercode.co.uk or try http://khanacademy.com for free.
Posted by pyroxyz
 - July 30, 2015, 03:46:49 PM
Is there a guide for building predicates for people with no prior knowledge of such things? I can see how that guide may help someone who knows a bit about it, but for people like me who really don't know anything, it's just confusing. Thanks! :)
Posted by Ember_Primrose
 - June 03, 2014, 02:44:09 PM
Where can i find a tutorial on how one should create one's own query and how the formatting works? please and thank you
Posted by DavidR
 - March 11, 2014, 03:24:37 PM
The following predicate I usually combine with a rarity (Special+Rare+Mythic) and expansion filter to give a decent estimate of my tradable cards.

It checks to make sure that (a) I have more than 1 copy and (b) that I am not using it in any decks.

SUBQUERY( binderentries, $x, $x.binder.name = 'Collection' and $x.count > 1 ).@count = 1 and deckentries.@count = 0
Posted by DavidR
 - March 11, 2014, 03:19:56 PM
I use the following predicate as a bookmark to quickly show me all the cards I own a foil copy of. It's handy for when a friend or trading buddy asks: "Do you have a foil XXX".

SUBQUERY( binderentries, $x, $x.binder.name = 'Collection' and $x.foil > 0 ).@count = 1
Posted by DavidR
 - March 11, 2014, 03:17:15 PM
I use the following predicate in combination with the expansion filter in a handy bookmark which quickly shows me which cards I'm missing for completing my sets...

SUBQUERY( binderentries, $x, $x.binder.name = 'Collection' and $x.count > 0 ).@count = 0
Posted by Rhazor
 - April 09, 2013, 03:53:36 AM
A very similar filter to the one I just shared could be:

SUBQUERY( binderentries, $x, $x.binder.name = 'General' and $x.count < 4 ).@count > 0

In this case, this could be useful to add the specific cards that you don't have 4 copies of to your "Needed" binder.

This is. I choose (as you can see in the predicate) to filter my cards in the General binder and show the ones that are less than 4. Then, you can click on the filter button (top right corner) and choose the expansion you want to work with.

You'll see all the cards you have of that expansion, but only the ones with less than 4 copies. Then it's quite straight forward to add the missing ones to your needed so you can trade them.

I hope these Filters are of use for you guys. Let's see if we can come up with more and better ones!

Best,

Rhazor
Posted by Rhazor
 - April 09, 2013, 03:48:07 AM
I use this predicate so I can see of what cards I have 4 copies:

SUBQUERY( binderentries, $x, $x.binder.name = 'General' and $x.count = 4 ).@count > 0

This is especially useful when I get a bunch of cards. I sort them out by expansion, color and number and take the commons and uncommons. I only need to activate this filter and choose the expansion that I'm sorting out and I will automatically see, in order, the cards I have 4 copies of. If the ones I'm trying to organize have shown up, I get rid of them. If they haven't shown up, they get separated to get into my binder later on.

This can save you valuable time of going through your physical binders, and checking this manually.

EDIT: Note that you can change the binder name where you want to find the cards. I use General because there's where I have my general collection, but you can write My Precious or Trade Binder instead of General so you would filter the cards IN that binder.
Posted by Rhazor
 - April 08, 2013, 04:44:24 AM
In the same sense as my previous post but the other way around. I call this filter "In Decks" but not in "My Precious"

SUBQUERY( binderentries, $x, $x.binder.name = 'My Precious' ).@count = 0  and deckentries.@count > 0

I don't use this one as much as the other, but it sometimes allows me to find missing cards that I have in any of my decks that I have forgotten to insert in the binder.
Posted by Rhazor
 - April 08, 2013, 04:38:44 AM
A predicate I use quite a lot is "In My Precious but NOT in My Decks":

SUBQUERY( binderentries, $x, $x.binder.name = 'My Precious' ).@count > 0 AND deckentries.@count = 0

*I have to say that in "My Precious" I ONLY have the cards that are in my decks. You may want to substitute 'My Precious' by the name of the binder where you have the cards for your decks.

I use it, especially to add the Sideboard to my deck. Entering the individual cards in the decks and in the binder at the same time is fairly easy: you go to card database, search for the card, and add as many copies as your deck has to both the binder and the deck. Anyway, if you add the sideboard this way, then you have to go to the deck and drag-and-drop the sideboard to the correct place.

When I introduce the sideboard cards I only do so in the binder. Then I go to the deck, click on edit, click on the + symbol for the sideboard and apply the filter... and voilĂ ! Only the cards that are not in the deck show up.

I hope you like it and it becomes as useful for you as it is for me.

Best,

Rhazor
Posted by Piotr
 - April 07, 2013, 08:48:48 AM
Predicate is an advanced way to filter Card Database. iMtG allows power users to tap into Apple NSPredicate, a powerful SQL-like method of filtering your data.


The table to which the predicate is applied is cardprint, the root data table in Card Database.

Cardprint has the following fields:

artist (text)
id (number; Gatherer's multiverse id)
lastprint (number)
price
pricehigh
pricelow
rarity

Cardprint table is linked to other tables:

binderentries links to binderentry
card to card
deckentries to deckentry
expansion to expansion
pricelistentries to pricelistentry


Card has the following fields:

aename (text)
colour (number, map = { 0: "X", 1: "W", 2: "U", 3: "B", 4: "R", 5: "G", 6: "M", 7: @"H", 8: @"A", 9: @"L" })
convertedcost
cost
legal
loyalty
name
part
power
restricted
text
toughness
type (text)


Expansion has the following fields:

blockName
code
count
name
released


Binderentry has the following fields:

condition
count
foil
language
notes
signed

Binderentry table is linked to other tables:

binder to binder
cardprint to cardprint


Deckentry has the following fields:

count
sidedeck

Deckentry table is linked to other tables:

cardprint to cardprint
commander to deck
deck to deck


Examples: