Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powerbi 根据切片器选择的表格可视_Powerbi_Dax - Fatal编程技术网

Powerbi 根据切片器选择的表格可视

Powerbi 根据切片器选择的表格可视,powerbi,dax,Powerbi,Dax,我有一个可视化表格,其中应该有每个分支机构的员工总数(根据切片器中的区域选择)、公司总数 要求:如果在切片器中选择了北部区域,则可视化表格应显示北部区域中分支的值 问题:我无法根据切片器在可视表中获取分支值 我尝试为一个分支创建一个度量值,并将其添加到可视化视图中,但当选择另一个区域时,没有数据 有关更多详细信息,请参见下面的屏幕截图: 我采取的措施包括: Company Total = VAR _TotalAvg = CALCULATE ( CALCULATE (

我有一个可视化表格,其中应该有每个分支机构的员工总数(根据切片器中的区域选择)、公司总数

要求:如果在切片器中选择了北部区域,则可视化表格应显示北部区域中分支的值

问题:我无法根据切片器在可视表中获取分支值

我尝试为一个分支创建一个度量值,并将其添加到可视化视图中,但当选择另一个区域时,没有数据

有关更多详细信息,请参见下面的屏幕截图:

我采取的措施包括:

Company Total = 
VAR _TotalAvg =
    CALCULATE (
        CALCULATE (
            DISTINCTCOUNT ( EmployeeCount[EmployeeID]),
            ALL (Branch[Region] ),
            ALLSELECTED ( 'Date'[Year] )
        )
    )
RETURN
    IF (
        HASONEVALUE ( EmployeeCount[weeknum]),
        _TotalAvg,
        SUMX ( VALUES ( EmployeeCount[weeknum]), _TotalAvg )
    )
下面是一个示例,用于显示值应如何显示所选区域中所有分支的可视表

Manang = CALCULATE (
    DISTINCTCOUNT ( EmployeeCount[EmployeeID]),
    FILTER ( branch, branch[Branch] = "Manang" )
)
有人能告诉我如何才能做到这一点吗

这里是一个精简的.pbix文件,位于一个驱动器上


感谢

无法根据切片器选择动态更改可视化表格中显示的度量值

取而代之的是,考虑使用一个矩阵Visual,一个新的基于.Cuffer-Excel(EngsCurnt[EsWorkIDI])的度量,然后在Visual./P>中使用分支作为列切片器。 不幸的是,这种技术也会对每个分支重复[Company Total]度量,这可能不是您想要的


一般来说,对于这些“列表”类型的报表,请考虑使用,这样可以更精细地控制数据如何以行和列显示。

< P>没有简单的方法,但在技术上是可能的。

如果有必要,我会大致如下:

  • 创建一个计算表,
    slicer
    ,用于区域切片器和分支列,使用类似于
    summary(branch,branch[region],branch[branch])

  • 将该表与区域和度量的叉积合并。也就是说,区域
    {NORTH,SOUTH}
    和您想要使用的任何度量名称,
    {weeknum,dayofweek,CompanyTotal}

  • 创建一个切换度量值,读取切片器表的
    分支
    列(现在也包括度量值名称),并返回相应的度量值。大概是这样的:
  • 在矩阵中,将
    StartDate
    放在行中,将
    slicer[branch]
    放在列中,将
    [Switching Measure]
    放在值中



    正如@Dan所指出的,可能有更好的工具来完成这项工作,但如果你真的需要,有时也可以找到解决办法。

    谢谢你的意见。我不知道分页的报表生成器,我会看看。这是绝对可能的。我在许多报告中使用了
    开关
    @AlexisOlson来实现这一点。的确,您可以使用开关更改单个度量值的内容,但OP要求根据切片器上的选择动态添加或删除视觉中的多个度量值,因此,可视化视图中显示的列总数将根据所选内容而变化。DAX不会帮助您实现这一点,因为这是一个如何在屏幕上显示数据的问题。感谢您的澄清。使用断开连接的参数表仍然可以做到这一点,但相当粗糙。下面是我的一份报告中的一个示例,其中显示的度量值是动态选择的,导航度量值只显示一次:对。您可能会将日期作为行中唯一的项目,并将
    weeknum
    dayofweek
    重新创建为度量值,而不是行字段,并确保它们不会在每个分支中重复。嘿@alexis,请您详细说明您的答案的步骤2好吗?我无法执行第2步。如果需要,我还向.pbix文件添加了一个驱动器链接。请您提供第2步的输入。嘿@alexis,谢谢您的编辑。我能够按照你所说的完成步骤,但我没有得到矩阵viz上的公司总体度量。我使用了与您提供的切换度量相同的代码。我错过什么了吗?
    CrossJoinTable =
    CROSSJOIN (
        SELECTCOLUMNS ( { "North", "South" }, "Region", [Value] ),
        SELECTCOLUMNS ( { "weeknum", "DayOfTheWeek", "CompanyTotal" }, "Measure", [Value] )
    )
    
    
        Switching Measure = 
        VAR branch = SELECTEDVALUE(slicer[branch])
        RETURN
            SWITCH ( branch,
                "weeknum", [weeknum measure],
                "DayOfTheWeek", [DayOfTheWeek measure],
                "Company Total", [Company Total],
                CALCULATE(
                    DISTINCTCOUNT ( EmployeeCount[EmployeeID] ),
                    branch[Branch] = branch
                )
            )