• Power BI 中的 3D 效果


    前面的文章中有提到做出像动画的效果,链接地址使用Power BI 实现动画效果。那么就有小伙伴提问了,有没有3D效果呢?答案是肯定的,今天我们就来看一下。

    正投影是一种使用二维空间表示三维对象的方法。在Microsoft Power BI中,如果在组成(x,y,z)的三个独立列中具有一组坐标,则可以非常轻松地实现3D效果。在下面的示例中,我使用了具有从人脸轮廓中获取的坐标的数据集,并构建了一个报告,该报告允许用户沿三个轴旋转人脸。

    让我们看一下如何构建它。

    数据

    获取在三个单独的列中具有坐标的数据集。就我而言,我需要添加一个Index列,以便一旦将它们添加到Power BI中的视觉对象后就可以将所有点分解为唯一的行。您的数据可能看起来像这样:

    新建参数

    动态旋转依赖于“假设”参数。添加与三个轴相对应的三个“假设”参数。就我而言,我使用了-90到90度的可能旋转值,但是您可以使用0到360,-180到180等值。请确保选中“将切片器添加到此页面”选项。使用切片器可以使用户动态旋转对象。

    X Rotation = GENERATESERIES(-90,90, 1)

     

    X和Y度量

    通过添加以下两个措施,可以实现从三个坐标到2D平面的投影。确保调整顶部的列引用和假设参数名称,以与您自己的数据相对应。

    这是我的“正交x”度量。最初的六个粗体值是您需要调整以适合自己的数据和参数名称的值。

    Ortho x = 
    VAR x =
        MIN ( Coordinates[x] )
    VAR y =
        MIN ( Coordinates[y] )
    VAR z =
        MIN ( Coordinates[z] )
    VAR xDegrees =
        RADIANS ( 'X Rotation'[X Rotation Value] )
    VAR yDegrees =
        RADIANS ( 'Y Rotation'[Y Rotation Value] )
    VAR zDegrees =
        RADIANS ( 'Z Rotation'[Z Rotation Value] )
    VAR x0 = x
    VAR y0 =
        y * COS ( xDegrees )
            + z * SIN ( xDegrees )
    VAR z0 =
        z * COS ( xDegrees )
          - y * SIN ( xDegrees )
    VAR x1 =
        x0 * COS ( yDegrees )
            - z0 * SIN ( yDegrees )
    VAR y1 = y0
    VAR finalX =
        x1 * COS ( zDegrees )
            + y1 * SIN ( zDegrees )
    RETURN
        finalX

    这是我的“正交 y”测量。同样,前六个粗体值是您需要调整以适合自己的数据和参数名称的值。

    Ortho y = 
    VAR x =
        MIN ( Coordinates[x] )
    VAR y =
        MIN ( Coordinates[y] )
    VAR z =
        MIN ( Coordinates[z] )
    VAR xDegrees =
        RADIANS ( 'X Rotation'[X Rotation Value] )
    VAR yDegrees =
        RADIANS ( 'Y Rotation'[Y Rotation Value] )
    VAR zDegrees =
        RADIANS ( 'Z Rotation'[Z Rotation Value] )
    VAR x0 = x
    VAR y0 =
        y * COS ( xDegrees )
            + z * SIN ( xDegrees )
    VAR z0 =
        z * COS ( xDegrees )
            - y * SIN ( xDegrees )
    VAR x1 =
        x0 * COS ( yDegrees )
            - z0 * SIN ( yDegrees )
    VAR y1 = y0
    VAR finalY =
        y1 * COS ( zDegrees )
            - x1 * SIN ( zDegrees )
    RETURN
        finalY

    散点图

    一旦有了两个新的X和Y度量,就可以在报表中添加散点图。将X度量拖到X轴,将Y度量拖到Y轴,然后将其拖到Detail的唯一索引中。

    条件格式

    要使沿z轴的深度具有更好的视觉外观,请向散点图添加条件格式。转到格式并展开数据颜色。将鼠标悬停在该区域上,然后单击出现的[…],然后选择“  条件格式”。

    最后,我调整了一些其他格式选项,例如Shape,以减小点的大小。完成所有构建后,我现在在数据中有了一个“面孔”,该面孔从原始数据集中获取了3D坐标,并投影到了2D Power BI散点图上。

  • 相关阅读:
    乱谈服务器编程
    set global slow_query_log引起的MySQL死锁
    一个由string使用不当产生的问题
    Hbase初体验
    浅谈SQLite——查询处理及优化
    ACID、Data Replication、CAP与BASE
    libevent源码分析
    浅析Linux Native AIO的实现
    vim7.2中文乱码解决方法
    伸展树的点点滴滴
  • 原文地址:https://www.cnblogs.com/Javi/p/13523472.html
Copyright © 2020-2023  润新知