有关 性能优化 萌新有点迷

Power Pivot 初出茅庐 ⋅ 于 2020-06-17 13:42:08 ⋅ 1702 阅读

关于dax和可视化对象加载的性能优化方面
某页面数据加载很慢整体数据25万行单大平表

在powerbi性能分析器中分析发现某表最慢需要24秒
复制出该表的查询到daxstudio中发现其他筛选器(9个自建的自由筛选维度,14个度量值计算字段)会在summarizecolumns中分组计算,但实际用到全部外部筛选的可能只有两个度量值,其余度量值可能仅仅用到两三个筛选,那其余度量值的分组计算是不是属于性能浪费?
需要优化的话,优化方向就是减少自定义的筛选器数量(可以改用书签等操作),减少拖拽的计算字段?
那还有没有别的方向可以优化速度


// DAX Query
DEFINE
  VAR __DS0FilterTable = 
    FILTER(KEEPFILTERS(VALUES('日期粒度参数'[日期粒度参数])), '日期粒度参数'[日期粒度参数] = 7)

  VAR __DS0FilterTable2 = 
    TREATAS({"现金消费"}, '价值维度'[维度])

  VAR __DS0FilterTable3 = 
    FILTER(KEEPFILTERS(VALUES('价值尺度1'[价值尺度1])), '价值尺度1'[价值尺度1] <= 500)

  VAR __DS0FilterTable4 = 
    FILTER(
      KEEPFILTERS(VALUES('价值尺度2'[价值尺度2])),
      AND('价值尺度2'[价值尺度2] >= 1, '价值尺度2'[价值尺度2] <= 200)
    )

  VAR __DS0FilterTable5 = 
    FILTER(KEEPFILTERS(VALUES('日期粒度参数2'[日期粒度参数2])), '日期粒度参数2'[日期粒度参数2] = 30)

  VAR __DS0FilterTable6 = 
    TREATAS({"签约"}, '价值维度2'[维度])

  VAR __DS0FilterTable7 = 
    TREATAS({"绝对日期"}, '日期智能选择'[日期智能选择])

  VAR __DS0FilterTable8 = 
    FILTER(
      KEEPFILTERS(VALUES('日期表'[日期])),
      AND('日期表'[日期] >= DATE(2020, 5, 1), '日期表'[日期] < DATE(2020, 6, 1))
    )

  VAR __DS0FilterTable9 = 
    TREATAS({"搜索词"}, '关键词/搜索词切片'[词维度选择])

  VAR __ApplyFilterSQDS0 = 
    TOPN(
      10,
      SUMMARIZECOLUMNS(
        '词'[词],
        __DS0FilterTable,
        __DS0FilterTable2,
        __DS0FilterTable3,
        __DS0FilterTable4,
        __DS0FilterTable5,
        __DS0FilterTable6,
        __DS0FilterTable7,
        __DS0FilterTable8,
        __DS0FilterTable9,
        "资源", '度量值'[资源]
      ),
      [资源],
      0
    )

EVALUATE
  TOPN(
    502,
    SUMMARIZECOLUMNS(
      ROLLUPADDISSUBTOTAL('词'[词], "IsGrandTotalRowTotal"),
      __DS0FilterTable,
      __DS0FilterTable2,
      __DS0FilterTable3,
      __DS0FilterTable4,
      __DS0FilterTable5,
      __DS0FilterTable6,
      __DS0FilterTable7,
      __DS0FilterTable8,
      __DS0FilterTable9,
      __ApplyFilterSQDS0,
      "现金消费", '度量值'[现金消费],
      "展现", '度量值'[展现],
      "点击", '度量值'[点击],
      "资源", '度量值'[资源],
      "签约", '度量值'[签约],
      "签约额", '度量值'[签约额],
      "点击率", '度量值'[点击率],
      "点击均价", '度量值'[点击均价],
      "成本", '度量值'[成本],
      "产出", '度量值'[产出],
      "前期筛选", '度量值'[前期筛选],
      "后期筛选", '度量值'[后期筛选],
      "单笔", '度量值'[单笔],
      "转化率", '度量值'[转化率],
      "筛选变动", '度量值'[筛选变动],
      "条件格式背景颜色筛选变动", IGNORE('度量值'[条件格式背景颜色筛选变动])
    ),
    [IsGrandTotalRowTotal],
    0,
    [现金消费],
    0,
    '词'[词],
    1
  )

ORDER BY
  [IsGrandTotalRowTotal] DESC, [现金消费] DESC, '词'[词]
成为第一个点赞的人吧 :bowtie:
回复数量: 0
    暂无评论~~
    • 请务必阅读并严格遵守《社区管理规范与使用说明》
    • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
    • 支持表情,使用方法请见 发送表情,可用的 Emoji 见 :metal: :point_right: Emoji 列表 :star: :sparkles:
    • 上传图片, 支持拖拽和剪切板粘贴上传, 格式限制 - jpg, png, gif
    • 不支持上传附件,请尽可能用文字和图片将问题描述清楚,如实在需要上传附件,可上传到 共享网盘 后分享链接
    • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
      请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
    Ctrl+Enter