xpastorcitox wrote:Hi, need to build some positional stats but having trouble. I have this on my HUD but can't figure how to build them for a report.
If you have existing statistics and want to see the results based on position in a report then you don't need to build separate statistics - just add the statistics you want and then add the 'Position' statistic to break the report down by positions. If you still want to make new versions of a statistic based on each position see
this post.
xpastorcitox wrote:For example:
1.4b BTN vs blinds
sum(if[(cash_hand_summary.str_aggressors_p LIKE '81%' OR cash_hand_summary.str_aggressors_p LIKE '82%' OR cash_hand_summary.str_aggressors_p LIKE '83%') AND
char_length(cash_hand_summary.str_aggressors_p) >= 3 and
substring(cash_hand_summary.str_aggressors_p from 0 for 0)::int > cash_hand_player_statistics.position AND
cash_hand_player_statistics.flg_p_first_raise and cash_hand_player_statistics.flg_p_4bet, 1, 0])
Can you tell me what's wrong here?
1. You haven't specified that the player is on the BTN:
- Code: Select all
cash_hand_player_statistics.position = 0
2. If the BTN is the player making the first raise then the part I have highlighted in red will not work as here you are saying that the first raiser was either in the cutoff, MP or EP (based on 6max). The "aggressors" and "actors" strings are a series of numbers which represent the positions of each player to make an aggressive action (the "aggressors" string) or put money in (the "actors" string) in turn. The preflop aggressors string always starts with the BB position (8), the second number is the position of the 2bettor and the third the position of the 3bettor e.t.c. The actors string records the positions of the players who VPIP'd (raised or called) in order. See
this post for more information on how the actors and aggressors strings work.
3. The part highlighted in blue will not work either as using "from 0 for 0" make no sense for the expression. See
this thread and
this thread for more detail on how you can compare/test the strings.
4. Statistics are usually made up of two columns and you've only included one here.
xpastorcitox wrote:2. Turn CB IP non 3bpot.
sum(if[cash_hand_player_statistics.flg_t_cbet, 1, 0] AND cash_hand_player_statistics.flg_p_first_raise AND substring(cash_hand_summary.str_aggressors_p from 3 for 0))
1. If you are using using
substring(cash_hand_summary.str_aggressors_p from x for y) both numbers need to be greater than 0. You also need to test the length of the string if you are testing for characters within that string. Finally you don't need to use this for this particular statistic.
2. The expression is not entirely contained within the
sum(if[, 1, 0]) statement (highlighted in red).
3. Statistics are usually made up of two columns and you've only included one here.
4. If you want to build this statistic I recommend starting with the columns for the built-in statistic called 'CBet Turn'. All that will need to be added to those columns is a specification for a single raised pot:
- Code: Select all
char_length(cash_hand_summary.str_aggressors_p) = 2
and the player being in position on the turn:
- Code: Select all
cash_hand_player_statistics.flg_t_has_position
xpastorcitox wrote:3. BB fold vs BTN open
No idea.
See
this guide for the basics on custom statistics creation and
this guide for a deeper walkthrough. There may also be some similar stats if you search the
this forum or the
Download Warehouse and you can edit them if they are not exactly what you are after.