逍遥之

第 390 位会员
注册于 2018-10-26 15:55:59
活跃于 2020-03-10 20:14:14


  • WeChat
  • 城市
  • 求助如何计算精确用户数 at 2021-07-27 23:38:50

    分几步:

    1. 有编号的,去重计数即可。
    2. 无编号的,地址去重计数。
    3. 在2的基础上去匹配是否有和有编号的重复,再次去重
    4. 全部去重完毕后,就是根据匹配关系来看了,如果有基础数据表那就在匹配,如果没有的话就要循环全部来进行阙值的认定。
      这个工作不是dax来完成的,是数据清洗来完成的。
  • 在底层数据量大的情况下,通过什么手段提升 BI 端性能? at 2021-07-27 23:25:11

    优化公式是最主要的,如果涉及到多个嵌套迭代那速度就慢的要死了。

  • Power BI 筛选器单个值过滤值中包含多个值的方法 at 2021-07-27 23:21:07

    你的要求就是筛选出批量包含过滤值的列,可以尝试在添加列中输入公式,然后筛选返回结果是True的列。List.AnyTrue(List.Transform(过滤值表[期望的过滤值], (x)=>Text.Contains([需要过滤的值],x)))

  • pq 自定义格式 at 2021-07-27 23:06:56

    如果分列是有规则的,可以在添加列中填写对应的公式。
    List.Accumulate({7,12,17}, [数据], (x, y) => Text.Insert(x,y,"-"))

  • 表的替换值 at 2021-07-27 22:54:46

    你可以试试3个参数的函数,(x,y,z)=>Text.Replace(y,z,"")

  • 增加自定义列,编辑公式时提醒怎么做到的? at 2020-09-01 15:56:19

    用365的最新版肯定没问题。还是Excel版本 问题。

  • powerquery 发邮件就跟闹着玩似的? at 2020-01-06 14:13:55

    这个要登录微软的账号吧?

  • 关于行列转换 at 2019-10-23 13:22:54

    分组后提取数据后在进行合并组合。

    let
        源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
        分组的行 = Table.Group(源, {"大类"}, {{"计数", each _[明细]}}),
        提取标题 = Table.Transpose(Table.SelectColumns(分组的行,"大类")),
        提取内容 = Table.FromColumns(分组的行[计数]),
        标题内容合并 = 提取标题&提取内容,
        提升的标题 = Table.PromoteHeaders(标题内容合并, [PromoteAllScalars=true])
    in
        提升的标题
  • 如何采集同一网页地址,通过点击按钮的其他数据 at 2019-10-23 13:00:09

    都在同一个字段里面。

    file

  • 如何在 Power Query 中批量修改标题? at 2019-06-23 13:48:51

    @西瓜 这个确实更方便,再加个容错机制。List.RemoveNulls更好。

  • Power Pivot 购物篮分析分组 GENERATE 之笛卡尔积、排列、组合 at 2019-06-20 11:12:06

    如果产品组合是变动的,是不是相对来说就比较麻烦?因为这里都是用的常量而不是变量。如果是变量是不是还是要回到使用Power Query

  • 如何在 Power Query 中批量修改标题? at 2019-06-19 23:35:55

    @畅心 这个里面会有一个bug,这个是模糊替换而不是绝对替换

  • 不用猜 你那排列组合还在那比划半天 at 2019-06-18 21:19:23

    稍微有点错误。
    目前的是文本格式的,列表内,如果是数字的还得转换下。

  • 不用猜 你那排列组合还在那比划半天 at 2019-06-18 21:11:25

    在原有的代码上加工了下,做了一个通用性的自定义函数。

    let
    fx_all=(o as number, p as number,  replace_list as list)=>
    //replace_list是需要进行组合的列表数据。
    let
    origian_list={1..end_number},
    end_number=List.Count(replace_list),
    fx=(table as table, origian_list as list, replace_list as list, column_name as text)=>
        List.Accumulate(List.Zip({origian_list,replace_list}),table,(x,y)=>Table.ReplaceValue(x,y{0},y{1},Replacer.ReplaceText,{column_name})),
    
    fx1=(o as number,p as number,end_number as number)=>
    //o代表组合位数,0代表只有一位组合。p代表组合位数结束,如果只需要2位组合,则o和p都为1。
           List.Combine(
                   List.Transform({o..p}, //o代表组合位数
                                  (z)=>List.Accumulate({1..z},
                                                       List.Zip({{1..end_number}}),
                                                       (x,y)=>List.TransformMany(x,
                                                                                 each {_{y-1}+1..end_number},
                                                                                 (a,b)=>a&{b}
                                                                                 )
                                                     )
                                 )
                       ),
    
        自定义1 = fx1(o,p,end_number),
        转换为表 = Table.FromList(自定义1, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
        提取值 = Table.TransformColumns(转换为表, {"Column1", each Text.Combine(List.Transform(_, Text.From)), type text}),
        origian_list_new=List.Transform(origian_list, Text.From),
        替换的值 = List.Accumulate(List.Zip({origian_list_new,replace_list}),提取值,(x,y)=>Table.ReplaceValue(x,y{0},y{1},Replacer.ReplaceText,{"Column1"}))
    in
        替换的值,
    
    元数据=[Documentation.Name="批量组合",
           Documentation.Description="通过组合方式进行排列,o,p代表组合位数,0代表1位数组合,如果o和p都为1,则只排序2位组合,replace_list是需要进行组合的列表数据。",
           Documentation.Examples={[Description="把{1,2,3}组合成{1,2,3,12,13,23}",
                                 Code="fx(0,2,{1,2,3})",
                                 Result="{1,2,3,12,13,23}"],
    
                                 [Description="把{""a"",""b"",""c""}组合成{""ab"",""ac"",""bc"",""abc""}",
                                 Code="fx(1,2,{""a"",""b"",""c""})",
                                 Result="{""ab"",""ac"",""bc"",""abc""}"]
    
                                  }
                                  ]
    
    in
    Value.ReplaceType(fx_all,Value.Type(fx_all) meta 元数据)
  • 不用猜 你那排列组合还在那比划半天 at 2019-06-18 09:53:30

    分了2步走,先用数字组合,然后再批量替换。