焦棚子

焦棚子
第 59 位会员
注册于 2018-08-28 09:13:03
活跃于 2020-04-06 21:36:55


  • 按类别聚合各列的值 at 2019-08-02 23:10:12

    @星霜 太过奖了,相互学习。

  • 请问两列,一列文本列,一列数值列,怎么转换为以文本列为标题的多列数据 at 2019-08-02 22:51:36

    file

    let
        源 = Table.Buffer(Excel.CurrentWorkbook(){[Name="demo"]}[Content]),
        NL = List.Buffer(Table.ColumnNames(源)),
        RL = (N)=>{NL{2+N},NL{7+N},NL{12+N}},
        fx = (T as table,N as number)=> Table.ToRecords(Table.SelectColumns(T, RL(N)   )){0},
        TL = List.Transform({1..5},(F)=>Table.ExpandRecordColumn(Table.Group(源, {"姓名", "性别", "年龄"}, {{"TB", each  fx(_,F) }}), "TB", RL(F), {"尺码", "颜色", "品类"})),
        合并 = Table.Combine(TL),
        干掉null = Table.SelectRows(合并, each [尺码] <> null and [颜色] <> null and [品类] <> null)
    in
        干掉null

    测试了1万行,秒出,但是我觉得你逆透视就好了,为什么要这么做呢?

    file

  • 按类别聚合各列的值 at 2019-08-02 12:13:16

    行上下转换筛选上下的一个拓展。

    file

  • 在两个表 merge & Expand 之后,原来 Text.Combine 的内容顺序变了 at 2019-07-31 17:30:15

    排序的问题。

  • 如何按时间段汇总某一列的值 at 2019-07-26 11:49:18

    1、关系建立
    2、如果是虚线关系用calculate+USERELATIONSHIP
    3、你外部筛选条件没有体现
    4、按照每月的话用MTD除以distinctcount订单号就好了。

  • 多条件的表,如何逆求和计算单个值? at 2019-07-15 14:43:26

    @天天吃鸡
    排序用日期就可以。
    jiaopengzi@qq.com

  • 多条件的表,如何逆求和计算单个值? at 2019-07-13 23:22:00

    @天天吃鸡

    用一个逻辑来做吧,虽然长一点,效率高,亲测1万条,妙出。

    let
        源 = Excel.CurrentWorkbook(){[Name="demo"]}[Content],
        类型 = Table.Buffer(Table.TransformColumnTypes(源,{{"月份", type date}, {"条件1", type text}, {"条件2", type text}, {"累计值", Int64.Type}})),
        排序 = Table.Sort(类型,{{"条件1", Order.Ascending}, {"条件2", Order.Ascending}, {"累计值", Order.Ascending}}),
        索引0 = Table.AddIndexColumn(排序, "索引_0", 0, 1),
        索引1 = Table.AddIndexColumn(排序, "索引_1", 1, 1),
        分组初始值 = Table.Group(排序, {"条件1", "条件2"}, {{"初始值", each List.Min([累计值]), Int64.Type}}),
        合并初始值 = Table.NestedJoin(索引0, {"条件1", "条件2"}, 分组初始值, {"条件1", "条件2"}, "分组初始值", JoinKind.LeftOuter),
        展开初始值 = Table.ExpandTableColumn(合并初始值,"分组初始值",{"初始值"}),
        合并索引1 = Table.NestedJoin(展开初始值, {"索引_0"}, 索引1, {"索引_1"}, "索引_1", JoinKind.LeftOuter),
        展开索引1 = Table.ExpandTableColumn(合并索引1, "索引_1", {"累计值"}, {"累计值1"}),
        当前值 = Table.AddColumn(展开索引1, "计算当前值", each if [累计值]=[初始值] then [累计值] else [累计值]-[累计值1],Int64.Type),
        结果 = Table.SelectColumns(当前值,{"月份", "条件1", "条件2", "累计值", "计算当前值"})
    in
        结果
  • Power Pivot 特殊结算日期及财年日期 at 2019-07-12 08:29:35

    @遇见甜津津 已发送。

  • Power Pivot DAX 累计至今,历史累计至今 at 2019-07-12 08:29:09

    @遇见甜津津 已发送。

  • 多条件的表,如何逆求和计算单个值? at 2019-07-11 17:48:11
    let
        源 = Excel.CurrentWorkbook(){[Name="demo"]}[Content],
        类型 = Table.TransformColumnTypes(源,{{"月份", type date}, {"条件1", type text}, {"条件2", type text}, {"累计值", Int64.Type}, {"当月值", Int64.Type}}),
        计算 = Table.AddColumn(类型, "计算当月值", each  let t1= Table.SelectRows(Table.Group(类型, {"条件1", "条件2"}, {{"T", each _}}),(X)=>X[条件1]=[条件1] and X[条件2]=[条件2] )[T]{0} in  let n =List.PositionOf(t1[月份],[月份]) in  if n=0 then t1[累计值]{0} else t1[累计值]{n}- t1[累计值]{n-1} ,Int64.Type )
    in
        计算

    file

    你的2017/3/1 B 乙的当月值是错的吧?

  • 怎么写关于财务年的 月累计 季度累计 年累计 的 dax at 2019-07-11 08:30:09
  • 如何自动提取报表里的总计到新建列 at 2019-07-09 20:03:53

    @zhuchu
    你最好写个示例,没看见你的最终要的结果。
    至于你说的pq的子问题,在模型中能解决不会在pq里面写,如果非要写Table.AddColumn(源, "自定义", each List.Sum(源[value]))

  • 如何自动提取报表里的总计到新建列 at 2019-07-09 14:18:36
    var n=calculate(sum(b),all(年份))//n就是你说的7的动态变化

    或者,看你的实际情况嘛。

    var n=calculate(sum(b),allselected(年份))//n就是你说的7的动态变化
    
  • 如何判定当前行的 true or false at 2019-07-04 09:24:07

    file

    这就是活生生的索引行的概念,在dax中不是这么玩的;基本能猜到你要做什么,其实可以用dax其他的概念来解决,思维应该还是用excel里面的行的概念,其实当你说上一行的时候,你你已经默认有索引了,不然你无法锁定什么是上一行,所以在数据处理的时候比如pq的时候就加入索引,问题就解决多了。
    如下是用dax仿照pq的加索引。

    DEFINE
        VAR T0 =
            SUBSTITUTEWITHINDEX (
                ADDCOLUMNS ( data, "R", data[日期], "X", data[姓名], "D", data[单价] ),
                "INDEX", data,
                data[日期], ASC
            )
        VAR T1 =
            ADDCOLUMNS (T0,"TF",
                VAR N = [INDEX]
                VAR T11 = FILTER ( T0, [INDEX] = N - 1 )
                VAR R1 =SUMX ( T11, [R] )
                VAR X1 = CONCATENATEX ( T11, [X] )
                RETURN
                    [R] = R1&& [X] = X1
            )
    EVALUATE
    T1
  • Power Pivot 之 HR 入离调转、在职、离职率相关指标 at 2019-07-01 11:20:37

    @行者
    如果是计算一个总人数的话是可以的,主要是要细化到部门去,还要关联异动,这样就不行了。
    看你自己的指标定义。