<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[DCI Summary Table to Excel Query]]></title><description><![CDATA[<p dir="auto">Is there a way to run the DCI Summary table on all server nodes from excel? I tested running a query on NetXMS from within excel and was able to.</p>
<p dir="auto">Currently I export the data from the DCI Summary Table to excel and run custom reports on drive space needs. Just looking for away to automate this process and will be looking into the reporting addon of NetXMS as well.</p>
]]></description><link>https://forum.netxms.org/topic/3746/dci-summary-table-to-excel-query</link><generator>RSS for Node</generator><lastBuildDate>Fri, 13 Nov 2026 16:17:14 GMT</lastBuildDate><atom:link href="https://forum.netxms.org/topic/3746.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 01 May 2015 07:48:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to DCI Summary Table to Excel Query on Fri, 01 May 2015 19:44:45 GMT]]></title><description><![CDATA[<p dir="auto">You can automate it a bit using nxshell (which is python internally) – generate CSV or xlsx file.<br />
However, if you want fully automated reports – you need to use some kind of reporting engine, either built-in Jasper or some external solution.</p>
<p dir="auto">Sample script which export summary table into csv file:</p>
<pre><code>#!/usr/bin/env python
# -*- coding: utf-8 -*-

import csv, sys

menuPath = "Table1" # Table's "Menu Path"
baseObjectId = 2 # Infrastructure Services
outputFile = 'test.csv'

for table in session.listDciSummaryTables():
    if table.getMenuPath() == menuPath:
        result = session.queryDciSummaryTable(table.getId(), baseObjectId)
        if result:
            with open(outputFile, 'w') as f:
                w = csv.writer(f, dialect='excel')
                columns = []
                for c in result.getColumns():
                    columns.append(c.getDisplayName())
                w.writerow(columns) # Header

                for row in result.getAllRows():
                    cells = []
                    for i in range(0, row.size()):
                        cells.append(row.get(i).getValue())
                    w.writerow(cells)
</code></pre>
]]></description><link>https://forum.netxms.org/post/16734</link><guid isPermaLink="true">https://forum.netxms.org/post/16734</guid><dc:creator><![CDATA[alk]]></dc:creator><pubDate>Fri, 01 May 2015 19:44:45 GMT</pubDate></item></channel></rss>