Skip to content
DataMiner DoJo

More results...

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Search in posts
Search in pages
Search in posts
Search in pages
Log in
Menu
  • Blog
  • Questions
  • Learning
    • Courses
    • Certification
      • DataMiner Operator
      • DataMiner Administrator
      • DataMiner Automation
      • Scripts & Connectors Developer: HTTP Basics
      • Scripts & Connectors Developer: SNMP Basics
      • Visual Overview – Level 1
    • Video Library
    • Books We Like
    • Third-party Courses
    • DevOps Enablement Services
    • Quizzes
  • RESOURCES
  • Agile
    • Agile Webspace
    • Everything Agile
      • The Agile Manifesto
      • Best Practices
      • Retro Recipes
    • Methodologies
      • The Scrum Framework
      • Kanban
      • Extreme Programming
    • Roles
      • The Product Owner
      • The Agile Coach
      • The Quality & UX Coach (QX)
  • Expert Hubs
    • DataMiner DevOps Professional Program
    • DataMiner
      • DataMiner Releases & Updates
      • System Architecture
      • Integration Studio
      • Visual Overview
      • Security
    • Technologies
      • CI/CD
      • Converged Interconnect Networks
      • DOCSIS 3.1 / DAA
      • Elasticsearch
      • Kubernetes
      • Telemetry / Flow Monitoring
      • PTP
      • SDN / ST2110 / NMOS
    • Business
      • Software Business models
      • Perpetual Use or Usage-based Services
  • Discover
    • Markets
      • Media production
      • Government & defense
      • Content distribution
      • Service providers
      • Partners
      • OSS/BSS
    • Solutions
    • Use Case Library
    • DataMiner Dashboards
    • DataMiner Downloads
    • DataMiner Modules
      • Core features
      • SRM features
    • DataMiner Apps
    • Professional Services
  • PARTNERS
    • All Partners
    • Technology Partners
    • Strategic Partner Program
    • Deal Registration
  • Pricing
  • More
    • Feature Suggestions
    • Online DataMiner Systems
    • Leaderboard
    • Swag Shop
    • Contact
      • General Inquiries
      • DataMiner DevOps Support
      • Commercial Requests
    • Global Feedback Survey
    • Verify a certificate
  • >> Go to dataminer.services

Automation – filter on table – ColumnFilter OR

Solved243 views20th September 2023Automation
5
Leander Druwel [SLC] [DevOps Advocate]1.68K 18th September 2023 0 Comments

Hello,

I'm currently using the Skyline.DataMiner.Core.DataMinerSystem.Automation NuGet package to perform filtering on a table in an automation script. In my code, I've already set up a filter to retrieve rows with the value "4" in parameter 1003:

List<ColumnFilter> filter = new List<ColumnFilter>();
filter.Add(new ColumnFilter { Pid = 1003, Value = "4", ComparisonOperator = ComparisonOperator.Equal });
IEnumerable<object[]> filterTable = element.GetTable(1000).QueryData(filter);

Now, I'm looking to create a filter that retrieves rows with values "4" and "2" and apply it within the same query. Is there a way to indicate that multiple filters should be executed with an OR statement?

Thank you.

Marieke Goethals [SLC] [DevOps Enabler] Selected answer as best 20th September 2023

1 Answer

  • Active
  • Voted
  • Newest
  • Oldest
3
Laurens Moutton [SLC] [DevOps Enabler]5.36K Posted 18th September 2023 1 Comment

Hi,

The ColumnFilter translates in the background to an SLNet filter, similar like is being used when executing a dynamic table query.

In that case, when there are multiple parameters included in the filter:
-When the parameter IDs are the same, then for these they are treated as logical OR (= select where pid X has value A OR pid X has value B)
-When the parameter IDs are different, then these are treated as logical AND (= select where pid X has value A AND pid Y has value B)

In the given example for pid 1003 to retrieve values "2" or "4", this becomes:

List<ColumnFilter> filter = new List<ColumnFilter>
{
new ColumnFilter { Pid = 1003, Value = "2", ComparisonOperator = ComparisonOperator.Equal },
new ColumnFilter { Pid = 1003, Value = "4", ComparisonOperator = ComparisonOperator.Equal },
};

IEnumerable<object[]> filterTable = element.GetTable(1000).QueryData(filter);

Regards,

Marieke Goethals [SLC] [DevOps Enabler] Selected answer as best 20th September 2023
Leander Druwel [SLC] [DevOps Advocate] commented 19th September 2023

Alright, exactly what I was looking for. Thanks Laurens!

You are viewing 1 out of 1 answers, click here to view all answers.
Please login to be able to comment or post an answer.

My Dojo Points

0 Credits
0 Reputation

Question Tag Cloud

adl2099 (54) Alarm Console (53) alarms (70) alarm template (58) API (35) Automation (144) automation scipt (65) Automation script (95) backup (54) Cassandra (142) cloud (37) Connector (44) Correlation (42) Cube (114) Dashboard (134) Dashboards (136) database (64) DataMiner Cube (37) DIS (53) DMS (48) DOM (68) driver (48) DVE (43) Elastic (73) Elasticsearch (99) elements (49) Failover (90) GQI (51) HTTP (45) IDP (55) low code app (70) low code apps (43) MySQL (50) protocol (145) QAction (58) resources (35) security (71) SNMP (56) SRM (267) SRM resources (39) timeout (35) trending (66) upgrade (44) Visio (373) Visual Overview (290)
Privacy Policy • Terms & Conditions • Contact

© 2023 Skyline Communications. All rights reserved.

[ Placeholder content for popup link ] WordPress Download Manager - Best Download Management Plugin