gpt4 book ai didi

c# - 使用 Fill in ADOMD 限制检索的行数

转载 作者:行者123 更新时间:2023-12-02 11:16:19 25 4
gpt4 key购买 nike

以下 C# 代码运行 DAX 语句并检索数据表。这工作正常,但现在我需要从数据库中检索最多 N 行。有没有办法限制 Fill 返回的行数功能?如果没有,我如何检索前 N 行?请注意,我需要为任何 DAX 语句保留此泛型,因此您不应更改 DAX 本身。另外,我不想检索所有数据然后取前 N 行,因为数据可能太大。

    public static DataTable runDaxStatement(int maxRows) {

var con = ConfigurationManager.ConnectionStrings["Default"].ConnectionString;
AdomdConnection conn = new AdomdConnection(con);

DataSet ds = new DataSet();
ds.EnforceConstraints = false;
AdomdCommand cmd = new AdomdCommand("evaluate customers", conn);
AdomdDataAdapter da = new AdomdDataAdapter(cmd);
da.Fill(ds);

return ds.Tables[0];

}

最佳答案

遇到以下TOPN function在文档中。

这可用于返回指定表的前 N ​​行。

例如

public static DataTable runDaxStatement(int maxRows) {
var connectionString = ConfigurationManager.ConnectionStrings["Default"].ConnectionString;
using(AdomdConnection connection = new AdomdConnection(connectionString)) {
string commandText = $"EVALUATE TOPN({maxRows}, customers, <orderBy_expression_here>)";
AdomdCommand command = connection.CreateCommand();
command.CommandText = commandText;

DataSet dataSet = new DataSet(){
EnforceConstraints = false
}

AdomdDataAdapter adapter = new AdomdDataAdapter(command);
adapter.Fill(dataSet);

return dataSet.Tables[0];
}
}

关于c# - 使用 Fill in ADOMD 限制检索的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62327975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com