Dynamic Filters vs. Column Filters

May 20, 2010 at 1:57 PM
Hi all, I seem to encounter a problem with the Dynamic Filters option: I have a column that represents presence of actors in different time slots. When I choose a specific time slot with the filters on top of the respective column (the "normal" Excel filters), I get say 5 relations both on the worksheet and the network map. However when I choose the same time slot with Dynamic Filters only 2 appear on the network map. Can anybody help me resolve this? Marten
May 20, 2010 at 2:38 PM

Marten:

Are your "time slots" just dates, all occurring at midnight, or do they have time components?  If they don't all occur at midnight, there could be format/truncation issues that are hiding what NodeXL's dynamic filter is actually doing.  Reformat your time slot column to show both date and time.  That will cause NodeXL to show both date and time in the Dynamic Filters dialog box, and you'll be able to see the real endpoints of the dynamic filter.

-- Tony

May 20, 2010 at 2:46 PM
Thanks for your quick reply Tony! My time slots are simply represented by numbers, ie "1" is the first, "2" the second and so on, no date or time formatting. So what I try to do is to see how relations in the overall network develop and get an idea about the changes between time1 and time2 and so on - Do you have any other idea what could have gone wrong?
May 20, 2010 at 3:02 PM

If you're using integers, I don't know what the problem is.  I've sent you an email address you can use to send me the workbook.  If the workbook can't be shared for privacy reasons, please send me another one with fake data that duplicates the problem.  I may not be able to get back to you until late Thursday, Pacific Time.

-- Tony

May 21, 2010 at 2:03 AM

Marten:

Thanks for sending me your workbook.  Here is what is occurring:

In your workbook, you have an edge X that connects vertices A and B, and the edge has a Date of Activity value of 8.  When you set the dynamic filter for the Date of Activity column to range from 8 to 8, you are expecting to see edge X in the graph pane, but edge X is unexpectedly filtered out.  The reason for this is that NodeXL's dynamic filters filter both edges and vertices, and vertex A is getting filtered out first.  When one of an edge's vertices is filtered out, the edge always gets filtered out, too, regardless of the dynamic filter settings for the edge columns.  (Showing an edge without its vertices would look odd, so we never do that.)

Why is vertex A getting filtered out?  It's because the vertex's "Entered the network in" value on the Vertices worksheet is blank, and NodeXL always filters out blank values.  Excel behaves the same way when you filter a table based on a "Between" number filter, so NodeXL is consistent with Excel in this regard.

There are a few solutions.  If it's possible, filling in the blank values in the "Entered the network in" column on the vertices worksheet will fix things.  If that's not possible, then insert a blank row at row 3 of the Vertices worksheet.  This will result in a blank cell at the top of every numeric column, and when NodeXL sees a blank cell at the top of a numeric column, it doesn't create a dynamic filter for it.  Therefore, no vertices will be filtered out, and a setting of 8 for the Date of Activity dynamic filter will give you the results you're expecting.

-- Tony

May 22, 2010 at 1:00 AM

[Marten solved the problem by filling in the blank values.  -- Tony]

May 24, 2010 at 9:27 PM

I have a custom application built using NodeXL class library. I would like to load Ucinet (DL) files into my application. Is there any information on how to read in the data through my application.

 

Thanks,

JB

May 24, 2010 at 9:52 PM

JB:

See the UcinetGraphAdapter.LoadGraph() method in the NodeXLApi.chm help file.  Your code would look something like this:

IGraph newGraph = ( new UcinetGraphAdapter() ).LoadGraph("C:\\UcinetFile.txt", GraphDirectedness.Directed);

What you do with the new graph is up to you.  If you are using the NodeXLControl, you can set the control's Graph property to the new graph, then call DrawGraphAsync() to draw it.

As explained in the documentation, NodeXL supports only the UCINET full matrix DL file format.

-- Tony

May 25, 2010 at 10:38 PM
Hi Tony,

I am able to draw the graph successfully. Is it possible to also include the labels.

Thanks,
JB

On Mon, May 24, 2010 at 4:52 PM, tcap479 <notifications@codeplex.com> wrote:

From: tcap479

JB:

See the UcinetGraphAdapter.LoadGraph() method in the NodeXLApi.chm help file.  Your code would look something like this:

IGraph newGraph = ( new UcinetGraphAdapter() ).LoadGraph("C:\\UcinetFile.txt", GraphDirectedness.Directed);

What you do with the new graph is up to you.  If you are using the NodeXLControl, you can set the control's Graph property to the new graph, then call DrawGraphAsync() to draw it.

As explained in the documentation, NodeXL supports only the UCINET full matrix DL file format.

-- Tony

Read the full discussion online.

To add a post to this discussion, reply to this email (NodeXL@discussions.codeplex.com)

To start a new discussion for this project, email NodeXL@discussions.codeplex.com

You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe on CodePlex.com.

Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at CodePlex.com


May 25, 2010 at 11:01 PM

Yes.  See the following pages in the NodeXLApi.chm help file:

* ReservedMetadataKeys.PerVertexLabel Field

* ReservedMetadataKeys.PerEdgeLabel Field

* NodeXLControl Class, which contains sample code for adding vertex and edge labels.

-- Tony

May 25, 2010 at 11:15 PM
will this work for the data I am bring from the Ucinet DL file. I see the labels in the file, but do not show up in my graph

On Tue, May 25, 2010 at 6:01 PM, tcap479 <notifications@codeplex.com> wrote:

From: tcap479

Yes.  See the following pages in the NodeXLApi.chm help file:

* ReservedMetadataKeys.PerVertexLabel Field

* ReservedMetadataKeys.PerEdgeLabel Field

* NodeXLControl Class, which contains sample code for adding vertex and edge labels.

-- Tony

Read the full discussion online.

To add a post to this discussion, reply to this email (NodeXL@discussions.codeplex.com)

To start a new discussion for this project, email NodeXL@discussions.codeplex.com

You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe on CodePlex.com.

Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at CodePlex.com


May 25, 2010 at 11:31 PM
Edited May 26, 2010 at 7:36 PM

No, not automatically.  UcinetGraphAdapter.LoadGraph() sets the Name property on each vertex and edge [correction: on each vertex, not on each edge], but does not set metadata values on any of them.  That's an application-dependent thing.  You have to explicitly call SetValue() on each vertex and edge for which you want a label displayed.

Please start a new discussion for any additional questions, as this no longer involves dynamic filters.

-- Tony

May 26, 2010 at 2:30 PM
Thanks

On Tue, May 25, 2010 at 6:31 PM, tcap479 <notifications@codeplex.com> wrote:

From: tcap479

No, not automatically.  UcinetGraphAdapter.LoadGraph() sets the Name property on each vertex and edge, but does not set metadata values on any of them.  That's an application-dependent thing.  You have to explicitly call SetValue() on each vertex and edge for which you want a label displayed.

Please start a new discussion for any additional questions, as this no longer involves dynamic filters.

-- Tony

Read the full discussion online.

To add a post to this discussion, reply to this email (NodeXL@discussions.codeplex.com)

To start a new discussion for this project, email NodeXL@discussions.codeplex.com

You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe on CodePlex.com.

Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at CodePlex.com


Oct 31, 2011 at 2:35 PM
Dear Tony

when using the dynamic Filters I frequently encounter an error message (see image file attached): Any ideas what causes this and how it could be resolved?

Many thanks
Marten


........................................

Marten Düring

Kulturwissenschaftliches Institut Essen
Goethestr. 31
45128 Essen

Tel. 0049 / 201 7204 158

www.kulturwissenschaften.de
www.memory-research.de

Von: tcap479 [notifications@codeplex.com]
Gesendet: Freitag, 21. Mai 2010 04:03
Bis: Marten Düring
Betreff: Re: Dynamic Filters vs. Column Filters [NodeXL:213294]

From: tcap479

Marten:

Thanks for sending me your workbook. Here is what is occurring:

In your workbook, you have an edge X that connects vertices A and B, and the edge has a Date of Activity value of 8. When you set the dynamic filter for the Date of Activity column to range from 8 to 8, you are expecting to see edge X in the graph pane, but edge X is unexpectedly filtered out. The reason for this is that NodeXL's dynamic filters filter both edges and vertices, and vertex A is getting filtered out first. When one of an edge's vertices is filtered out, the edge always gets filtered out, too, regardless of the dynamic filter settings for the edge columns. (Showing an edge without its vertices would look odd, so we never do that.)

Why is vertex A getting filtered out? It's because the vertex's "Entered the network in" value on the Vertices worksheet is blank, and NodeXL always filters out blank values. Excel behaves the same way when you filter a table based on a "Between" number filter, so NodeXL is consistent with Excel in this regard.

There are a few solutions. If it's possible, filling in the blank values in the "Entered the network in" column on the vertices worksheet will fix things. If that's not possible, then insert a blank row at row 3 of the Vertices worksheet. This will result in a blank cell at the top of every numeric column, and when NodeXL sees a blank cell at the top of a numeric column, it doesn't create a dynamic filter for it. Therefore, no vertices will be filtered out, and a setting of 8 for the Date of Activity dynamic filter will give you the results you're expecting.

-- Tony

Oct 31, 2011 at 4:15 PM

Marten:

The CodePlex Discussions page, which is where you posted your latest question, does not accept attachments, and so your image got lost.  Please create a new "Issue" on the Issue Tracker page, which does accept attachments, and include your image there.  You don't need to add any comments; I'll know what it is.

Issue tracker page:

http://nodexl.codeplex.com/workitem/list/basic

Thanks,
    Tony