Topics

Filters and Log Page Display


wb6bee
 

I have a filter that sorts for QSO in 2021.   

Filter looks like this.

DateDiff ("n", QSO_BEGIN,QSO_END)>0 and QSO_Begin > #2021-01-01  00:00# 

It only works if the log page display is in ascending order.   If the log page display is in descending order, the filter does nothing.  

Do filters only filter in one direction?

Don
WB6BEE


ART W2NRA
 

Add this   <>0   to your filter

DateDiff ("n", QSO_BEGIN,QSO_END)<>0 and QSO_Begin > #2021-01-01  00:00# 

73, Art W2NRA
CWOPS #1955

On January 25, 2021 at 8:49 AM, wb6bee <wb6bee@...> wrote:

I have a filter that sorts for QSO in 2021.   

Filter looks like this.

DateDiff ("n", QSO_BEGIN,QSO_END)>0 and QSO_Begin > #2021-01-01  00:00# 

It only works if the log page display is in ascending order.   If the log page display is in descending order, the filter does nothing.  

Do filters only filter in one direction?

Don
WB6BEE


iain macdonnell - N6ML
 

On Mon, Jan 25, 2021 at 5:49 AM wb6bee <wb6bee@gmail.com> wrote:

I have a filter that sorts for QSO in 2021.
Filters don't sort; filters only filter (i.e. cause some subset of the
complete log to be displayed).


Filter looks like this.

DateDiff ("n", QSO_BEGIN,QSO_END)>0 and QSO_Begin > #2021-01-01 00:00#
That would match any QSO that began after the start of the year where
the end time for the QSO was later than the begin time for the QSO. It
would exclude QSOs where the begin and end times are exactly the same.
It would also exclude any QSOs where the end time was before the begin
time. The DXLab Suite apps probably wouldn't let you log a QSO that
way, but it may allow importing them (not sure off-hand). In any case,
it's probably not what you want.

If you want to filter for all QSOs that began in 2021, you could use:

QSO_Begin >= #2021-01-01#


It only works if the log page display is in ascending order. If the log page display is in descending order, the filter does nothing.

Do filters only filter in one direction?
How are you changing direction? The right way is in the "Chronological
Sort Order" panel on the Log Display tab of DXKeeper Configuration.
This should have no bearing on the set of QSOs matched by filters.

73,

~iain / N6ML


ve3ki
 

DXKeeper will import QSOs where the end time is equal to the start time (such as contacts imported from a contest log where the original logging program only exported a single time for the QSO). It objects to QSOs where the end time is before the start time.

The DateDiff part of the original filter would eliminate all QSOs where the start and end times were less than a minute apart. Was that the intent?

If all you want to do is find QSOs that started in 2021, you should use
QSO_BEGIN >= #2021-01-01# , as Iain suggested.

73,
Rich VE3KI



On Mon, Jan 25, 2021 at 11:37 AM, iain macdonnell - N6ML wrote:
On Mon, Jan 25, 2021 at 5:49 AM wb6bee <wb6bee@...> wrote:

I have a filter that sorts for QSO in 2021.
Filters don't sort; filters only filter (i.e. cause some subset of the
complete log to be displayed).


Filter looks like this.

DateDiff ("n", QSO_BEGIN,QSO_END)>0 and QSO_Begin > #2021-01-01 00:00#
That would match any QSO that began after the start of the year where
the end time for the QSO was later than the begin time for the QSO. It
would exclude QSOs where the begin and end times are exactly the same.
It would also exclude any QSOs where the end time was before the begin
time. The DXLab Suite apps probably wouldn't let you log a QSO that
way, but it may allow importing them (not sure off-hand). In any case,
it's probably not what you want.

If you want to filter for all QSOs that began in 2021, you could use:

QSO_Begin >= #2021-01-01#


It only works if the log page display is in ascending order. If the log page display is in descending order, the filter does nothing.

Do filters only filter in one direction?
How are you changing direction? The right way is in the "Chronological
Sort Order" panel on the Log Display tab of DXKeeper Configuration.
This should have no bearing on the set of QSOs matched by filters.

73,

~iain / N6ML


iain macdonnell - N6ML
 

On Mon, Jan 25, 2021 at 9:23 AM ve3ki <ve3iay@gmail.com> wrote:

DXKeeper will import QSOs where the end time is equal to the start time (such as contacts imported from a contest log where the original logging program only exported a single time for the QSO). It objects to QSOs where the end time is before the start time.

The DateDiff part of the original filter would eliminate all QSOs where the start and end times were less than a minute apart. Was that the intent?
I believe that DateDiff rounds up, so QSOs with begin and end times in
the same minute (but different seconds) would produce a value of 1.

73,

~iain / N6ML



If all you want to do is find QSOs that started in 2021, you should use
QSO_BEGIN >= #2021-01-01# , as Iain suggested.

73,
Rich VE3KI



On Mon, Jan 25, 2021 at 11:37 AM, iain macdonnell - N6ML wrote:

On Mon, Jan 25, 2021 at 5:49 AM wb6bee <wb6bee@gmail.com> wrote:


I have a filter that sorts for QSO in 2021.

Filters don't sort; filters only filter (i.e. cause some subset of the
complete log to be displayed).


Filter looks like this.

DateDiff ("n", QSO_BEGIN,QSO_END)>0 and QSO_Begin > #2021-01-01 00:00#

That would match any QSO that began after the start of the year where
the end time for the QSO was later than the begin time for the QSO. It
would exclude QSOs where the begin and end times are exactly the same.
It would also exclude any QSOs where the end time was before the begin
time. The DXLab Suite apps probably wouldn't let you log a QSO that
way, but it may allow importing them (not sure off-hand). In any case,
it's probably not what you want.

If you want to filter for all QSOs that began in 2021, you could use:

QSO_Begin >= #2021-01-01#


It only works if the log page display is in ascending order. If the log page display is in descending order, the filter does nothing.

Do filters only filter in one direction?

How are you changing direction? The right way is in the "Chronological
Sort Order" panel on the Log Display tab of DXKeeper Configuration.
This should have no bearing on the set of QSOs matched by filters.

73,

~iain / N6ML


wb6bee
 

I need to digest all this.   But, for explanation purposes, I have several similar filters.  The all worked with Log page in Ascending order.  Only thing I changed was go to Descending order so the most current was at the top of the list.   None of my filters worked.   Switch back to Ascending order, they all worked (albeit, perhaps not correctly).

Don
WB6BEE


ART W2NRA
 

His not trying to sort.  He’s trying to filter QSOs that don’t have the same start and end time.  His filter does work if the log is filtered by date order.  It doesn’t work if the date is sorted reversed date order.

Here’s his filter:
DateDiff ("n", QSO_BEGIN,QSO_END)>0 and QSO_Begin > #2021-01-01  00:00# 

Here’s the fix, I just added a <  :
DateDiff ("n", QSO_BEGIN,QSO_END)<>0 and QSO_Begin > #2021-01-01  00:00# 
It works regardless of sort order.

73, Art W2NRA
CWOPS #1955

On Jan 25, 2021, at 11:37 AM, iain macdonnell - N6ML <ar@...> wrote:

On Mon, Jan 25, 2021 at 5:49 AM wb6bee <wb6bee@...> wrote:

I have a filter that sorts for QSO in 2021.

Filters don't sort; filters only filter (i.e. cause some subset of the
complete log to be displayed).


Filter looks like this.

DateDiff ("n", QSO_BEGIN,QSO_END)>0 and QSO_Begin > #2021-01-01  00:00#

That would match any QSO that began after the start of the year where
the end time for the QSO was later than the begin time for the QSO. It
would exclude QSOs where the begin and end times are exactly the same.
It would also exclude any QSOs where the end time was before the begin
time. The DXLab Suite apps probably wouldn't let you log a QSO that
way, but it may allow importing them (not sure off-hand). In any case,
it's probably not what you want.

If you want to filter for all QSOs that began in 2021, you could use:

QSO_Begin >= #2021-01-01#


It only works if the log page display is in ascending order.   If the log page display is in descending order, the filter does nothing.

Do filters only filter in one direction?

How are you changing direction? The right way is in the "Chronological
Sort Order" panel on the Log Display tab of DXKeeper Configuration.
This should have no bearing on the set of QSOs matched by filters.

73,

   ~iain / N6ML






iain macdonnell - N6ML
 

On Mon, Jan 25, 2021 at 12:54 PM ART W2NRA via groups.io
<w2nra=me.com@groups.io> wrote:

His not trying to sort. He’s trying to filter QSOs that don’t have the same start and end time. His filter does work if the log is filtered by date order. It doesn’t work if the date is sorted reversed date order.
The original post started with "I have a filter that sorts..."


Here’s his filter:
DateDiff ("n", QSO_BEGIN,QSO_END)>0 and QSO_Begin > #2021-01-01 00:00#

Here’s the fix, I just added a < :
DateDiff ("n", QSO_BEGIN,QSO_END)<>0 and QSO_Begin > #2021-01-01 00:00#
It works regardless of sort order.
Did you reproduce the "problem" first? I was not able to. The original
filter (albeit somewhat nonsensical) produces the same set of matching
QSOs for me regardless of sort order.

The only difference between the original filter and your purported fix
is that yours would match QSOs where the end time is before the begin
time (which generally shouldn't happen).

Regardless, sort order should not affect the set of QSOs matched by a
filter. If that's reproducible, it may indicate a defect.....

73,

~iain / N6ML



On Jan 25, 2021, at 11:37 AM, iain macdonnell - N6ML <ar@dseven.org> wrote:

On Mon, Jan 25, 2021 at 5:49 AM wb6bee <wb6bee@gmail.com> wrote:


I have a filter that sorts for QSO in 2021.


Filters don't sort; filters only filter (i.e. cause some subset of the
complete log to be displayed).


Filter looks like this.


DateDiff ("n", QSO_BEGIN,QSO_END)>0 and QSO_Begin > #2021-01-01 00:00#


That would match any QSO that began after the start of the year where
the end time for the QSO was later than the begin time for the QSO. It
would exclude QSOs where the begin and end times are exactly the same.
It would also exclude any QSOs where the end time was before the begin
time. The DXLab Suite apps probably wouldn't let you log a QSO that
way, but it may allow importing them (not sure off-hand). In any case,
it's probably not what you want.

If you want to filter for all QSOs that began in 2021, you could use:

QSO_Begin >= #2021-01-01#


It only works if the log page display is in ascending order. If the log page display is in descending order, the filter does nothing.


Do filters only filter in one direction?


How are you changing direction? The right way is in the "Chronological
Sort Order" panel on the Log Display tab of DXKeeper Configuration.
This should have no bearing on the set of QSOs matched by filters.

73,

~iain / N6ML






ART W2NRA
 

I cannot reproduce what I posted earlier.

73, Art W2NRA
CWOPS #1955

On Jan 25, 2021, at 4:05 PM, iain macdonnell - N6ML <ar@dseven.org> wrote:

On Mon, Jan 25, 2021 at 12:54 PM ART W2NRA via groups.io
<w2nra=me.com@groups.io> wrote:

His not trying to sort. He’s trying to filter QSOs that don’t have the same start and end time. His filter does work if the log is filtered by date order. It doesn’t work if the date is sorted reversed date order.
The original post started with "I have a filter that sorts..."


Here’s his filter:
DateDiff ("n", QSO_BEGIN,QSO_END)>0 and QSO_Begin > #2021-01-01 00:00#

Here’s the fix, I just added a < :
DateDiff ("n", QSO_BEGIN,QSO_END)<>0 and QSO_Begin > #2021-01-01 00:00#
It works regardless of sort order.
Did you reproduce the "problem" first? I was not able to. The original
filter (albeit somewhat nonsensical) produces the same set of matching
QSOs for me regardless of sort order.

The only difference between the original filter and your purported fix
is that yours would match QSOs where the end time is before the begin
time (which generally shouldn't happen).

Regardless, sort order should not affect the set of QSOs matched by a
filter. If that's reproducible, it may indicate a defect.....

73,

~iain / N6ML



On Jan 25, 2021, at 11:37 AM, iain macdonnell - N6ML <ar@dseven.org> wrote:

On Mon, Jan 25, 2021 at 5:49 AM wb6bee <wb6bee@gmail.com> wrote:


I have a filter that sorts for QSO in 2021.


Filters don't sort; filters only filter (i.e. cause some subset of the
complete log to be displayed).


Filter looks like this.


DateDiff ("n", QSO_BEGIN,QSO_END)>0 and QSO_Begin > #2021-01-01 00:00#


That would match any QSO that began after the start of the year where
the end time for the QSO was later than the begin time for the QSO. It
would exclude QSOs where the begin and end times are exactly the same.
It would also exclude any QSOs where the end time was before the begin
time. The DXLab Suite apps probably wouldn't let you log a QSO that
way, but it may allow importing them (not sure off-hand). In any case,
it's probably not what you want.

If you want to filter for all QSOs that began in 2021, you could use:

QSO_Begin >= #2021-01-01#


It only works if the log page display is in ascending order. If the log page display is in descending order, the filter does nothing.


Do filters only filter in one direction?


How are you changing direction? The right way is in the "Chronological
Sort Order" panel on the Log Display tab of DXKeeper Configuration.
This should have no bearing on the set of QSOs matched by filters.

73,

~iain / N6ML









wb6bee
 

I apologize for the misuse of the terms "filter" versus "sort".   Those terms are not synonymous in Excel either.

Iain asked
How are you changing direction? The right way is in the "Chronological
Sort Order" panel on the Log Display tab of DXKeeper Configuration.
This should have no bearing on the set of QSOs matched by filters.

I changed from from Ascending to Descending in the "Chronological Sort Order" panel on the Log Configuration page. As far as I know that's the only way to do it. The same function is available on Spot Collector. I made the change to see if having the most current logged QSO at the top of the stack versus the bottom of the stack would be more user friendly to me.

My point in this thread was I also cannot see why a change in whether the most current QSO is at the top or the bottom would impact a FILTER (regardless of how poorly it was written).  

Don
WB6BEE


wb6bee
 

This filter

QSO_Begin >= #2021-01-01#

Works in Ascending Order, I get 70 QSOs listed

Does not work in Descending Order, I get One QSO listed (whoever was last)

Don
WB6BEE


ART W2NRA
 

Hi Don,

I tried your formula and it worked fine for me in both directions.  I don't know why you're getting only one QSO in Decending Order.

Here's a version of your Filter that is a little simpler.  Try it.

QSO_Begin > #2021/01/01 00:00:00#

FYI   I get 794 QSOs in 2021 out of 60,324 total QSOs regardless of log sorting direction.

73, Art W2NRA
CWOPS #1955

On January 25, 2021 at 8:24 PM, wb6bee <wb6bee@...> wrote:

This filter

QSO_Begin >= #2021-01-01#

Works in Ascending Order, I get 70 QSOs listed

Does not work in Descending Order, I get One QSO listed (whoever was last)

Don
WB6BEE


wb6bee
 

I used your filter, Art, but same results.   70 qsos in the Ascending display, 1 in the Descending display.   The only think I do is hit the Ascending or descending button under the Chronological Sort Order.

Weird Science, here

Don
wB6BEE


wb6bee
 

Above the log display is the total number of QSOs in a box.  There are arrows on both sides.   When I am in Descending order and get the "one" with the filter, if I hit the outside "go to end" arrow, I get the 70.

Don


ve3ki
 

What does the title bar at the top of the DXKeeper window say in both cases? And how many QSOs are actually visible in the log page display near the bottom of the window?

On mine, the log page display is large enough to show 10 QSOs. The title bar shows how many QSOs have been selected by the filter, regardless of the sort order. For example, if I type 2021-01-01 into the filter box and click on the "Since" button to the right of the filter box, the title bar says: DXKeeper 15.9.9 VE3IAY.mdb (filtered): 2203 QSOs (VE3KI). This does not change when I change the sort order.

With the chronological sort order set to Ascending, I see the 10 most recent QSOs, with the most recent one at the bottom. The selection arrow at the left points to the bottom-most (most recent) one. The number in the box above the log page display is the same as the number in the title bar. The last QSO in the display is the one currently selected and visible in the various other panels. I can use the left-pointing arrow to the left of the number box to walk the selected QSO upwards through the list in the display.

With the chronological sort order set to Descending, I see the 10 most recent QSOs in the opposite order, most recent one at the top. The selection arrow at the left points to the top-most (most recent) one. The number in the box above the log page display is 1. The first QSO in the display is the one currently selected and visible in the various other panels I have visible. I can use the right-pointing arrow to the right of the number box to walk the selected QSO downwards through the list in the display.

What is it that is working differently for you?

73,
Rich VE3KI


On Mon, Jan 25, 2021 at 09:08 PM, wb6bee wrote:
Above the log display is the total number of QSOs in a box.  There are arrows on both sides.   When I am in Descending order and get the "one" with the filter, if I hit the outside "go to end" arrow, I get the 70.

Don


wb6bee
 

Assuming I have ten thousand qsos in the log.    When I am in "ascending" display the number in the box at the top shows 10,000 and the cursor on the left is at the most recent qso on the bottom of the display.   If I filter on 2021 as described in this thread, the number of 2021 qsos at the top shows 70 and the cursor is on the last one of the 70.

When I am in "descending" display, the number in the box at the top shows "one" and the curser on on the most current qso at the top of the display.    If I filter on 2021,  the number at the top shows "one" and the most current qso of the 70 is at the top with the cursor.    

If you hit the "go to end" arrow next to the number field at the top. it will show 70.    

The filter appears to work in either ascending or descending.   What is displayed is different, I guess because you are at the other end.   I suspect if you had 70 lines open in the display, the display would have the same result regardless of ascending or descending.   

Appears to just be a "display" difference that I couldn't detect right away.

Don
WB6BEE


ND9G Mike
 

The box above the log display (with the arrows going left and right), is the number of the selected record, not the number of QSOs in the filtered (or unfiltered) results.

There are times where the number may line up with the QSO count, if you select the last record. But you'll notice the number changes depending on which QSO you click on.

The real number of QSOs being displayed is always listed in the DXKeeper window's title bar at the very top.


73,
Mike ND9G


On Tue, Jan 26, 2021 at 10:02 AM wb6bee <wb6bee@...> wrote:
Assuming I have ten thousand qsos in the log.    When I am in "ascending" display the number in the box at the top shows 10,000 and the cursor on the left is at the most recent qso on the bottom of the display.   If I filter on 2021 as described in this thread, the number of 2021 qsos at the top shows 70 and the cursor is on the last one of the 70.

When I am in "descending" display, the number in the box at the top shows "one" and the curser on on the most current qso at the top of the display.    If I filter on 2021,  the number at the top shows "one" and the most current qso of the 70 is at the top with the cursor.    

If you hit the "go to end" arrow next to the number field at the top. it will show 70.    

The filter appears to work in either ascending or descending.   What is displayed is different, I guess because you are at the other end.   I suspect if you had 70 lines open in the display, the display would have the same result regardless of ascending or descending.   

Appears to just be a "display" difference that I couldn't detect right away.

Don
WB6BEE


ART W2NRA
 

John,

I now see what is happening here and it is correct.

At the start your Ascending log had a particular callsign highlighted.  When you did the Descending log that same callsign highlighted stays highlighted but that QSO moved to the top of the log - spot number 1.

If you looked at the very top of DXKeeper you’ll see a number that designates the number of QSOs filtered and it’s the same number in both Ascending or Descending logs. 

73, Art W2NRA
CWOPS #1955

On Jan 26, 2021, at 11:03 AM, wb6bee <wb6bee@...> wrote:

Assuming I have ten thousand qsos in the log.    When I am in "ascending" display the number in the box at the top shows 10,000 and the cursor on the left is at the most recent qso on the bottom of the display.   If I filter on 2021 as described in this thread, the number of 2021 qsos at the top shows 70 and the cursor is on the last one of the 70.

When I am in "descending" display, the number in the box at the top shows "one" and the curser on on the most current qso at the top of the display.    If I filter on 2021,  the number at the top shows "one" and the most current qso of the 70 is at the top with the cursor.    

If you hit the "go to end" arrow next to the number field at the top. it will show 70.    

The filter appears to work in either ascending or descending.   What is displayed is different, I guess because you are at the other end.   I suspect if you had 70 lines open in the display, the display would have the same result regardless of ascending or descending.   

Appears to just be a "display" difference that I couldn't detect right away.

Don
WB6BEE