1. all 函数

  • 作用: 清除筛选
  • 返回:清除筛选后的表格或列
  • 总结
    • 当all参数为表时,忽略所有的筛选条件,无论是该表内还是外部切片器
    • 当all参数为列时,忽略该列筛选(固定该列的值),其他图表字段或外部筛选对其产生影响
  • 注意:all函数在引用列的时候,必须与矩阵的行和列再同一张表
  • all(表)
    商品表中商品总数 = COUNTROWS('商品表')
    -- 在销售表中出现的商品数量(有些商品没有销售出去
    销售表中的商品数量 = calculate(COUNTROWS('商品表'),'销售表')
    -- 不具备筛选功能,只能总计,不根据商品行筛选,26为商品表的行数
    不能筛选的总数 = COUNTROWS(all('商品表'))
    占比 = [销售表中的商品数量]/[不能筛选的总数]
    
    在这里插入图片描述
  • all()函数的应用:计算销售表中每个商品的占比(应用于表)
    总销量 = sum('销售表'[销售数量])
    禁止筛选的总销量 = calculate([总销量],all('销售表'[销售数量]))
    每个商品的占比 = [总销量]/[禁止筛选的总销量]
    
    在这里插入图片描述
  • all()函数应用于列案例
    -- 新建列
    大类 = LOOKUPVALUE('商品表'[大类],'商品表'[商品编码],'销售表'[商品编码])
    规格 = LOOKUPVALUE('商品表'[规格],'商品表'[商品编码],'销售表'[商品编码])
    
    在这里插入图片描述
    -- 新建度量值
    取消列筛选 = CALCULATE([总销量],all('销售表'[规格]))
    
  • 设置切片器
    • 鼠标不要选中表
      在这里插入图片描述
      在这里插入图片描述

2. allselected 函数

  • allselected 函数替换all函数解决占比100%的问题
  • allselected 不收内部影响,受外部切片器影响,因为要符合百分比占比问题
    总销量 = sum('销售表'[销售数量])
    禁止筛选的总销量all = calculate([总销量],all('销售表'))
    禁止筛选的总销量allselected = calculate([总销量],allselected('销售表'))
    每个商品的占比all = [总销量]/[禁止筛选的总销量all]
    每个商品的占比allselected = [总销量]/[禁止筛选的总销量allselected]
    
    在这里插入图片描述

3. allexcept()函数

  • 语法:Allexcept(表名[列名]),除 表名[列名] 之外
  • 等同于all(表名[列名],表名[列名],表名[列名]…)

4. allnoblankrow() 函数

  • 格式

    • 表=allnoblankrow(‘子表’)
    • 表=allnoblankrow(‘子表’[姓名])
  • 返回值:去重(即便只有一列,他也是表)

  • all与allnoblankrow的区别

    • all函数会直接为父表增加一行"空行",这一行函数计算在内
    • allnoblankrow会忽略这一空行,只计算父表中存在的数据
  • 例一

    1=allnoblankrow('子表')2=allnoblankrow('子表'[姓名])
    

    在这里插入图片描述

  • 例二

    • all()和allnoblankrow()看不出区别
    行数1 = COUNTROWS('子表')
    行数2 = COUNTROWS(all('子表'))
    行数3 = COUNTROWS(ALLNOBLANKROW ('子表'))
    

    在这里插入图片描述

  • 例三

    • all与allnoblankrow的区别
      • all函数会直接为父表增加一行"空行",这一行函数计算在内
      • allnoblankrow会忽略这一空行,只计算父表中存在的数据
    行数 = COUNTROWS('子表')
    行数2 = COUNTROWS(all('父表'))
    行数3 = COUNTROWS ( ALLNOBLANKROW ( '父表 ' ) ) 
    

    在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐