java dispo lock_Java Row.getAs方法代码示例

import org.apache.spark.sql.Row; //导入方法依赖的package包/类

private void start() {

Dataset householdDf = getHouseholdDataframe();

Dataset populationDf = getPopulationDataframe();

Dataset indexDf = joinHouseholdPopulation(householdDf, populationDf);

Dataset salesDf = getSalesData();

Dataset salesIndexDf = salesDf

.join(indexDf, salesDf.col("zipcode").equalTo(indexDf.col("zipcode")), "left")

.drop(indexDf.col("zipcode"));

salesIndexDf = salesIndexDf.withColumn("revenue_by_inh", salesIndexDf.col("revenue")

.divide(salesIndexDf.col("pop")));

salesIndexDf = salesIndexDf.orderBy(col("revenue_by_inh").desc());

Row bestRow = salesIndexDf.first();

double bestRevenuePerInhabitant = ((BigDecimal) bestRow.getAs("revenue_by_inh"))

.doubleValue();

int populationOfBestRevenuePerInhabitant = bestRow.getAs("pop");

double incomeOfBestRevenuePerInhabitant = bestRow.getAs("income_per_inh");

salesIndexDf = salesIndexDf.withColumn(

"best_revenue_per_inh",

salesIndexDf.col("pop").divide(salesIndexDf.col("pop"))

.multiply(bestRevenuePerInhabitant));

salesIndexDf = salesIndexDf.withColumn(

"pop_of_best",

lit(populationOfBestRevenuePerInhabitant));

salesIndexDf = salesIndexDf.withColumn(

"income_of_best",

lit(incomeOfBestRevenuePerInhabitant));

salesIndexDf = salesIndexDf.withColumn(

"idx_revenue",

salesIndexDf.col("best_revenue_per_inh")

.divide(salesIndexDf.col("revenue_by_inh")));

salesIndexDf = salesIndexDf.withColumn(

"idx_pop",

salesIndexDf.col("pop").divide(salesIndexDf.col("pop_of_best")));

salesIndexDf = salesIndexDf.withColumn(

"idx_income",

salesIndexDf.col("income_per_inh").divide(salesIndexDf.col("income_of_best")));

salesIndexDf = salesIndexDf.withColumn(

"index",

salesIndexDf.col("idx_revenue").multiply(salesIndexDf.col("idx_pop")

.multiply(salesIndexDf.col("idx_income"))));

salesIndexDf = salesIndexDf.withColumn(

"potential_revenue",

salesIndexDf.col("revenue").multiply(salesIndexDf.col("index")));

salesIndexDf = salesIndexDf

.drop("idx_income")

.drop("idx_pop")

.drop("idx_revenue")

.drop("income_of_best")

.drop("total_income")

.drop("revenue_by_inh")

.drop("pop_of_best")

.drop("best_revenue_per_inh")

.orderBy(salesIndexDf.col("potential_revenue").desc());

salesIndexDf.show();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Sub ExportMD04TableToExcel() '定义变量 Dim objSAP As Object Dim objMD04 As Object Dim objWorkbook As Workbook Dim objWorksheet As Worksheet Dim objRange As Range Dim i As Integer '创建SAP对象 Set objSAP = CreateObject("SAP.Functions") '连接SAP objSAP.Connection.System = "SAP系统名称" objSAP.Connection.Client = "SAP客户端编号" objSAP.Connection.User = "SAP用户名" objSAP.Connection.Password = "SAP密码" objSAP.Connection.Language = "EN" objSAP.Connection.ApplicationServer = "SAP应用服务器名称" objSAP.Connection.SystemNumber = "SAP系统编号" objSAP.Connection.UseSAPLogonIni = False objSAP.Connection.UseSAPGui = True objSAP.Connection.Connect '创建MD04对象 Set objMD04 = objSAP.Add("RFC_READ_TABLE") '设置参数 objMD04.Exports("QUERY_TABLE") = "MD04" objMD04.Exports("ROWCOUNT") = 0 '执行函数 objMD04.Call '创建Excel对象 Set objWorkbook = Application.Workbooks.Add Set objWorksheet = objWorkbook.Sheets(1) '写入表头 objWorksheet.Cells(1, 1).Value = "Material" objWorksheet.Cells(1, 2).Value = "Plant" objWorksheet.Cells(1, 3).Value = "MRP Element" objWorksheet.Cells(1, 4).Value = "Reqmt Date" objWorksheet.Cells(1, 5).Value = "Open Qty" '获取数据 For i = 1 To objMD04.Tables("DATA").RowCount '写入数据 objWorksheet.Cells(i + 1, 1).Value = objMD04.Tables("DATA").Cell(i, "MATNR") objWorksheet.Cells(i + 1, 2).Value = objMD04.Tables("DATA").Cell(i, "WERKS") objWorksheet.Cells(i + 1, 3).Value = objMD04.Tables("DATA").Cell(i, "DISPO") objWorksheet.Cells(i + 1, 4).Value = objMD04.Tables("DATA").Cell(i, "BDTER") objWorksheet.Cells(i + 1, 5).Value = objMD04.Tables("DATA").Cell(i, "OPEN_REQ_QTY") Next i '自动调整列宽 objWorksheet.Columns.AutoFit '保存Excel文件 objWorkbook.SaveAs "MD04 Table.xlsx" '释放对象 Set objRange = Nothing Set objWorksheet = Nothing Set objWorkbook = Nothing Set objMD04 = Nothing Set objSAP = Nothing End Sub

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值