M查询几个例子

= Table.Group(Source, {"Column1"}, {{"Column2", each [Column2], type list}, {"Column3", each Text.Combine([Column2], " "), type text}})


(page) => let
 Source = Web.Page(Web.Contents(“http://XXX/page/” & Number.ToText(page))),
 Data0 = Source{0}[Data]
 in
 Data0

let
 Source = Table.Combine(List.Transform({1..10}, Query))
 in
 Source

[
 Source = Excel.CurrentWorkbook(){[Name="TABLE"]}[Content],
 SourceTable = Table.AddIndexColumn(Source,"RowNo",1),
 AddPayeeID = Table.FillDown(Table.AddColumn(SourceTable,"PayeeID", each if [Full Name] = null then null else [RowNo]),"PayeeID"),
 AddClaimID = Table.FillDown(Table.AddColumn(AddPayeeID,"ClaimID", each if [Claim Date] = null then null else [RowNo]),"ClaimID"),
 modSource = Table.FillDown(Table.AddColumn(AddClaimID,"ClaimItemID", each if [Start Date] = null then null else [RowNo]),"ClaimItemID"),
 PayeeTable = Table.SelectRows(Table.SelectColumns(modSource,{"Full Name","Grade","PayeeID"}), each [Full Name] <> null),
 ClaimsTable1 = Table.SelectRows(Table.SelectColumns(modSource,{"Claim Date","Payment Date","ClaimID","PayeeID","Status","Total Claimed","Amount Paid"}), each [Claim Date] <> null),
 ClaimsTable = Table.TransformColumns(ClaimsTable1,{{"Total Claimed",each if _ = "NULL" then 0 else _},{"Amount Paid",each if _ = "NULL" then 0 else _}}),
 ClaimsItemsTable = Table.SelectRows(Table.SelectColumns(modSource,{"Start Date","ClaimID","PayeeID","ClaimItemID","Expense Type","Euro Line Amount"}), each [Start Date] <> null),
 ClaimsItemsDetailsTable = Table.SelectRows(Table.SelectColumns(modSource,{"ClaimID","PayeeID","ClaimItemID","Quantity","Unit","Net Total (EUR)"}), each [#"Net Total (EUR)"] <> "NULL")
]


let
    days={1..31},
    months={1..12},
    years={2000..2010},
    monthLU={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"},
    dayT=Table.FromList(days,each {_},{"Day"}),
    monthT=Table.FromList(months,each {_},{"Month"}),
    yearT=Table.FromList(years,each {_},{"Year"}),
    dayJ = Table.AddColumn(dayT, "joiner", each 1),
    monthJ = Table.AddColumn(monthT, "joiner", each 1),
    yearJ = Table.AddColumn(yearT, "joiner", each 1),
    yearmonth=Table.Join(yearJ,"joiner",monthJ,"joiner"),
    yearmonthday=Table.Join(yearmonth,"joiner",dayJ,"joiner"),
    addDate=Table.AddColumn(yearmonthday,"Date",each let x = try #date([Year],[Month],[Day])
                                                     in if x[HasError]
                                                     then #date(1,1,1)
                                                     else x[Value]),
    removeErrors=Table.SelectRows(addDate,each not([Date]=#date(1,1,1))),
    cleanCols=Table.SelectColumns(removeErrors,{"Date","Year","Month"}),
    renameCols = Table.RenameColumns(cleanCols,{"Month","MonthNo"}),
    addtextDate = Table.AddColumn(renameCols,"TextDate",each Date.ToText([Date],"YYYYMMDD")),
    addQtr = Table.AddColumn(addtextDate,"Qtr",each "Qtr" & Text.From(Date.QuarterOfYear([Date]))),
    DateDim = Table.AddColumn(addQtr,"Month",each monthLU{[MonthNo]-1})
in
    DateDim

贪心算法是一种简单且常用的算法思想,在解决一些优化问题时非常高效。下面是几个经典的使用贪心算法的例子: 1. 找零钱问题:假设有一定面额的硬币,如1元、5元、10元、20元等,并且数量无限。现在要找给客户m元的零钱,如何使用最少的硬币数量?贪心算法的思想是从面额最大的硬币开始尽可能多地使用。 2. 区间调度问题:给出一组区间,求解最多能够选择多少个互不重叠的区间。贪心算法的思想是按照区间的结束时间排序,然后依次选择结束时间最早的区间。 3. 最小生成树问题:给出一个无向图,边带有权值,求解一个最小生成树,即含有所有顶点的连通子图并且权值和最小。贪心算法的思想是从一个任意顶点开始,每次选择一条权值最小的边,并且要保证不构成回路。 4. 背包问题:给出一组物品,每个物品有自己的价值和重量,并且背包只能承受一定的重量。现在要选择一些物品放入背包中,使得总价值最大。贪心算法的思想是按照物品的单位价值(价值/重量)排序,然后依次选择单位价值最高的物品放入背包。 以上是几个常见的使用贪心算法的经典例子。贪心算法虽然简单,但并不一定能够得到全局最优解,它只能得到局部的最优解。因此,在使用贪心算法时需要注意验证其正确性,并且多结合其他算法思想进行优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值