Power BI动画传奇

use*_*134 12 powerbi

我正在使用地理层次结构.我想在我的线条或带状图表上显示基于切片机选择的下一个最低相关细节水平.

目标: 没有切片机选择产生区域图表(东南,东北等线).从Slicer中选择"Northeast"区域会产生一个状态图表(缅因州,新罕布什尔州等等)从Slicer中选择"Maine"状态会产生一个县图,依此类推.

我可以使用HASONEVALUE和VALUES的组合在卡中执行此操作以获得动态单值.但是,功能区或折线图的"图例"字段不接受此类措施.

有没有办法根据切片器选择创建带有动态图例的Power BI Line或Ribbon图表?

我不想为所有层次结构节点创建单独的度量,因为有数千个可能的叶子.

Ale*_*son 6

假设我有一些美国最大的20个县的人口数据,如下所示:

Data = DATATABLE(
       "Rank", INTEGER, "Region", STRING, "County", STRING, "State", STRING,
       "2010", INTEGER, "2012", INTEGER, "2014", INTEGER,
       {{1,"West","Los Angeles","California",9818605,9826773,9826773},
        {2,"Midwest","Cook","Illinois",5194675,5199971,5199971},
        {3,"South","Harris","Texas",4092459,4109362,4109362},
        {4,"South","Maricopa","Arizona",3817117,3824834,3824834},
        {5,"West","San Diego","California",3095313,3105115,3105115},
        {6,"West","Orange","California",3010232,3017598,3017598},
        {7,"South","Miami-Dade","Florida",2496435,2503034,2503034},
        {8,"Northeast","Kings","New York",2504700,2508515,2508515},
        {9,"South","Dallas","Texas",2368139,2375207,2375207},
        {10,"Northeast","Queens","New York",2230722,2233895,2233895},
        {11,"West","Riverside","California",2189641,2202978,2202978},
        {12,"West","San Bernardino","California",2035210,2042027,2042027},
        {13,"West","King","Washington",1931249,1937157,1937157},
        {14,"West","Clark","Nevada",1951269,1953927,1953927},
        {15,"South","Tarrant","Texas",1809034,1816850,1816850},
        {16,"West","Santa Clara","California",1781642,1786267,1786267},
        {17,"South","Broward","Florida",1748066,1752122,1752122},
        {18,"South","Bexar","Texas",1714773,1723561,1723561},
        {19,"Midwest","Wayne","Michigan",1820584,1815246,1815246},
        {20,"Northeast","New York","New York",1585873,1587481,1587481}
       })
Run Code Online (Sandbox Code Playgroud)

使用此数据作为查询编辑器中的源,我们将生成两个表。第一个将是一张Fact不折不扣的年份的表,看起来像前三个县的表:

前三县

第二将是一个Bridge表,这只是一个独特的名单RegionStateCounty组合:

桥台

我们将使用DAX创建一个最终表。这是我们的Legend桌子。

Legend = UNION(SUMMARIZECOLUMNS(Fact[Region], Fact[Rank], "Level", 1),
             SUMMARIZECOLUMNS(Fact[State], Fact[Rank],  "Level", 2),
             SUMMARIZECOLUMNS(Fact[County], Fact[Rank],  "Level", 3)
             )
Run Code Online (Sandbox Code Playgroud)

确保在Rank列上设置了关系,以便您的关系图如下所示:

关系图

现在,我们将编写一个利用我们刚刚在Legend表中创建的级别的度量。

Measure = 
    VAR StateCount = CALCULATE(DISTINCTCOUNT(Bridge[State]),
                         ALLSELECTED(Bridge), ALLSELECTED(Legend))
    VAR RegionCount = CALCULATE(DISTINCTCOUNT(Bridge[Region]),
                          ALLSELECTED(Bridge), ALLSELECTED(Legend))
    VAR LevelNumber = SWITCH(TRUE(), StateCount = 1, 3, RegionCount = 1, 2, 1)
    RETURN CALCULATE(SUM(Fact[Population]), Legend[Level] = LevelNumber)
Run Code Online (Sandbox Code Playgroud)

基本上,我们只想显示适当级别的人口。

在带有Legend[Region]图例框和Fact[Year]轴的折线图上使用此度量,将切片器留为空白时,结果如下所示:

没有选择

当选择一个区域然后选择一个州时,我们得到以下信息:

区域州


这是我为此创建的PBIX文件的链接:Variable Legend.pbix