当前位置: 首页 > 知识库问答 >
问题:

Jaspersoft Studio for DeployR中的新查询执行器

池照
2023-03-14
    <queryString language="deployrScript">
        <![CDATA[<deployr url="http://127.0.0.1:8000/deployr">
           <script filename="Cluster_Demo_Jasperserver.R" directory="root"  author="testuser"/>
        </deployr>]]>
    </queryString>
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="deployrSample" pageWidth="612" pageHeight="792" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="5a314889-9cd2-4943-ad5f-13ef1bd6ca74">
    <parameter name="RRP_plotwidth" class="java.lang.Double" isForPrompting="false">
        <defaultValueExpression><![CDATA[555]]></defaultValueExpression>
    </parameter>
    <parameter name="RRP_plotheight" class="java.lang.Double" isForPrompting="false">
        <defaultValueExpression><![CDATA[555]]></defaultValueExpression>
    </parameter>
    <parameter name="RRP_dataset" class="java.lang.String">
        <defaultValueExpression><![CDATA["iris"]]></defaultValueExpression>
    </parameter>
    <parameter name="RRP_clusters" class="java.lang.Integer">
        <defaultValueExpression><![CDATA[3]]></defaultValueExpression>
    </parameter>
    <parameter name="RRP_clustering_type" class="java.lang.String">
        <defaultValueExpression><![CDATA["hclust"]]></defaultValueExpression>
    </parameter>
    <queryString language="deployrScript">
        <![CDATA[<deployr url="http://127.0.0.1:8000/deployr">
    <script filename="Cluster_Demo_Jasperserver.R" directory="root" author="testuser"/>
</deployr>]]>
    </queryString>
    <field name="REPORT1" class="java.lang.String">
        <fieldDescription><![CDATA[file:cluster_output.png]]></fieldDescription>
    </field>
    <pageHeader>
        <band height="63" splitType="Stretch">
            <image>
                <reportElement x="30" y="10" width="50" height="37" uuid="4ce16c2b-5680-48b6-86e8-ce992c543a40"/>
                <imageExpression><![CDATA["C:/Users/aort.png"]]></imageExpression>
            </image>
        </band>
    </pageHeader>
    <detail>
        <band height="600" splitType="Stretch">
            <image scaleImage="RetainShape" hAlign="Center">
                <reportElement positionType="Float" x="100" y="40" width="353" height="218" uuid="f2294c37-5751-41f9-a3b4-fcfe80b69fec"/>
                <imageExpression><![CDATA[$F{REPORT1}]]></imageExpression>
            </image>
        </band>
    </detail>
</jasperReport>
library(cluster)

#uncomment these lines to test in standalone mode
dataset <- "mtcars"
clusters <- 4
clustering_type <- 'hclust'
plotwidth<-555
plotheight<-555


if (dataset == 'iris') {
  data <- iris[,1:4]
  df <-data.frame(data$Sepal.Length, data$Sepal.Width)

} else if (dataset == 'mtcars') {
  data <- mtcars
  df <-data.frame(data$drat, data$disp)
} else {
  stop("Enter a valid dataset")
}

if (clustering_type == 'kmeans') {

  fit <- kmeans(df, clusters)
  png("cluster_output.png", width=plotwidth, height=plotheight);
  clusplot(df, fit$cluster, color=TRUE, shade=TRUE, labels=0, lines=0, main = dataset)
  dev.off()

} else if (clustering_type == "hclust") {

  d <- dist(as.matrix(df))
  fit <-hclust(d)
  png("cluster_output.png", width=plotwidth, height=plotheight);
  plot(fit, main = dataset)
  dev.off()

} else  {
  stop ("enter a valid clustering type")
}
library(cluster)

#uncomment these lines to test in standalone mode
#dataset <- "iris"
#clusters <- 4
#clustering_type <- 'hclust'
#plotwidth<-555
#plotheight<-555
if (dataset == 'iris') {
  data <- iris[,1:4]
  df <-data.frame(data$Sepal.Length, data$Sepal.Width)

} else if (dataset == 'mtcars') {


data <- mtcars
  df <-data.frame(data$drat, data$disp)
} else {
  stop("Enter a valid dataset")
}

if (clustering_type == 'kmeans') {

  fit <- kmeans(df, clusters)
  png("cluster_output.png", width=plotwidth, height=plotheight);
  clusplot(df, fit$cluster, color=TRUE, shade=TRUE, labels=0, lines=0, main = dataset)
  dev.off()

} else if (clustering_type == "hclust") {

  d <- dist(as.matrix(df))
  fit <-hclust(d)
  png("cluster_output.png", width=plotwidth, height=plotheight);
  plot(fit, main = dataset)
  dev.off()

} else  {
  stop ("enter a valid clustering type")
}

共有1个答案

亢保赫
2023-03-14

您所学的教程似乎没有详细说明如何注册查询执行器(在DeployR Custom Client Library一节中的第9点)。

除了将jar文件添加到类路径之外,还需要在Jaspersoft Studio中设置如下属性:

net.sf.jasperreports.query.executer.factory.[your_query_language_name]=[the_canonical_name_of_your_query_executer_factory_class]

在您的情况下,您应该:

net.sf.jasperreports.query.executer.factory.deployrScript=com.revo.deployr.client.jasper.factory.RQueryExecuterFactory
 类似资料:
  • 一旦你建立好数据模型之后,django会自动生成一套数据库抽象的API,可以让你执行增删改查的操作。这篇文档阐述了如何使用这些API。关于所有模型检索选项的详细内容,请见数据模型参考。 在整个文档(以及参考)中,我们会大量使用下面的模型,它构成了一个博客应用。 from django.db import models class Blog(models.Model): name = mo

  • 问题内容: 我在Spring和mongodb中使用了hibernate JPA,并且我在Glassfish-4.0上运行我的应用程序。 我的服务类别是: 我的spring-context.xml是: 我在代码中应用了一些更改,但是它们没有效果。谁能帮我解决这个问题。提前致谢。 问题答案: 我不确定这是否会帮助你解决问题(即是否仍然存在),但是,在网上搜索类似问题之后。 我从持久性EntityMan

  • 执行查询 可以使用 execute() 和 query() 方法进行查询。execute() 方法会返回查询条数,query() 方法会返回结果。结果参照 PDOStatement <?php use Phinx\Migration\AbstractMigration; class MyNewMigration extends AbstractMigration { /**

  • Query 也可以直接执行一个SQL查询,即Select命令。在Postgres中支持原始SQL语句中使用 ` 和 ? 符号。 sql := "select * from userinfo" results, err := engine.Query(sql) 当调用 Query 时,第一个返回值 results 为 []map[string][]byte 的形式。 Query 的参数也允许传

  • 假设spring boot中有一个名为Person的类,其结构如下 人由一组电话号码组成。 是一个由上述字段组成的类,其中类别表示或等。 因此,每当我想要获取带有一些的详细信息时,我都会调用上面的方法,然后它应该获取详细信息,以及,其是。 方法应该是每当它在内部执行方法的查询时,它应该执行后续的查询来获取类别为的。我有没有办法得到上面提到的,或者有没有其他方法来实现它?请让我知道。 PS:如果在我

  • 问题内容: 他们俩都做同一件事,只是做事不同吗? 除了使用之间还有什么区别 和 ? 问题答案: 运行标准SQL语句,并要求您正确转义所有数据,以避免SQL注入和其他问题。 运行一个准备好的语句,该语句使您可以绑定参数,以避免需要转义或引用参数。如果您多次重复查询,效果也会更好。准备语句的示例: 最佳实践是坚持准备好的语句并提高安全性。